![]() |
stringgrid per Timer mit Randomzahlen füllen
- wie geht es, dass ich ein großes stringgrid (ca. 99 felder) so programmiere, dass ich mit einem timer ,random-zahlen in einer bestimmten reihenfolge ausgeben kann also in die einzelnen felder?
[edit=SirThornberry]Titel geändert und Programmiersprache geändert - Bitte zukünftig selbst aussagekräftigere Titel nehmen als "Stringgrid" :-D (das du Hilfe suchst, sagt ja bereits die Forumssparte aus) - Mfg, SirThornberry[/edit] |
Re: suche hilfe für stringgrid?
Was meinst Du mit bestimmter Reihenfolge? Aufsteigend sortiert?
|
Re: suche hilfe für stringgrid?
ja habe ein 10 mal 9 felder großes stringgrid und will nun dann zufallszahlen
von 1 bis 99 gezogen werden und dann jeweils in ihre spalte einsortiert werden z.B. die 17 kommt in die 7,2? weißt du was ich meine? |
Re: suche hilfe für stringgrid?
Hallo,
ich sehe das zwei Möglicjkeitem. a) Du ermittelst zwei Zufallszahlen (eine für die Zeile und eine für die Spalte) b) Du siehst das Stringgrid als eine Kette von Feldern an Zufallszahl modulo Spaltenzahl gibt die Zeile Zufallszahl div Spaltenzahl gibt den Spaltenindex Grüße Klaus |
DP-Maintenance
Dieses Thema wurde von "SirThornberry" von "Sonstige Fragen zu Delphi" nach "VCL / WinForms / Controls" verschoben.
|
Re: suche hilfe für stringgrid?
Deine Grundlagen sind RowCount und ColCount.
RowCount gibt dir die Anzahl der Zeilen zurück. ColCount die Anzahl der Spalten. Du machst also eine verschachtelte Schleife. - gehst dabei alle Zeilen durch - in jeder Zeile schreibst du in jede der Spalten dieser Zeile einen Wert rein Damit du auch selbst noch bissel was machst hier ein Pseudo-Code ;)
Delphi-Quellcode:
function FülleStringGridMitWerte();
begin Schleife über alle Zeilen angefangen von Zeile i := 0 bis letzte Zeile begin Schleife über alle Spalten angefangen von Spalte j := 0 bis letzte Spalte begin StringGrid.Cells[aktuelle Spalte, aktuelle Zeile] := Mein zufälliger Wert; end; end; end; |
Re: stringgrid per Timer mit Randomzahlen füllen
@Tyrael Y.: Das ist aber nicht das Ziel ;) .
Angenommen, die gerade gezogene Zufallszahl ist 17. Wie Klaus bereits sagte, kannst Du den Zeilenindex mit div ermitteln und den Spaltenindex mit mod. Solltest Du fixe Spalten oder Zeilen definiert haben, musst Du die noch dazuaddieren (FixedCols bzw. FixedRows). Kurze Beispielrechnung: 17 div 10 = 1 <-- Zeile 1 (die erste hat Index 0) 17 mod 10 = 7 <-- Spalte 7 (s.o.) |
Re: stringgrid per Timer mit Randomzahlen füllen
wenn cih also mit mod und div die beiden ergebnisse für eine zufallszahl errechnet habe...
wie kann cih die beiden zusammenführen? indem ich für zeile und spalte variablen nehme? und diese dann dem ergebnis zuordne? wie geht das genau? |
Re: stringgrid per Timer mit Randomzahlen füllen
Ich würde es mit 2 Variablen machen.
Delphi-Quellcode:
[edit] Zeile und Spalte bei der Zuweisung verwechselt :oops: [/edit]
Zeile := Zahl div 10 + StringGrid.FixedRows;
Spalte := Zahl mod 10 + StringGrid.FixedCols; StringGrid.Cells[Spalte, Zeile] := IntToStr(Zahl); |
Re: stringgrid per Timer mit Randomzahlen füllen
ja hatte ich bemerkt ;)danke hat mir sehr geholfen :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 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