Zitat von
HeliTronic:
Ich habe ein StringGrid von mit einer Größe von 5x5
und ich möchte eine Art Schiffe versenken programmieren.
In den 25 Cellen sollen 5 schiffe sein und 20 nieten.
ich hab mir das so gedacht, für die schiffe einsen zu benutzen die zufällig
in 5 cellen sind, und der rest mit nullen ausgefüllt ist. das klappt soweit.
nur man soll ja die zahlen nicht sehen. und ich weiß nicht wie ich das machen kann.
du kannst die zahlen auch als objekt in eine zelle einfügen
Delphi-Quellcode:
StringGrid1. Objects [0, 0]:= pointer (0); // spalte 0 zeile 0
StringGrid1. Objects [0, 1]:= pointer (1); // spalte 0 zeile 1
i:= integer (StringGrid1. Objects [0, 1]); // gibt die 1 zurück
Die Eigenschaft Objects enthält für jede Zelle des Gitters ein Objekt.
property Objects [ACol, ARow: Integer]: TObject;
Beschreibung
Mit Objects können Sie auf das Objekt zugreifen, das einer bestimmten Gitterzelle zugeordnet ist. Die Eigenschaften ColCount und RowCount legen die Größe des Arrays fest. ACol gibt die Spalte, ARow die Zeile der Zelle an. Die Zählung der Spalten und Zeilen beginnt bei 0.
Hinweis
Das String-Gitter ist den Objekten in diesem Array nicht übergeordnet. Wenn das String-Gitter freigegeben wird, existieren die Objekte weiter. Sie müssen von der Anwendung explizit freigegeben werden.