![]() |
string von rechts nach links auslesen
Normalerweise wird ja ein string von links nach rechts addressiert string[position x].
Ich muss jedoch ander herum die einzelnen zeichen abfragen, wie mache ich das? Ist übrigens immer ein 16 stelliger String. Gibts da eine Delphi Funktion oder muss man da was selber basteln? Wenn ja wie :roll: |
Re: string von rechts nach links auslesen
Ein wenig Mathe (1. Klasse-Level) und schon geht es los:
Delphi-Quellcode:
...:cat:...
var
I: Integer; begin // vorwärts for I := 1 to Length(myString) do ShowMessage(myString[I]); // rückwärts I for I := 1 to Length(myString) do ShowMessage(myString[Length(myString) - I + 1]); // rückwärts II for I := Length(myString) downto 1 do ShowMessage(myString[I]); end; |
Re: string von rechts nach links auslesen
Ich sage mal: "For ... Downto ... do ...
Tschuldigung: Variante Rückwärts II habe ich überlesen. |
Re: string von rechts nach links auslesen
Zitat:
...:cat:... |
Re: string von rechts nach links auslesen
tjo, genau sowas.
Von einem Semster no. 5 Studenten nicht so viel erwarten... :witch: |
Re: string von rechts nach links auslesen
Zitat:
...:cat:... |
Re: string von rechts nach links auslesen
noch ne frage:
Und zwar will ich einen ganzen string umgekehrt in ein edit feld schreiben. Doch dreht er es mir nicht um. :? Habe folgenden Ansatz:
Delphi-Quellcode:
Aber es wird nicht gedreht :gruebel:
for I := Length(string) downto 1 do
vonrechts:=vonrechts+string[I]; //umdrehen und in 'vonrechts' schreiben edit1.text:=vonrechts; |
Re: string von rechts nach links auslesen
Kompletter Originalsource wäre hilfreich. Oder heißt Deine Variable String?
|
Re: string von rechts nach links auslesen
Zwei Varianten, welche beide das gleiche Ergebnis liefern. Version 1 ist einfacher zu verstehen, Version 2 ist dafür schneller ;-)
Delphi-Quellcode:
...:cat:...
procedure TForm1.Button1Click(Sender: TObject);
var I: Integer; Input, Output: String; begin Input := Edit1.Text; Output := ''; for I := Length(Input) downto 1 do Output := Output + Input[I]; Edit2.Text := Output; end; procedure TForm1.Button2Click(Sender: TObject); var I, J: Integer; Input, Output: String; begin Input := Edit1.Text; J := 1; SetLength(Output, Length(Input)); for I := Length(Input) downto 1 do begin Output[J] := Input[I]; Inc(J); end; Edit2.Text := Output; end; |
Re: string von rechts nach links auslesen
Und bevor ich es vergesse, da gab es doch noch einen dritten Button auf meinem Form:
Delphi-Quellcode:
...:cat:...
procedure TForm1.Button3Click(Sender: TObject);
begin Edit2.Text := ReverseString(Edit1.Text); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr. |
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