Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Leerzeichen in einem String zählen (https://www.delphipraxis.net/146046-leerzeichen-einem-string-zaehlen.html)

loki91 12. Jan 2010 20:27


Leerzeichen in einem String zählen
 
Hallo,

Ich hab ein Problem mit delphi 5 ... hab so gut wie keine Erfahrung, wir lernen delphi gerade in der schule :/

Ich soll in einem String, der z.B.: "Das ist ein Beispielsatz" heißt, die Leerzeichen zählen und in einem edit Feld wiedergeben, wenn auf einen Button gedrückt wird.
Nun ja ich hab nun unzählige Google-Suchen gestartet aber kein Thema traf auf meins zu.

Kann wer helfen?


loki

mkinzler 12. Jan 2010 20:36

Re: Leerzeichen in einem String zählen
 
Entweder
-mit Pos()/PosEx() Leerzeichen suchen oder
-Lange ermittlen; Leerzeichen durch Leerstrings ersetzen; neue länge ermittlen -> Unterschied

himitsu 12. Jan 2010 20:38

Re: Leerzeichen in einem String zählen
 
oder

in einer Schleife alle Zeichen durchgehn
und alle Leerzeichen zählen, welche vorbeikommen :roll:

Luckie 12. Jan 2010 20:38

Re: Leerzeichen in einem String zählen
 
Erstmal falsche Forum. Das hat nichts mit der IDE zu tun.

Zweitens kann man über den Index auf ein Zeichen in einem String zu greifen. Mit einer for-schleife so nacheinander auf jedes einzelne Zeichen. Jetzt überlege mal weiter.

@mkinzler: Ist das nicht etwas umständlich?

mkinzler 12. Jan 2010 20:40

Re: Leerzeichen in einem String zählen
 
Nein warum? Sind 3 Befehle

Luckie 12. Jan 2010 20:43

Re: Leerzeichen in einem String zählen
 
Er braucht doch die Anzahl. Wie bekommt er bei deiner Vorgehensweise die Anzahl?

loki91 12. Jan 2010 20:45

Re: Leerzeichen in einem String zählen
 
oh man peinlich xD :oops: ich hab ja so keine ahnung...

Wenn mir jemand sagt:
Zitat:

oder

in einer Schleife alle Zeichen durchgehn
und alle Leerzeichen zählen, welche vorbeikommen
dann mag das zwar selbstverständlich klingen, ich kann damit aber null anfangen >.<

Habs nun so:
Delphi-Quellcode:
var
s:string;
begin
Edit1.Text := s;
Pos(' ',s);
end;

end.
Nun wird, wenn ich den Button drücke, das Edit1 Feld, in dem der Satz stand, einfach gelöscht...was mach ich falsch? (ich weiß ist einiges...:P)

loki

Matze 12. Jan 2010 20:46

Re: Leerzeichen in einem String zählen
 
Zitat:

Zitat von Luckie
Er braucht doch die Anzahl. Wie bekommt er bei deiner Vorgehensweise die Anzahl?

Das hat Markus doch geschrieben:

- alte Länge mit Length() ermitteln und in Variable speichern
- Leerzeichen im String durch einen Leerstring ersetzen mit StringReplace()
- neue Länge ermitteln
- AlteLänge - NeueLänge = Anzahl der Leerzeichen

Hm, das wären aber 4 Schritte.

Edit: Einen String kannst du so durchgehen:

Delphi-Quellcode:
for i := 1 to Length(DeinString) do
Auf ein einzelnes Zeichen kannst du so zugreifen bzw. es mit einem Char, hier ' ', vergleichen:

Delphi-Quellcode:
DeinString[i]
Den rest kriegst du hin. ;)

mkinzler 12. Jan 2010 20:48

Re: Leerzeichen in einem String zählen
 
Geht aber auch in einer Zeile :zwinker:

Luckie 12. Jan 2010 20:49

Re: Leerzeichen in einem String zählen
 
Delphi-Quellcode:
for i := 1 to length(s) do
begin
  if s[i] = ??? then
    Zaehler := Zaehler + 1
end;
Den Rest überleg dir mal selber.

@Matze: Jetzt hab eich es auch verstanden. Gar nicht mal so dumm. ;) Aber ich glaube, der Lehrer dachte eher an eine Schleife.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz