![]() |
Delphi-Version: 10.2 Tokyo
StringGrid mit Zahlenfolge füllen
Moin Leute,
ich bin vermutlich blind und habe nicht den richtigen Thread in DP gefunden, denn ich denke, dass diese Thematik oft aufkommt und recht einfach zu lösen ist. Nun denn. Ich habe ein TSringGrid mit
Delphi-Quellcode:
Spalten.
String1.ColCount
Ich möchte, dass die erste Zeile mit den Zahlen 1,2,3,4,5,6,7 befüllt wird. Bedeutet, dass die erste Zeile so aussehen soll:
Delphi-Quellcode:
usw
1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7
Ich denke, dass ich 2 for-Schleifen brauche, die ineinander verschachtelt sind. Die erste for-Schleife muss von 1 bis
Delphi-Quellcode:
zählen und die andere von 1-7.
StringGrid1.ColCount
Mein bisheriger Code überschreibt die jeweilige Zelle immer bis 7 bevor es auf die nächste Zelle springt.
Code:
Kann mir bitte jemand weiterhelfen? :D
for i := 1 to StringGrid1.ColCount do
begin for j := i to 7 do begin StringGrid1.Cells[i,0] := IntToStr(j); end; end; PS: es ist von mir beabsichtigt, dass ich erst ab der zweiten Zellen anfange zu befüllen. |
AW: StringGrid mit Zahlenfolge füllen
So müsste es gehen, jedoch ungetestet.
Tipp: Nimm am besten bessere Namen für die Variablen. z.B.:
Delphi-Quellcode:
var
Spalte, Zahl : Integer; begin Zahl := 1; for Spalte := 1 to StringGrid1.ColCount - 1 do // das "- 1" fehlte bei dir, da du sonst über das Ziel hinaus gehst und somit einen Fehler produzierst. begin StringGrid1.Cells[Spalte, 0] := inttostr(Zahl); if Zahl = 7 then //Wenn 7 erreicht ist, wieder von vorne Anfangen begin Zahl := 1; end else //Sonst: Zahl um 1 erhöhen begin inc(Zahl); end; end; end; |
AW: StringGrid mit Zahlenfolge füllen
Bitte die Schleife nur bis ColCount - 1 laufen lassen
|
AW: StringGrid mit Zahlenfolge füllen
Vielen Dank für die schnelle Antwort!
Ich hab noch ein IntToStr() eingefügt und jetzt funktioniert es genau so, wie ich das möchte! Danke dir! :) VG Kratos EDIT: @Jasocul Moombas hatte es in seinem Kommentar im Code erwähnt. Ich hab es in meinen Code aber schon übernommen :) |
AW: StringGrid mit Zahlenfolge füllen
Geht auch etwas kürzer:
Delphi-Quellcode:
for i := 1 to StringGrid1.ColCount - 1 do
begin StringGrid1.Cells[i,0] := IntToStr(((i - 1) mod 7) + 1); end; |
AW: StringGrid mit Zahlenfolge füllen
Zitat:
|
AW: StringGrid mit Zahlenfolge füllen
@Uwe Raabe
Danke dir! So einen Lösungsansatz hatte ich gar nicht auf dem Schirm^^ |
AW: StringGrid mit Zahlenfolge füllen
Hoi, ich fand den anderen lesbarer und würde den bevorzugen auch wenn er länger ist.
Wenn Du das doch nehmen willst dann schlage ich vor das entsprechend zu dokumentieren. Ein erfahrener Delphianer kommt zwar schnell drauf, für andere wäre es eine Hilfe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz