AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

StringGrid mit Zahlenfolge füllen

Ein Thema von Kratos · begonnen am 8. Nov 2019 · letzter Beitrag vom 11. Nov 2019
Antwort Antwort
Kratos

Registriert seit: 15. Okt 2019
52 Beiträge
 
Delphi 10.3 Rio
 
#1

StringGrid mit Zahlenfolge füllen

  Alt 8. Nov 2019, 12:40
Delphi-Version: 10.2 Tokyo
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 String1.ColCount Spalten.
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:
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 usw

Ich denke, dass ich 2 for-Schleifen brauche, die ineinander verschachtelt sind.
Die erste for-Schleife muss von 1 bis StringGrid1.ColCount zählen und die andere von 1-7.

Mein bisheriger Code überschreibt die jeweilige Zelle immer bis 7 bevor es auf die nächste Zelle springt.
Code:
for i := 1 to StringGrid1.ColCount do
  begin
    for j := i to 7 do
    begin
      StringGrid1.Cells[i,0] := IntToStr(j);
    end;
  end;
Kann mir bitte jemand weiterhelfen?

PS: es ist von mir beabsichtigt, dass ich erst ab der zweiten Zellen anfange zu befüllen.
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#2

AW: StringGrid mit Zahlenfolge füllen

  Alt 8. Nov 2019, 12:59
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;
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.

Geändert von Moombas ( 8. Nov 2019 um 13:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: StringGrid mit Zahlenfolge füllen

  Alt 8. Nov 2019, 13:01
Bitte die Schleife nur bis ColCount - 1 laufen lassen
Peter
  Mit Zitat antworten Zitat
Kratos

Registriert seit: 15. Okt 2019
52 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: StringGrid mit Zahlenfolge füllen

  Alt 8. Nov 2019, 13:11
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
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#5

AW: StringGrid mit Zahlenfolge füllen

  Alt 8. Nov 2019, 13:28
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;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#6

AW: StringGrid mit Zahlenfolge füllen

  Alt 8. Nov 2019, 13:32
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
XD stimmt das hatte ich vergessen -.-
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Kratos

Registriert seit: 15. Okt 2019
52 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: StringGrid mit Zahlenfolge füllen

  Alt 8. Nov 2019, 13:54
@Uwe Raabe

Danke dir! So einen Lösungsansatz hatte ich gar nicht auf dem Schirm^^
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.456 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: StringGrid mit Zahlenfolge füllen

  Alt 11. Nov 2019, 17:17
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz