![]() |
Schleifen imStringGrid
HI!
Wie kann man in einem StringGrid, das man zu einer Wertetabelle programmierem soll, eine repeat-Schleife unterbringen, das in einer Zeile eingegebene Werte vom min Wert bis zum max Wert erscheinen, in einem Abstand der auch noch extra eingegeben wird ? |
Re: Schleifen imStringGrid
Meinst du sowas hier:
Delphi-Quellcode:
Das Beispiel füllt die Zeile 3 des StringGrid1 mit den Zahlen von MinWert bis MaxWert, wobei die vorherige Zahl immer um Abstand kleiner ist als ihn Nachfolger.
procedure Zahlen_in_StringGrid(MinWert, MaxWert: Integer; abstand: Cardinal);
var i,j: Integer; begin if MaxWert<MinWert then begin i:= MaxWert; MaxWert:= MinWert; MinWert:= i; end;//if i:= minWert; while i<=MaxWert do begin j:= (i-MinWert) div abstand +1; StringGrid1.Cells[j, 3]:= IntToStr(i); i:= i+abstand; end;//while end; MfG Binärbaum |
Re: Schleifen imStringGrid
Nunja nicht ganz, naja eigentlich ist mein Geschick mit Delphi eher begrenzt :oops:
Code:
Wie würde man das jetzt immer fortlaufend ausgerechnete in die obere Zeile übertragen können?
var
Form1: TForm1; min, max, schritt,i:Integer ; procedure TForm1.Button1Click(Sender: TObject); begin min:=0; max:=0; schr:=0; min:=strtoint(E_min.text); max:=strtoint(E_max.text); schritt:=strtoint(E_Schrittweite.text); repeat i:=min+scritt; until i=max; end; Und könnte man mit nur Grundwissen von Delphi die Anzahl der Spalten der Zeile so veränderlich gestalten, das immer nur so viele Spalten erscheinen, wie nur gebraucht wird um die Zahlen darzustellen? |
Re: Schleifen imStringGrid
Zitat:
![]() ![]() Und was soll der Code von oben jetzt machen? Der zählt doch nur eine Variable hoch, und macht nichts mit dem StringGrid. :gruebel: Vielleicht solltest du den Code etwas ändern:
Delphi-Quellcode:
Dabei ist die Prozedur Zahlen_in_StringGrid die von oben aus meinem anderen Beitrag.
procedure TForm1.Button1Click(Sender: TObject);
var min, max, schritt,i:Integer ; begin min:=strtoint(E_min.text); max:=strtoint(E_max.text); schritt:=strtoint(E_Schrittweite.text); Zahlen_in_StringGrid(min, max, schritt); end; Evtl. musst du dort noch in der Zeile
Delphi-Quellcode:
die 3 durch irgendeine andere Zahl ersetzen, wenn die Zahlen in eine andere Zeile im StringGrid sollen.
StringGrid1.Cells[j, 3]:= IntToStr(i);
Bin mir jetzt aber nicht so sicher, ob dies nun genau das ist, was du erreichen wolltest :?: MfG Binärbaum |
Re: Schleifen imStringGrid
Kann man mit dem ColCount den StringGrid auch so verändern, das er erkennt das wenn nur fünf verschiedene Zahlen sind, es auch nur fünf Zellen anzeigt und wenn danach zehn Zahlen ausgegeben werden sollen er auch die zehn Zellen anzeigt?
Die Variable soll immer um die eingegebene Schrittweite weitergezählt werden,z.B wenn ich einen Zahlenraum von -4 bis 4 eingeben und eine Schrittweite von 2 soll in denn cells [1,0] -4; [2,0] -2;[3,0] 0 usw. bis zur 4 ausgegeben werden. |
Re: Schleifen imStringGrid
Da musst du dir erstmal anhand der Werte (Minimum, Maximum, Weite) ausrechenen, wieviele Zeilen oder Spalten du brauchst und dann ColCount und/oder RowCount auf die errechneten Werte setzen.
MfG Binärbaum |
Re: Schleifen imStringGrid
Ja, das ist mir klar. Mein größtes Problem ist eigentlich, wie ich die ausgerechneten Zahlen ins StringGrid bekomme.
Bsp.: Die Variable soll immer um die eingegebene Schrittweite weitergezählt werden,z.B wenn ich einen Zahlenraum von -4 bis 4 eingeben und eine Schrittweite von 2 soll in denn cells [1,0] -4; [2,0] -2;[3,0] 0 usw. bis zur 4 ausgegeben werden. |
Re: Schleifen imStringGrid
Zitat:
|
Re: Schleifen imStringGrid
Das soll ja alles in einer repeat - Schleife passieren und wenn ich die repeat- Schleife habe, hab ich keine Ahnung wie ich das ins StringGrid krieg.
Das ich dsa mit der repeat -Schleife ausrechne und dann hinschreibe:
Code:
das geht bei mir nicht, denn es passiert nichts.
StringGrid.cells[i,0]:=floattostr(x);
|
Re: Schleifen imStringGrid
wo schreibst du denn diese eine Code-Zeile hin ? Im FormCreate z.B. wirds wohl nichts nützen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 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-2025 by Thomas Breitkreuz