Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi SynEdit Zählproblem (https://www.delphipraxis.net/70237-synedit-zaehlproblem.html)

gauggi 27. Mai 2006 13:10


SynEdit Zählproblem
 
Hallo!
Ich möchte in einem SynEdit die Zeichen zählen. Ich habe diese Funktion geschrieben, aber es werden immer zwei Zeichen mehr als vorhanden gezählt. Woran könnte das liegen??

Delphi-Quellcode:
var s: string;
z: integer;
begin
s:= synedit1.text;
z:= Length(s);
ShowMessage('Das aktuelle Dokument hat ' + IntTostr(z) + ' Zeichen');
Danke für jede Hilfe :-D

MrKnogge 27. Mai 2006 13:14

Re: SynEdit Zählproblem
 
Der Code müsste gehen.

Hast du eventuell beim "manuellen" zählen die Leerzeichen vergessen ?

gauggi 27. Mai 2006 13:16

Re: SynEdit Zählproblem
 
Zitat:

Zitat von MrKnogge
Der Code müsste gehen.

Hast du eventuell beim "manuellen" zählen die Leerzeichen vergessen ?

Das habe ich auch versucht. Aber es werden immer zwei Zeichen mehr angezeigt als da sind. Könnte dies an irgendeiner Einstellung in Syn Edit liegen??

mfg gauggi

Helmi 27. Mai 2006 13:18

Re: SynEdit Zählproblem
 
Zeig doch mal nen Ausschnitt des Textes den du zählen willst.

Wenn da ein ein Absatz oder so drin ist, dann zählst du #10#13 mit

CalganX 27. Mai 2006 13:19

Re: SynEdit Zählproblem
 
Hi,
das Zeichen für eine neue Zeile besteht aus zwei Zeichen: chr(13) und chr(10) (\r\n, #13#10, nenn's wie du wilst).
Selbst wenn du nur eine Zeile hast, wird am Ende eine weitere Zeile hinzukommen, die SynEdit afaik immer hinzufügt.

Chris

gauggi 27. Mai 2006 13:20

Re: SynEdit Zählproblem
 
Zitat:

Zitat von Chakotay1308
Hi,
das Zeichen für eine neue Zeile besteht aus zwei Zeichen: chr(13) und chr(10) (\r\n, #13#10, nenn's wie du wilst).
Selbst wenn du nur eine Zeile hast, wird am Ende eine weitere Zeile hinzukommen, die SynEdit afaik immer hinzufügt.

Chris

Hallo!

Wie kann ich es programmieren, dass der Zeilenumbruch nicht gezählt wird.

Danke!

//edit: Mir ist aufgefallen, dass auch alle Leerzeichen gezählt werden. Wie kann ich das unterbinden.

CalganX 27. Mai 2006 13:23

Re: SynEdit Zählproblem
 
Hi,
ich würde einfach Delphi-Referenz durchsuchenStringReplace verwenden, um in einem temporären String die Zeilenumbrüche zu löschen.

Chris

gauggi 27. Mai 2006 13:29

Re: SynEdit Zählproblem
 
Zitat:

Zitat von Chakotay1308
Hi,
ich würde einfach Delphi-Referenz durchsuchenStringReplace verwenden, um in einem temporären String die Zeilenumbrüche zu löschen.

Chris

Hallo!

Wie kann ich StringReplace verwenden?

mfg gauggi

CalganX 27. Mai 2006 13:30

Re: SynEdit Zählproblem
 
Zitat:

Zitat von gauggi
Wie kann ich StringReplace verwenden?

Was meinst du? Warum habe ich den [oh]-Tag verwendet? :roll:

Chris

Hawkeye219 27. Mai 2006 13:55

Re: SynEdit Zählproblem
 
Zitat:

Zitat von Chakotay1308
ich würde einfach Delphi-Referenz durchsuchenStringReplace verwenden, um in einem temporären String die Zeilenumbrüche zu löschen.

Warum? Wenn Length(Edit.Text) die Länge des Textes liefert und Edit.Lines.Count die Anzahl der Textzeilen, dann sollte das ganze doch mit Hilfe einfacher Ganzzahlarithmetik zu lösen sein.

Gruß Hawkeye


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