Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Container Schleife (https://www.delphipraxis.net/113418-container-schleife.html)

Lord Isaac 7. Mai 2008 16:03


Container Schleife
 
Hey Leute. Ich habe folgendes Problem. Ich soll mithilfe einer Containerschleife einen Text manipulieren.

http://img393.imageshack.us/img393/7954/bildvq1.png

Code:
var text, a, b: String;
             z: Char;
begin
  text := Edit1.Text;
  a := Edit3.Text;
  b := Edit4.Text;
  for z in text do

  Edit2.Text := text;
end;
Durch diese Schleife soll der Text oben mit dem Ersetzungsbuchstaben manipuliert werden. Kann mir jemand helfen? Ist sehr dringend.

Danke schon einmal im voraus. =)

dominikkv 7. Mai 2008 16:05

Re: Container Schleife
 
Schau mal nach StringReplace

Lord Isaac 7. Mai 2008 16:14

Re: Container Schleife
 
Hey danke für die schnelle Antwort.

Wenn ich diesen Befehl benutze, komme ich aber auch ohne diese Schleife aus. Es muss aber mit der Schleife gemacht werden.

Klaus01 7. Mai 2008 16:19

Re: Container Schleife
 
es sollte in etwa so funktionieren.

Delphi-Quellcode:
Edit2.Text:='';
for z:=1 to length(Edit1.text) do
  begin
    if edit1.Text[z] = a then
      edit2.text := edit2.text + b
    else
      edit2.text := edit2.text + edit1.text[z];
  end;
Aber was immer eine Containerschleife sein mag?

Grüße
Klaus

Lord Isaac 7. Mai 2008 16:24

Re: Container Schleife
 
Bei der Containerschleife (for ELEMENT in CONTAINER) also in meinem Fall for z in text wird z mit jedem einzelnen Char aus text belegt. Wenn z dann den Char zugewiesen bekam, der in dem linken der kleinen Felder steht, so soll die Schleife dann diesen Char mit dem Buchstaben ersetzen der im rechten kleinen Kästchen steht.

Ach und außerdem. Wenn man nach getaner Arbeit wieder auf das oberste Edit-Feld klickt soll alles geleert werden. Verrät mir auch da noch jemand wie das funktioniert?

Danke.^^

Fussball-Robby 7. Mai 2008 16:25

Re: Container Schleife
 
Zitat:

Zitat von Klaus01
Aber was immer eine Containerschleife sein mag?

Hab ich mich auch gerade gefragt..

Naja, roter Kasten, aber ich poste meinen Vorschlag trotzdem mal :wink:
Delphi-Quellcode:
function Manipulieren(Text: String; Old, New: Char): String;
var
  i: Integer;
begin
  Result := Text;
  for i := 1 to Length(Result) do
    if Result[i] = Old then
      Result[i] := New;
end;

//Aufruf:
  Edit2.Text := Manipulieren(Edit1.Text, 'a', 'e');//ersetzt 'a' durch 'e'
Mfg

Lord Isaac 7. Mai 2008 16:28

Re: Container Schleife
 
Zitat:

Aber was immer eine Containerschleife sein mag?
Das habe ich in meinem Beitrag vorher mal versucht zu erklären.^^

Ist eine abgewandelte Zählschleife. Muss sie aber so benutzen. :(

grenzgaenger 7. Mai 2008 16:54

Re: Container Schleife
 
meinst so was?
Delphi-Quellcode:
function translate(const quelle: string; vonC, NachC: char): string;
var
 c: char;
begin
 result := '';
 for c in quelle do
  if c = VonC then
   result := result + NachC
  else
   result := result + c;
end;

DeddyH 7. Mai 2008 17:26

Re: Container Schleife
 
Delphi-Quellcode:
for c in quelle do
Dieses Konstrukt kenn ich nur von Bash-Skripten. Es wäre mir neu, wenn das in Delphi auch ginge.

grenzgaenger 7. Mai 2008 17:28

Re: Container Schleife
 
Zitat:

Zitat von DeddyH
Delphi-Quellcode:
for c in quelle do
Dieses Konstrukt kenn ich nur von Bash-Skripten. Es wäre mir neu, wenn das in Delphi auch ginge.

doch gibts, ist 'n neues konstrukt welches zu D2005 oder D2006 eingeführt wurde. hab es allerdings selbst noch nicht verwendet. danneben erschliesst sich mir der sinn der sache nicht ... :drunken:

noch 'n schönen abend


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:58 Uhr.
Seite 1 von 3  1 23      

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