Entwickler-Ecke

Sonstiges (Delphi) - Memo-Text in String umwandeln + Länge zählen


Glostami - Fr 15.10.10 17:23
Titel: Memo-Text in String umwandeln + Länge zählen
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:


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:


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 - Fr 15.10.10 17:29

Hallo und :welcome: im Delphi-Forum!

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

lg elundril


Glostami - Fr 15.10.10 17:32

Hallo!

Also laenge ist vom Typ Int64


Marc. - 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 - 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)


HelgeLange - Fr 15.10.10 21:01

Du kannst mal folgendes versuchen :


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


jaenicke - 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. ;-)


Glostami - 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!