Autor Beitrag
Glostami
Hält's aus hier
Beiträge: 11
Erhaltene Danke: 1

Win7
Turbo Delphi 2006
BeitragVerfasst: Fr 15.10.10 17:23 
Hallo!

Ich hab folgendes Problem:

Ich habe in einem Memo einen Text. Dieser soll in ein String gelden werden. Dies hab ich wie folgt gemacht:

ausblenden Delphi-Quelltext
1:
Text := StringReplace(Memo_mp3.Text,SLineBreak,'',[rfReplaceAll]);					

Ich hab also alle Absätze entfernt

Auserdem benötige ich noch die Länge dieses Stings:

ausblenden Delphi-Quelltext
1:
laenge := length(text)					


Diese Länge hab ich dann normal in einem Label ausgegeben.

Das Problem ist, dass wenn der Text 522235 Zeichen hat, alles perfekt klappt. Sind es aber 522236 Zeichen, wir die Länge mit 0 angegeben.

Was hab ich denn jetzt falsch gemacht? Gibt es vielleicht eine bessere Lösung, die mit mehr Zeichen klarkommt?


Danke schon mal im vorraus!
Glostami
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Fr 15.10.10 17:29 
Hallo und :welcome: im Delphi-Forum!

Als was hast du laenge definiert? Integer, Int64, Short, ...?

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Glostami Threadstarter
Hält's aus hier
Beiträge: 11
Erhaltene Danke: 1

Win7
Turbo Delphi 2006
BeitragVerfasst: Fr 15.10.10 17:32 
Hallo!

Also laenge ist vom Typ Int64
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Fr 15.10.10 17:37 
Das sollte keines Falls sein. Welche Delphi-Version benutzt Du denn? Kannst Du den Quellcode mal anhängen? ;)
Oder schau noch einmal genau hin, was du machst. :roll:
Glostami Threadstarter
Hält's aus hier
Beiträge: 11
Erhaltene Danke: 1

Win7
Turbo Delphi 2006
BeitragVerfasst: Fr 15.10.10 18:01 
Also ich benutze Turbo Delphi 2006.

Ich hab mal den Quellcode und das Programm angehängt.


Der Quelltext (pas, 1.9 KB)
Das Programm (exe, 468.5 KB)
Einloggen, um Attachments anzusehen!
HelgeLange
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 735
Erhaltene Danke: 6

Windows 7
Delphi7 - Delphi XE
BeitragVerfasst: Fr 15.10.10 21:01 
Du kannst mal folgendes versuchen :

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var sText: String;
    nLength : Integer;
begin
  sText := Memo1.Lines.Text;
  nLength := Length(sText);
end;

_________________
"Ich bin bekannt für meine Ironie. Aber auf den Gedanken, im Hafen von New York eine Freiheitsstatue zu errichten, wäre selbst ich nicht gekommen." - George Bernhard Shaw
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 15.10.10 21:46 
Also was mir als erstes auffällt:
Du hast deine Variable Text genannt, die Eigenschaft ist aber eine vorhandene Eigenschaft mehrerer Klassen, so dass du da durcheinander kommen kannst...

Nimm besser ausführlichere Bezeichner. ;-)

Für diesen Beitrag haben gedankt: Glostami
Glostami Threadstarter
Hält's aus hier
Beiträge: 11
Erhaltene Danke: 1

Win7
Turbo Delphi 2006
BeitragVerfasst: Fr 15.10.10 22:00 
Ich bin begeistert!

Danke für die Antworten - Und tatsächlich: anderen Namen für die Variable genommen, schon klappt alles wie gewüscht!