| Autor |
Beitrag |
Naemo
Hält's aus hier
Beiträge: 10
|
Verfasst: Di 23.01.07 18:18
Hi
Hab für Info nen Stringgrid, wo ich ne Tausendertafel darstellen soll. Die Tafel soll von 0 bis 1000 gehen, aber es werden immer nur 100 Felder angezeigt.
Un da hab ich jetz nen kleines Problem.
Hab bis jetzt nur geschaft, das die erste Reihe in richtiger Reihenfolge ausgegeben wird
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm3.Button2Click(Sender: TObject); var v_t1,v_t2, i, i_2, i_3, : integer; begin randomize;
v_t1 := random(900);
v_t2 := v_t1 + 10; begin for i:= v_t1 to v_t2 do
for i_2 := 0 to 10 do
for i_3 := 0 to 10 do
StringGrid1.cells[i_2,i_3]:=(inttostr(v_t1 + i_2 + i_3));
end; |
Zuletzt bearbeitet von Naemo am Di 23.01.07 18:47, insgesamt 1-mal bearbeitet
|
|
Kroko
      
Beiträge: 1284
W98 W2k WXP
Turbo D
|
Verfasst: Di 23.01.07 18:20
könntest Du bitte die Code-Tags benutzen anstatt alles fett darzustellen
Beispiel:
Delphi-Quelltext 1: 2: 3: 4:
| procedure Bla; begin TueEtwas; end; |
_________________ Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
|
|
Naemo 
Hält's aus hier
Beiträge: 10
|
Verfasst: Di 23.01.07 18:29
|
|
Dragonclaw
      
Beiträge: 196
Windows Vista
Delphi 7 Prof.
|
Verfasst: Di 23.01.07 18:37
Ich versteh nicht wirklich was du genau haben willst. Guck dir mal bitte das Programm im Anhang an und sag mir ob du sowas gemeint hast.
Einloggen, um Attachments anzusehen!
|
|
Kroko
      
Beiträge: 1284
W98 W2k WXP
Turbo D
|
Verfasst: Di 23.01.07 18:41
Naemo hat folgendes geschrieben: | | sry |
per edit kann man dies auch nachträglich ändern!
_________________ Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
|
|
Naemo 
Hält's aus hier
Beiträge: 10
|
Verfasst: Di 23.01.07 18:45
@Dragonclaw
Genau so was mein ich
Kannst mir bidde ma sagen, wie de das gemacht hast, oder den Quelltext geben?!
|
|
Dragonclaw
      
Beiträge: 196
Windows Vista
Delphi 7 Prof.
|
Verfasst: Di 23.01.07 18:52
Klar kann ich machen hier ist der Code. Ich denke mal du bist in der Lage zu verstehen was da passiert
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34:
| procedure TForm1.FormCreate(Sender: TObject); var I, J, Zahl: Integer; begin Zahl:= 1; for J := 0 to 9 do for I := 0 to 9 do begin StringGrid1.Cells[I,J] := IntToStr(Zahl); Inc(Zahl); end; end;
procedure TForm1.BitBtn2Click(Sender: TObject); var I, J: Integer; begin if not (StringGrid1.Cells[9,9] = IntToStr(1000)) then begin for J := 0 to 9 do for I := 0 to 9 do StringGrid1.Cells[I,J] := IntToStr(StrToInt(StringGrid1.Cells[I,J]) + 100); end; end;
procedure TForm1.BitBtn1Click(Sender: TObject); var I,J: Integer; begin if not (StringGrid1.Cells[0,0] = IntToStr(1)) then begin for J := 0 to 9 do for I := 0 to 9 do StringGrid1.Cells[I,J] := IntToStr(StrToInt(StringGrid1.Cells[I,J]) - 100); end; end; |
|
|
Naemo 
Hält's aus hier
Beiträge: 10
|
Verfasst: Di 23.01.07 19:00
wunderbar
Danke
Hab da aber jetz nochn par fragen  :
Wie kann ichn da Lücken lassen, damit man da selber die Lücken ergenzen kann?!
Un wie kann man das kontrollieren?
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Do 01.03.07 23:24
Hallo,
Naemo hat folgendes geschrieben: |
Wie kann ichn da Lücken lassen, damit man da selber die Lücken ergenzen kann?!
|
indem man nach dem Füllen des Grids per Zufall Zellen auswählt und den Inhalt löscht.
Pseudo-Code:
solange Anzahl-leere-Zellen nicht erreicht
wenn Zelle[Zufalls-Spalte,Zufalls-Zeile] nicht leer
dann Zelle[Zufalls-Spalte,Zufalls-Zeile] leeren und Anzahl-leere-Zellen hochzählen
kontrollieren? Eingabe mit Inhalte der Nachbar-Zellen vergleichen
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|