Autor Beitrag
fuggaz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 106



BeitragVerfasst: So 23.09.07 15:08 
Hallo,

Ich habe eine String(tmp) in dem in etwa folgendes steht:
tmp:=a+chr(0)+b+chr(0)+c+chr(0)+d++chr(0)+e+chr(0);

Wenn ich nun die 5.Stelle auslese und in ein stringgrid schreibe, schreibt er ab der 5. stelle alles...
Deshalb bekomme ich auch Länge=6.

Wie kann das sein?


Ich habe alles soweit vereinfach wie oben beschrieben.
Anfangs sah es so aus:

Ich lasse eine for-Schleife lauf bis ich chr(0) finde.
Dann speicher ich den Teil zw. den 0-Werten.
buchst:=copy(tmp,tmppos,strpos-1);
wobei tmppos=strpos+1 ist wenn CHR(0) gefunden wird.
Die Position findet er auch alle, aber das Problem ist das gleiche wie oben...
Er kopiert den ganzen Rest-für mich macht das einfach keinen Sinn...


mfg fuggaz
arj
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 378

Win XP/Vista, Debian, (K)Ubuntu
Delphi 5 Prof, Delphi 7 Prof, C# (#Develop, VS 2005), Java (Eclipse), C++, QT, PHP, Python
BeitragVerfasst: So 23.09.07 16:38 
Naja, die Delphistrings entsprechen nicht den Nullterminierten C-Strings.
Da gibts am Anfang noch einen Längenzähler und einen Refernezzähler.
Ändert sich das Verhalten wenn du anstatt Length mit StrLen arbeitest?
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: So 23.09.07 17:03 
Hallo,

an dem nicht vorhandenen Code kann man leider keine Fehler erkennen. Es wäre also schön, wenn du noch den fehlerhaften Code zur Verfügung stellen könntest, dann kann man dir den Fehler sagen ;).

Grüße
Heiko
fuggaz Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 106



BeitragVerfasst: So 23.09.07 17:54 
Problem gelöst.
Trotzdem danke für eure Antworten.
Nachdem ich entnervt den PC runtergefahren hab und gerade wieder hoch funktioniert es wieder...
Schon komisch..

mfg fuggaz