zahl durch ein Zeichen ersetzen ?
Hallo
ich möchte das Zeichen 0 durch x und da Zeichen 1 durch n ersetzen aber nur die letzte 2 Zeichen ss spielt keine Rolle Beispiel : Zahl=000-ss soll Zahl=000-xx Zahl=001-ss soll Zahl=001-xn Zahl=011-ss soll Zahl=011-nn
Delphi-Quellcode:
procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin Edit1.Text := Format('Zahl=' + '%.3d' + '-' + 'ss', [UpDown1.Position]); end; procedure TForm1.Edit1Change(Sender: TObject); var i: Integer; zeichen: String; begin for i := 6 to 7 do zeichen:=Edit1.Text[i]; if zeichen = '0' then zeichen:='x'; if zeichen = '1' then zeichen:='n'; Edit2.Text:= // das Ergebnis soll in Edit 2 angezeigt werden end; end. |
Re: zahl durch ein Zeichen ersetzen ?
Erstmal fehlen da begin und end. Und es nützt ja nichts, nur das Zeichen zu ersetzen, wenn Du keine Kopie des Originalstrings anlegst :zwinker:
|
Re: zahl durch ein Zeichen ersetzen ?
Zitat:
|
Re: zahl durch ein Zeichen ersetzen ?
Ich warte noch eine weitergehende Erklärung ab, vor einem Schubs in die richtige Richtung.
*Gespanntbin* Sherlock |
Re: zahl durch ein Zeichen ersetzen ?
Ich würde es mal so versuchen :
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
var i: Integer; zeichen: String; StringVoll : String; begin StringVoll := Edit1.Text; // erstmal kompletten string speichern for i := 6 to 7 do zeichen:=Edit1.Text[i]; if zeichen = '0' then // zeichen im vollenstring ändern StringVoll[i] :='x'; if zeichen = '1' then StringVoll[i] :='n' end; Edit2.Text := StringVoll; // dann geänderter string rausgeben; end; |
Re: zahl durch ein Zeichen ersetzen ?
Was soll denn hier herauskommen?
Zitat:
|
Re: zahl durch ein Zeichen ersetzen ?
neee bei Edit1.Text[1] z.b. kommt das erste zeichen den strings Text :zwinker:
Wenn man sagt
Delphi-Quellcode:
String := 'Hallo';
Test := String[1] //vorausgesetzt beide test und string sind string typ kommt folgendes raus Test := 'H'; |
Re: zahl durch ein Zeichen ersetzen ?
Nochmal, ohne Blockbildung mit begin und end macht die Schleife keinen Sinn, weil "zeichen" immer wieder überschrieben wird. Jetzt klar, was ich meine?
|
Re: zahl durch ein Zeichen ersetzen ?
Ich habe das Problem gelöst :firejump:
aber mit einem lagen Code Also ich möchte nur letzte 2 Zeichen durch bestimmte Buchstaben ersetzen : Vielleicht kann jamand den Code verkürzen :mrgreen:
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
var //i : Integer; feld1, l1,l2,l3,zeichen1,zeichen2: String; begin feld1:=Edit1.Text; //for i:=0 to 10 do l1 := Feld1[1]; l2 := Feld1[2]; l3 := Feld1[3]; if l2='0' then zeichen1:='a'; if l2='1' then zeichen1:='b'; if l2='2' then zeichen1:='c'; if l2='3' then zeichen1:='d'; if l2='4' then zeichen1:='e'; if l2='5' then zeichen1:='f'; if l2='6' then zeichen1:='g'; if l2='7' then zeichen1:='h'; if l2='8' then zeichen1:='i'; if l2='9' then zeichen1:='j'; // zeichen 2 if l3='0' then zeichen2:='a'; if l3='1' then zeichen2:='b'; if l3='2' then zeichen2:='c'; if l3='3' then zeichen2:='d'; if l3='4' then zeichen2:='e'; if l3='5' then zeichen2:='f'; if l3='6' then zeichen2:='g'; if l3='7' then zeichen2:='h'; if l3='8' then zeichen2:='i'; if l3='9' then zeichen2:='j'; Edit2.Text:='inf=' +l1+l2+l3 + '-' + zeichen1 +zeichen2; end; procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType); begin Edit1.Text := Format('%.3d', [UpDown1.Position]); end; end. |
Re: zahl durch ein Zeichen ersetzen ?
Ich geb' s auf, nochmal sag ich' s nicht :wall:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:33 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