Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi string von rechts nach links auslesen (https://www.delphipraxis.net/10272-string-von-rechts-nach-links-auslesen.html)

Praktikant 15. Okt 2003 09:25


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:

sakura 15. Okt 2003 09:30

Re: string von rechts nach links auslesen
 
Ein wenig Mathe (1. Klasse-Level) und schon geht es los:

Delphi-Quellcode:
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;
...:cat:...

Tom 15. Okt 2003 09:39

Re: string von rechts nach links auslesen
 
Ich sage mal: "For ... Downto ... do ...

Tschuldigung: Variante Rückwärts II habe ich überlesen.

sakura 15. Okt 2003 09:44

Re: string von rechts nach links auslesen
 
Zitat:

Zitat von Tom
Ich sage mal: "For ... Downto ... do ...

Tschuldigung: Variante Rückwärts II habe ich überlesen.

Kein Problem - das kam auch erst eine Sekunde später dazu :mrgreen: (Siehe Edit=2) ;-)

...:cat:...

Praktikant 15. Okt 2003 09:55

Re: string von rechts nach links auslesen
 
tjo, genau sowas.

Von einem Semster no. 5 Studenten nicht so viel erwarten... :witch:

sakura 15. Okt 2003 09:59

Re: string von rechts nach links auslesen
 
Zitat:

Zitat von Praktikant
Von einem Semster no. 5 Studenten nicht so viel erwarten... :witch:

Okay :mrgreen: Nur irgendwie lag mir das gerade so unter den Fingern. Gut, daß Du Humor hast ;-)

...:cat:...

Praktikant 16. Okt 2003 08:49

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:
for I := Length(string) downto 1 do  
  vonrechts:=vonrechts+string[I];    //umdrehen und in 'vonrechts' schreiben
  edit1.text:=vonrechts;
Aber es wird nicht gedreht :gruebel:

Tom 16. Okt 2003 08:53

Re: string von rechts nach links auslesen
 
Kompletter Originalsource wäre hilfreich. Oder heißt Deine Variable String?

sakura 16. Okt 2003 08:56

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:
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;
...:cat:...

sakura 16. Okt 2003 09:00

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:
procedure TForm1.Button3Click(Sender: TObject);
begin
  Edit2.Text := ReverseString(Edit1.Text);
end;
...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:48 Uhr.

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