Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi zahl durch ein Zeichen ersetzen ? (https://www.delphipraxis.net/114637-zahl-durch-ein-zeichen-ersetzen.html)

Delphiturbo 28. Mai 2008 18:58

Re: zahl durch ein Zeichen ersetzen ?
 
Schleife ist nicht mehr gebraucht
deswegen kommt der Code lang :mrgreen:

DeddyH 28. Mai 2008 19:00

Re: zahl durch ein Zeichen ersetzen ?
 
2 Möglichkeiten:

1. case benutzen
2. ASCII-Tabelle benutzen

grenzgaenger 28. Mai 2008 19:03

Re: zahl durch ein Zeichen ersetzen ?
 
3. möglichkeit, 'ne sprungtabelle verwenden... ;-)

aber die wird wohl zu hoch für dich sein :angel:

DeddyH 28. Mai 2008 19:07

Re: zahl durch ein Zeichen ersetzen ?
 
Delphi-Quellcode:
if (l1 in ['0'..'9']) then
  zeichen := Chr(Ord(l1) + 49);
Nun denk mal drüber nach, was ich hier mache.

[edit] Was ich ja noch gar nicht erwähnt hatte: Lösch mal den Text aus Edit1 und wundere Dich :mrgreen: [/edit]

Delphiturbo 28. Mai 2008 19:42

Re: zahl durch ein Zeichen ersetzen ?
 
Mit deinem Code DadyH bekomme ich hexa Zeichen !
Und wenn das Feld leer ist, bekomme ich Error deswegen
versuche ich nur Zahlen zu übernehmen :

Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
var
i,l1,l2,l3 : Integer; // diesmal l1 bis l3 als Integer
feld1,zeichen1,zeichen2: String;
begin
feld1:=Edit1.Text;

l1 := strToInt(Feld1[1]);
l2 := strToInt(Feld1[2]);
l3 := strToInt(Feld1[3]);

if (l2 in [0..9]) then
  zeichen1 := Chr(Ord(l2) + 49); // gibt nicht die gewünschte Buchstabe
// zeichen 2
...
if (l2) or (l3) <> [0...9] then
    zeichen1:='';
    zeichen2:='';
Edit2.Text:='inf=' +IntToStr(l1) +IntToStr(l2) +IntToStr(l3) + '-' + zeichen1 +zeichen2;
end;
procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
Edit1.Text := Format('%.3d', [UpDown1.Position]);
end;
end.

DeddyH 28. Mai 2008 19:44

Re: zahl durch ein Zeichen ersetzen ?
 
Ob als integer oder nicht, wenn Du das Edit leerst, knallt es. und was sind bitte Hexazeichen?

FAlter 28. Mai 2008 19:46

Re: zahl durch ein Zeichen ersetzen ?
 
Hi,

Zitat:

Zitat von DeddyH
und was sind bitte Hexazeichen?

Zeichen des Hexalsystems, also 0, 1, 2, 3, 4 und 5.

:mrgreen:

Mfg
FAlter

Delphiturbo 29. Mai 2008 10:08

Re: zahl durch ein Zeichen ersetzen ?
 
Ich möchte nun den Wert in Edit1 nicht von null anfangen
sondern weiter zählen
Delphi-Quellcode:
Edit1.Text := Format('%.3d', [UpDown1.Position]);
d.h. wenn ich 555 in edit1 eingebe und klicke auf UpDown1Click dann wird mein Wert gelöscht und fängt er wo er war an !

oder muss ich die UpDown1Click.position in Form1.Oncreate auch was programmieren :gruebel:

Sherlock 29. Mai 2008 10:11

Re: zahl durch ein Zeichen ersetzen ?
 
Gibt es bei Dir die Komponentengruppe Beispiele?
Da gibt es nämlich eine Komponente die heisst SpinEdit. Das nimmt Dir glaube ich die Arbeit ab, die Du Dir da machst.

Sherlock

Delphiturbo 29. Mai 2008 10:20

Re: zahl durch ein Zeichen ersetzen ?
 
Ist es mit Edit.text nicht möglich ?
Nur wenn es möglich ist, kann ich SpinEdit nehmen. Allerdings finde ich in SpinEdit-Eigenschaft in OI keine Möglichkeit um die Pfeilen zu vergrößern !


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz