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 Anzahl der Zeichen im String (ohne Leerzeichen) zählen. (https://www.delphipraxis.net/119779-anzahl-der-zeichen-im-string-ohne-leerzeichen-zaehlen.html)

thiagojonas 31. Aug 2008 18:14


Anzahl der Zeichen im String (ohne Leerzeichen) zählen.
 
Hallo Leute, ich habe jetzt als schriftliches Prüfungsfach Informatik.

Thema ist es mit den Datentyp String zu arbeiten.

Hier die Aufgabe:
Gesucht ist ein Programm, dass die Anzahl der Zeichen(außer Leerzeichen) in einem Memofeld zählt.

Meine Frage ist, wie ich das mit den Leerzeichen berücksichtigen kann?
Hier mein Code, so wie es funktioniert, nur halt mit Leerzeichen.

Delphi-Quellcode:
procedure TForm1.check_btn(Sender: TObject);
   var ck:string;
   var i:integer;
begin
ck := Memo1.Text;
i:= Length(ck);
Panel1.Caption := IntToStr(i);
end;
[edit=Matze]Titel geändert. MfG, Matze[/edit]

mkinzler 31. Aug 2008 18:16

Re: Datentyp String
 
Leerzeichen zählen (Pos/PosEx) und von Gesamtanzahl abziehen

Benedikt 31. Aug 2008 18:18

Re: Datentyp String
 
Hi,

Alternativ, wenn evtl. auch weniger performanent als die Lösung von mkinzler, einfach den ganzen String/Memo-Inhalt durchgehen und bei allem was nicht Leerzeichen ist selbst hochzählen.

MfG Benedikt

Klaus01 31. Aug 2008 18:19

Re: Datentyp String
 
Guten Abend,

ein Weg ist mit StringReplace die Leerzeichen durch kein Zeichen zu ersetzen und dann die
Länge des Textes zu ermitteln.

Ein anderer Weg ist, die Zeichen des Textes zu überprüfen.
Wenn ein Zeichen kein Leerzeichen ist dann einen Zähler erhöhen.

Grüße
Klaus

himitsu 31. Aug 2008 18:20

Re: Datentyp String
 
den Memoinhalt in eine Stringgvariable (S) kopieren,
in 'ner For-Schleife alles von Zeichen[1] bis Zeichen[Length(S)] durchgehen und auf in einer weiteren Variable mitzählen oft es vorkommt, daß ein Zeichen kein Leerzeichen ist (S[i] <> ' ')

Meflin 31. Aug 2008 18:21

Re: Datentyp String
 
Oder aber 4. Möglichkeit:
Delphi-Quellcode:
Length(StringReplace(Memo1.Text, ' ','', [rfReplaceAll]));
Edit: öha, die is mitlerweile ja auch schon erwähnt ;)

himitsu 31. Aug 2008 18:38

Re: Datentyp String
 
da fehlt noch ein Length(Memo.Text)- :zwinker:
(ist zwar ein einfacher Weg, aber dafür auch mit einer der Langsamsten)


:dp: Ach ja, würdest du bitte dem Thema(ersten Post) einen schöneren und vorallem aussagekräftigeren Namen verpassen?

grenzgaenger 31. Aug 2008 18:39

Re: Datentyp String
 
Zitat:

Zitat von himitsu
den Memoinhalt in eine Stringgvariable (S) kopieren,
in 'ner For-Schleife alles von Zeichen[1] bis Zeichen[Length(S)] durchgehen und auf in einer weiteren Variable mitzählen oft es vorkommt, daß ein Zeichen kein Leerzeichen ist (S[i] <> ' ')

5. möglichkeit...

man nehme das for schleifchen ... und zähle die leerzeichen ... und ziehe die von der länge des strings ab ... ;-)

mkinzler 31. Aug 2008 18:41

Re: Datentyp String
 
Zitat:

man nehme das for schleifchen ... und zähle die leerzeichen ... und ziehe die von der länge des strings ab ... Wink
Da wäre aber ein gezieltes Suchen (PosEx) besser

thiagojonas 31. Aug 2008 20:09

Re: Datentyp String
 
Also, echt Leute. Vielen Dank für Eure Hilfe und für Eure wirkclich SCHNELLE Antworten. :-D
Funktioniert Super!!!


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