Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Stringgrid - Problem (https://www.delphipraxis.net/65204-stringgrid-problem.html)

Spicker 13. Mär 2006 18:06


Stringgrid - Problem
 
Hallo,
Ich lerne gerade in meinem ersten Jahr Delphi, und habe problem bei einem Stringgrid.
Ich hab die Werte Acol und Arow bei einer onSelectCell Methode, aber ich weiß nicht, wie ich die Zelle "anpreche"

Bsp:
Delphi-Quellcode:
If an[1] = true
  then sg_Musik[Wie spreche ich die zelle an?].text = "super";
blödes Bsp, aber nur um das Problem zu verdeutlichen.

Ich hoffe auf eine weiterhelfende Antworte

MfG Spicker

Flare 13. Mär 2006 18:17

Re: Stringgrid - Problem
 
Hi Spicker!

Versuche es mal damit
Delphi-Quellcode:
If an[1] = true
  then sg_Musik.Cells[Col, Row] = "super";
Der originale Befehle dafür heißt:
Delphi-Quellcode:
Cells[ACol: Integer; ARow: Integer]: string;
Hoffe du kannst damit was anfangen :lol:


Flare

marabu 13. Mär 2006 18:49

Re: Stringgrid - Problem
 
Herzlich willkommen in der Delphi-PRAXiS, Spicker.

Das wichtige hat Flare ja schon geschrieben. Hier noch ein paar kleine Anmerkungen.

Delphi-Quellcode:
if an[1] then
  with sg_Musik do
    Cells[Col, Row] := 'super';
Zeichenketten-Literale bitte in einfachen Hochkommata, Zuweisungs- und Gleichheits-Operator nicht verwechseln und Col und Row sind Eigenschaften vom StringGrid. Das Ergebnis eines booleschen Ausdrucks (bei dir an[1]) muss übrigens nicht noch mit einem Literal verglichen werden.

Freundliche Grüße vom marabu

Flare 13. Mär 2006 18:56

Re: Stringgrid - Problem
 
Zitat:

und Col und Row sind Eigenschaften vom StringGrid
Das meinte ich eigentlich nicht mit meinen Col und Row! Ich meinte damit eigentlich die Zelle, die er ansprechen möchte, es ist nur zufällig genau das :-D
Is ja eigentlich auch egal


Flare

Spicker 13. Mär 2006 21:22

Re: Stringgrid - Problem
 
Hey danke =)

hat mir sehr geholfen

Spicker

Spicker 14. Mär 2006 00:47

Re: Stringgrid - Problem
 
Ich habe nun ein neues Problem, wo ich absolut ratlos bin...

Delphi-Quellcode:
procedure Tf_lampenspiel.sg_LampenDrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
  var i, k, j: integer;
begin
j := 0;
Setlength (aLampen,se_groesse.value,se_groesse.value);
 if aLampen[Acol,Arow] then
   sg_lampen.canvas.brush.color := clblue
  else
   sg_lampen.canvas.brush.color := clwhite;
   sg_lampen.canvas.fillrect(rect);
   for i := 0 to (se_groesse.value-1) do
     for k := 0 to (se_groesse.value-1) do
     begin                                           //Hab ich gewonnen?
     If sg_lampen.cells[i,k] = clblue
       [B]then inc(j);[/B]
     end;
    If j = se_groesse.value * 2
      then showmessage('Herzlichen Glückwunsch, sie haben Gewonnen! Sie haben ' + IntToStr(zuege) + ' Züge gebraucht. Das Feld wird zurückgesetzt.')
end;
An der Fett markierten Stelle bekomme ich folgende Fehlermeldung:
Zitat:

Inkompatible Typen: 'String' und 'Integer'
Ich habe alles Probiert, aber ich kriege den fehler nicht behoben

MfG

Flare 14. Mär 2006 05:37

Re: Stringgrid - Problem
 
Ich würde sagen der Fehler liegt in diesem Code-Schnipselchen:
Delphi-Quellcode:
If sg_lampen.cells[i,k] = clblue
Du versuchst ein Feld auf eine Konstante zu überprüfen, welche beim Kompilieren mit einer Integer-Zahlenwert ersetzt wird. Man kann allerdings nicht einen Integer mit einem String vergleichen (Cells gibt einen String zurück, habe ich ja oben geschrieben). Außerdem glaube ich solltest du noch einmal das überprüfen, ich meine du möchtest doch überprüfen ob die Celle blau ist und nicht ob der Inhalt "blau" heißt, oder?


Mfg, Flare

Spicker 14. Mär 2006 05:46

Re: Stringgrid - Problem
 
Danke, ich hab mir es andern überlegt, und habe das problem umgangen, indem ich das Array geprüft habe, nicht die Zellen.
Delphi-Quellcode:
If aLampen[i,k] = true
       then inc(j);
MfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 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