Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Lazarus (IDE) (https://www.delphipraxis.net/81-lazarus-ide/)
-   -   StringGrid mit string füllen geht nicht (https://www.delphipraxis.net/192437-stringgrid-mit-string-fuellen-geht-nicht.html)

stay 18. Apr 2017 18:12

StringGrid mit string füllen geht nicht
 
Hallo,

ich brauche schon wieder eure Hilfe, irgendwie habe ich ein Brett vor dem Kopf.
Meine StringGrid lässt sich nicht mit einem string füllen.
Ein Label auch nicht, nur ein Memo:

var

S0,S1,S2,S3 : string;
F : Text;


popen(F, ' i2cget -y 1 0x48 0x40','R');
Readln(F,S0);

Jetzt sollte das Ergebnis in S0 sein.

StringGrid.Cells[1,1] := S0; - geht nicht
Label1.Caption := S0; - geht nicht
Memo.lines.add(S0); - geht


Ich denke für euch ist das komplett logisch, ich verzweifel jedoch grade, wäre schön wenn jemand die Antwort postet.

Gruß

hoika 18. Apr 2017 18:31

AW: StringGrid mit string füllen geht nicht
 
Hallo,

geht nicht -> ein StringGrid hat keine Beine, kann also auch nicht gehen!

Nein, im Ernst: geht nicht ist keine Fehlermeldung !

Mehr Code bitte.

Was passiert, wenn du:
Delphi-Quellcode:
//popen(F, ' i2cget -y 1 0x48 0x40','R');
//Readln(F,S0);
S0 := 'hoika hat Recht';
StringGrid.Cells[1,1] := S0;

stay 18. Apr 2017 19:07

AW: StringGrid mit string füllen geht nicht
 
:oops: S0 := 'hoika hat Recht';

Es lag nicht daran, ich habe nur die ganze Zeit an der falschen Stelle gesucht. Das Problem lag in der Kommunikation zwischen Funktionen und dem nicht aktualisieren.

Kann ich den Post wieder löschen? :D

Aber Danke für deine schnelle Antowrt. :thumb:

Hobbycoder 18. Apr 2017 19:11

AW: StringGrid mit string füllen geht nicht
 
Was steht den in SO drin?

schon mal im Debugger geschaut? Sind dort führende Leerzeilen oder irgendwelche nicht druckbaren Zeichen enthalten?
Und was ist "popen"?

stay 18. Apr 2017 19:25

AW: StringGrid mit string füllen geht nicht
 
popen ist der Befehl um vom Programm auf das Terminal zu kommen um dort den I2C Bus abzugreifen. Nicht die schönste Art, aber naja.

Mit dem Debugger habe ich mich noch gar nicht so richtig befasst. Sollte ich aber mal. Wie gesagt, das Problem wurde gefunden. Auf zum nächsten :D

hoika 18. Apr 2017 19:45

AW: StringGrid mit string füllen geht nicht
 
Hallo,
warum löschen,
wenn andere (neuere) Entwickler das hier lesen,
und sich sagen, OK, String.Cells kann es nicht sein, ist das doch OK.

Aus Fehlern lernt man.

PS:
Ausserdem steht doch im S0 was nettes drin, wenn du meinen Code übernimmst ;)

EWeiss 18. Apr 2017 19:46

AW: StringGrid mit string füllen geht nicht
 
Zitat:

Ausserdem steht doch im S0 was nettes drin, wenn du meinen Code übernimmst
:thumb:

gruss

stay 18. Apr 2017 20:45

AW: StringGrid mit string füllen geht nicht
 
Ich muss euch nochmal belästigen, Thema Debugger..
Mein Programm hängt sich in unregelmäßigen Abständen auf. Immer bei der Umwandlung von Hex in Dezimal. Ich könnte jetzt von Try Methode bis hin zum Max Länge gucken, dass ich alles absichere. Allerdings, wenn ich es richtig verstanden habe, kann ich im Debugger sehen, wo der Fehler war? Das wäre natürlich sehr elegant. Wie komme ich dort ran?

Leider habe ich die Fehlermeldung schon weggeklickt, aber er zeigt halt immer einer der 4 Variablen Umwandlung an.

Gruß

p80286 18. Apr 2017 21:17

AW: StringGrid mit string füllen geht nicht
 
Zeig doch mal den Sourcecode, die Beschreibung ist doch ein wenig unpräzise.

Gruß
K-H

Hobbycoder 18. Apr 2017 21:58

AW: StringGrid mit string füllen geht nicht
 
Zitat:

Zitat von stay (Beitrag 1368176)
Ich könnte jetzt von Try Methode bis hin zum Max Länge gucken, dass ich alles absichere.

Und du tust auch gut daran es zu machen.

Debugger ist doch noch so schwer. Schon mal eine Haltepunkt gesetzt? Dann mal der Maus auf eine Variable, und Hint betrachten. Oder Cursor auf Variable und dann STRG+F5. Dann vielleicht mal mit der rechten Maustaste das Popup betrachten.
Manchmal ist es auch hilfreich sich für das debuggen eine Zwischenvariable zu setzen. Und natürlich möglichst kurze und kleine Proceduren und Funktionen, und nicht versuchen alles in einer Prozedur zu erledigen, da lauern die meisten Fehler. Mit kleine Proceduren lässt sich das auch besser und übersichtlicher absichern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:38 Uhr.
Seite 1 von 2  1 2      

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