Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String kopieren/ bearbeiten (https://www.delphipraxis.net/68731-string-kopieren-bearbeiten.html)

Chippie82 4. Mai 2006 11:23


String kopieren/ bearbeiten
 
Hallo Leute,
ich habe vor in einem Edit Feld z.B. 100,200 einzugeben.
Jetzt möchte ich dort jeweils die 100 und die 200 rauskopieren um dann die 100 in einem Memofeld anzeigen zu lassen und die 200 in einem anderen Memofeld anzeigen.
Über einen Button wird das Ereignis ausgelöst.

Wie mache ich das?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
  var
  eingabe:string;
 begin
  edit1.text:=eingabe; //Hier soll 100,200 eingegeben werden
  memo1.lines.add(a);  //Hier soll 100 stehen
  memo1.lines.add(b);  //Hier soll dann 200 stehen
end;

gugelhupf 4. Mai 2006 11:27

Re: String kopieren/ bearbeiten
 
Schon mal die Funktion Copy angeschaut?

oldmax 4. Mai 2006 11:32

Re: String kopieren/ bearbeiten
 
Hi
Eine der einfachsten Übung: Schau mal nach, was unter der Funktion "Pos" geschrieben steht....
Hilfsvariable und dann geht's los: xPos:=Pos(',',Edit1.text). Rest erledigst du mit "Copy".
a:=Copy(Edit1.Text.1.xPos-1);
b:=Copy(Edit1.Text,xPos+1,Length(Edit1.Text)-xPos);

Vjay 4. Mai 2006 11:36

Re: String kopieren/ bearbeiten
 
Oldmax, nett von dir ihm den fertigen Fisch zu präsentieren. Ich hätte es beim "Fischen zeigen" belassen und vielleicht noch erwähnt wie er in der Hilfe nachschlägt.

Cicaro 4. Mai 2006 11:44

Re: String kopieren/ bearbeiten
 
Jo, mit Copy, Pos und vielleicht auch Delete kommst du weiter.

Außerdem ist eingabe redundant und es ist auch nicht klar, was a und b sein sollen. Um 100 in memo1.lines sinnvoll einzufügen, sollte a vom Typ String sein oder zu einem solchen konvertiert werden.

himitsu 4. Mai 2006 11:48

Re: String kopieren/ bearbeiten
 
man könnte natürlich auch sowas wie explodeexplode nutzen :mgreen:

s.h.a.r.k 4. Mai 2006 11:49

Re: String kopieren/ bearbeiten
 
a und b waren doch noch nie von einem anderen Typ? Wenns im Edit steht ist es ein String und wenns im Memo eingefügt wird ist es immer noch ein String!

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  s, wertA, wertB : String;
begin
  s := Edit1.Text;
  wertA := copy(s, 1, pos(',', s) - 1);
  wertB := copy(s, pos(',', s) + 1, length(s));

  Memo1.Lines.Add(wertA);
  Memo1.Lines.Add(wertB);
end;

freak4fun 4. Mai 2006 11:52

Re: String kopieren/ bearbeiten
 
Zitat:

Zitat von Vjay
Oldmax, nett von dir ihm den fertigen Fisch zu präsentieren. Ich hätte es beim "Fischen zeigen" belassen und vielleicht noch erwähnt wie er in der Hilfe nachschlägt.

Für manche Leute ist es eine Motivation angeln zu lernen, wenn sie einen großen Fisch sehen. ;)

MfG
freak

Chippie82 4. Mai 2006 11:53

Re: String kopieren/ bearbeiten
 
Also Danke erstmal, werde es gleich mal ausprobieren.
Mit der Antwort der Hilfe komme ich noch nicht so recht klar:

Delphi-Quellcode:
Copy(S; Index, Count: Integer): string;
Zitat:

Beschreibung

S ist ein Ausdruck des Typs String oder dynamisches Array. Index und Count sind Integer-Ausdrücke. Copy gibt einen Substring oder ein Array zurück, das Count Zeichen oder Elemente ab S[Index] enthält.

Ist Index größer als die Länge von S, gibt Copy einen leeren String oder ein leeres Array zurück.

Gibt Count mehr Zeichen oder Array-Elemente an, als verfügbar sind, werden nur die Zeichen oder Elemente von S[Index] bis zum Ende von S zurückgegeben.

Hinweis

Wenn S ein dynamisches Array ist, kann Copy als Parameter in einem Aufruf einer Prozedur oder Funktion verwendet werden, die Array-Parameter akzeptiert. D.h., daß Copy bei dynamischen Arrays wie die Funktion Slice arbeitet.

Also soll das folgender Maßen funktionieren?

S = Das Eingabefeld;
Index = Der Anfang der Zeile, von wo aus er anfangen soll zu kopieren;
Count = Die Länge;

Heißt, wenn ich z.B. folgenden text habe: Dies ist ein Test
Müsste am Ende nur noch stehen: Test
Ist das so richtig?
Wofür ist dann noch das Integer und der String nach dem : ?


Gruß

Chippie

s.h.a.r.k 4. Mai 2006 11:54

Re: String kopieren/ bearbeiten
 
Allerdings ist es auch ein (großer) Lerneffekt, Quellcodes anderer zu sehen und zu wissen, welche Fehler man nicht machen darf :) man zieht sich bei sowas (meiner meinung nach) nur die besten Eigenschaften und Ideen heraus!


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:28 Uhr.
Seite 1 von 2  1 2      

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