Einzelnen Beitrag anzeigen

Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: Im Text nach Zeichen suchen und die dann zählen - aber w

  Alt 29. Jun 2006, 14:31
Dann will ich mal ein wenig erklären:

Zunächst mal hast Du den String, den Du in einer FOR-Schleife durchlaufen musst: vom ersten Buchstaben bis zum letzten.
In einem String haben die einzelnen Buchstaben "Chars" alle einen Index in dem String, Beispiel:
wenn s der String ist, bekommst Du mit s[1] den ersten Buchstabe und mit s[2] den zweiten Buchstaben.
Also bekommst Du mit s[i] (wenn i ein Integer-Wert, eine Zahl, ist) den Char (Buchstabe) an der Position i in Deinem String.
Mit Length(s) bekommst Du die Anzahl der Buchstaben in dem String, also die Länge des Strings.

Wir brauchen jetzt eine FOR-Schleife, die den String von Anfang bis Ende durchläuft und den Char mit dem gesuchten Char an der aktuellen Stelle (Position i) vergleicht.
Dein String ist jetzt nicht s sondern eben Edit1.Text, der gesuchte Char steht in Edit2.Text.

Delphi-Quellcode:
var i, j: Integer; //i als Variable für die Position im String (also für die FOR-Schleife)
                   //j zählt die Chars, also wie oft Edit2.Text in Edit1.Text vorkommt
begin
  j := 0; //zunächst kommt unser Buchstabe 0 Mal vor

  for i := 1 {Startwert von i: erster Buchstabe} to Length(Edit1.Text) {Endwert von i: letzer Buchstabe = Länge des Strings} do
  
    if Edit1.Text[i] {Buchstabe an der Position i} = Edit2.Text[1] {erste Buchstabe in Edit2.Text = unser gesuchter Char} then
      j := j + 1; //j wird um 1 erhöht
end;
//Edit:
Jetzt hab ich sowas schönen geschrieben und ihr ward doch schneller...
Wo bleibt der rote Kasten ???
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat