Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Position von Zeichen mit Komma ausgeben
basti_G - Fr 15.05.09 19:31
Titel: Position von Zeichen mit Komma ausgeben
folgendes problem stellt sich mir:
ich gebe eine zeichenkette in ein editfeld ein, in ein anderes einen buchstaben! klicke dann auf meinen button "auswerten" und folgendes soll passieren: in einem weiteren editfeld soll ausgegeben werden, wie oft der gesuchte buchstabe in der zeichenkette vorkommt, in einem nächsten soll ausgegeben werden wie lang die zeichenkette insgesamt ist ---> bis hier funktioniert alles!
jetzt mein problem: in einem letzten editfeld sollen die stellen ausgegeben werden (mit komma getrennt), an denen der gesuchte buchstabe in der zeichenkette vorkommt ! --> bloß wie ist der befehl dafür???
wäre für hilfe sehr dankbar!
Delete - Fr 15.05.09 19:59
Wenn Du sowieso schon die Zeichenkette durchläufst (for-Schleife?), kannst Du die gefundene Position doch gleich an den letztlich auszugebenden String anhängen.
basti_G - Sa 16.05.09 11:14
ja, sowas hab ich mir auch schon gedacht, aber irgendwie komme ich nicht auf den befehl, den ich da noch brauche!
LexXis - Sa 16.05.09 11:17
Du hast ja schon die Laufvariable der for-schleife, sprich: die aktuelle Position. Jetzt mach dich noch über IntToStr schlau, dann dürfte sich der Rest von allein ergeben.
ffgorcky - Sa 16.05.09 12:25
Also wenn ich das Problem jetzt gerade richtig überblicke, dann müsste es doch so gehen:
Delphi-Quelltext
1: 2:
| if Zeichenkette[momentanePosition]=gesuchterBuchstabe then EditAnWelchenStellen.Text:=EditAnWelchenStellen.Text+IntToStr(momentanePosition)+','; |
...vorausgesetzt, Du nutzt die Variable momentanePosition als Schleifen-Variable.
Delete - Sa 16.05.09 14:05
So ähnlich würde ich das auch machen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| AusgabeString := ''; for i := 1 to Length(StringVariable) do if StringVariable[i] = Zeichen then begin if Length(AusgabeString) = 0 then AusgabeString := IntToStr(i) else AusgabeString := AusgabeString + ',' + IntToStr(i); end; |
basti_G - Sa 16.05.09 14:10
jo, vielen dank jetzt funzt es ... irgendwie stand ich auf dem schlauch, zwecks den string anhängen!
vielen dank nochmal und schönes WE!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!