AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

zahl durch ein Zeichen ersetzen ?

Ein Thema von Delphiturbo · begonnen am 28. Mai 2008 · letzter Beitrag vom 30. Mai 2008
Thema geschlossen
Seite 1 von 4  1 23     Letzte »    
Delphiturbo
(Gast)

n/a Beiträge
 
#1

zahl durch ein Zeichen ersetzen ?

  Alt 28. Mai 2008, 15:44
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 = '0then
zeichen:='x';
if zeichen = '1then
zeichen:='n';

Edit2.Text:= // das Ergebnis soll in Edit 2 angezeigt werden

end;
end.
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: zahl durch ein Zeichen ersetzen ?

  Alt 28. Mai 2008, 15:49
Erstmal fehlen da begin und end. Und es nützt ja nichts, nur das Zeichen zu ersetzen, wenn Du keine Kopie des Originalstrings anlegst
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
Benutzerbild von calculon
calculon

Registriert seit: 16. Sep 2006
256 Beiträge
 
Delphi 7 Personal
 
#3

Re: zahl durch ein Zeichen ersetzen ?

  Alt 28. Mai 2008, 15:50
Zitat von Delphiturbo:
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
Kapier' ich nicht. In deinem Beispiel ersetzt du 0 gar nicht durch x und 1 auch nicht durch n, sondern du passt ss ausgehend von den vorherigen Zeichen an.
 
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.762 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: zahl durch ein Zeichen ersetzen ?

  Alt 28. Mai 2008, 15:52
Ich warte noch eine weitergehende Erklärung ab, vor einem Schubs in die richtige Richtung.

*Gespanntbin*

Sherlock
Oliver
 
NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#5

Re: zahl durch ein Zeichen ersetzen ?

  Alt 28. Mai 2008, 16:32
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 = '0then // zeichen im vollenstring ändern
StringVoll[i] :='x';
if zeichen = '1then
StringVoll[i] :='n
end;
Edit2.Text := StringVoll; // dann geänderter string rausgeben;

end;
Nickel
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: zahl durch ein Zeichen ersetzen ?

  Alt 28. Mai 2008, 16:43
Was soll denn hier herauskommen?
Zitat:
Delphi-Quellcode:
for i := 6 to 7 do
  zeichen:=Edit1.Text[i];
Edit1.Text[7], oder? Wozu dann die Schleife?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#7

Re: zahl durch ein Zeichen ersetzen ?

  Alt 28. Mai 2008, 16:48
neee bei Edit1.Text[1] z.b. kommt das erste zeichen den strings Text
Wenn man sagt
Delphi-Quellcode:
String := 'Hallo';
Test := String[1]
//vorausgesetzt beide test und string sind string typ kommt folgendes raus
Test := 'H';
Nickel
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: zahl durch ein Zeichen ersetzen ?

  Alt 28. Mai 2008, 16:50
Nochmal, ohne Blockbildung mit begin und end macht die Schleife keinen Sinn, weil "zeichen" immer wieder überschrieben wird. Jetzt klar, was ich meine?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
Delphiturbo
(Gast)

n/a Beiträge
 
#9

Re: zahl durch ein Zeichen ersetzen ?

  Alt 28. Mai 2008, 18:52
Ich habe das Problem gelöst
aber mit einem lagen Code
Also ich möchte nur letzte 2 Zeichen durch bestimmte Buchstaben ersetzen :

Vielleicht kann jamand den Code verkürzen
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='0then
    zeichen1:='a';
if l2='1then
    zeichen1:='b';
if l2='2then
    zeichen1:='c';
if l2='3then
    zeichen1:='d';
if l2='4then
    zeichen1:='e';
if l2='5then
    zeichen1:='f';
if l2='6then
    zeichen1:='g';
if l2='7then
    zeichen1:='h';
if l2='8then
    zeichen1:='i';
if l2='9then
    zeichen1:='j';
// zeichen 2
if l3='0then
    zeichen2:='a';
if l3='1then
    zeichen2:='b';
if l3='2then
    zeichen2:='c';
if l3='3then
    zeichen2:='d';
if l3='4then
    zeichen2:='e';
if l3='5then
    zeichen2:='f';
if l3='6then
    zeichen2:='g';
if l3='7then
    zeichen2:='h';
if l3='8then
    zeichen2:='i';
if l3='9then
    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.
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: zahl durch ein Zeichen ersetzen ?

  Alt 28. Mai 2008, 18:54
Ich geb' s auf, nochmal sag ich' s nicht

Zitat:
Delphi-Quellcode:
for i:=0 to 10 do //*grusel*
l1 := Feld1[1];
l2 := Feld1[2];
l3 := Feld1[3];
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
Thema geschlossen
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 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