![]() |
Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
Zitat:
@ ChrisE ich schau es mir nochmal an bzw versuch es mal wobei das würd mich glat komplett aufn kopp stellen |
Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
Das Problem ist, wenn du StrToInt benutzt und dann im SpinEdit keine Ganzzahl drinsteht, dann gibt halt den Fehler.
Wenn du StrToIntDef benutzt, kannst du das Abfangen. |
Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
Hallo Lightbeam
aber ich hab dir mit dem Quelltext genau das gegeben was divBy0 gesagt hat. Nur beim Senden ist es wichtig das die "0" vorne steht und nicht im UserInterface (also Deiner SpinEdit). Genau das macht der Quelltext :-) Gruß, Chris P.S.: Der Aufruf der Methode könnte dann so aussehen:
Delphi-Quellcode:
@Edit: Vergessen, dass SpinEdit.Wert ja alles sein kann :wall:
// in der Ereignisbehandlungsroutine für das Senden
try SendWert := StrToInt(SpinEdit.Wert); except SendWert := -1; // als Marker das was schief ging end; if (SendWert >= 0) and (SendWert<=255) then begin UebertrageWert(SendWert); end else begin // User Informieren das das so nicht geht :-) end; // und alles andere was so nötig ist in dieser Methode... |
Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
Zitat:
aaaaabbbbeeeeer ich will da zB auch ne zahl eintippen was leider jetzt nicht mehr geht :D |
Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
Zitat:
|
Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
Ich hab zB ein SpinEdit wert mit Pfeiltasten bzw + - eingestellt von mir Festeingestellten wert von 0-900
nun stell ich zb 50 ein der soll halt 050 übertragen das tut er auch wenn ichs mit + - tasten einstelle durch den def wert umgehe ich zwar den fehler nun schreit er mir aber dauerhaft ne 000 <-- mein def wert wenn ich es mit zahlen in spinedit eintippen will das heist nicht über die + - Tasten
Delphi-Quellcode:
procedure TForm1.testChange(Sender: TObject);
begin Test.Text:=format('%0.3d',[strToIntDef(Test.text,000)]); end; |
Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
Wenn er dann "000" sendet, kann der eingegebene String nicht in eine Ganzzahl gewandelt werden.
|
Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
Zitat:
das 000 steht ja dazu da def wert einzutragen fals keine Gültige zahl da ist da er aber nachm ersten zahl druck schon die zeile ausfüllt klappt das nicht oO |
Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
kleiner tipp am rande...nehm lieber ein Tedit und ein TUpDown, da Spinedit unter späteren Delphi-versionen nicht mehr zur verfügung seht.
ansonsten würde ich das so in etwa machen (funktioniert bei mir,solange updown1.associate nicht auf das editfeld gesetzt ist):
Delphi-Quellcode:
zusätzlich kannst du natürlich auch die Pfeiltasten noch hinzufügen (keydown).
procedure TForm1.UpDown1Change;
begin edit1.text:=format('%0.3d',[updown1.position]); end; procedure TForm1.UpDown1Changing(Sender: TObject; var AllowChange: Boolean); begin updown1change; end; procedure TForm1.Edit1Change(Sender: TObject); begin updown1.Position:=strToIntDef(edit1.text,000) end; procedure TForm1.Edit1Exit(Sender: TObject); begin updown1change; end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if key='+' then begin updown1.Position:=updown1.Position+1; updown1change; key:=#0; end else if key='-' then begin updown1.Position:=updown1.Position-1; updown1change; key:=#0; end; end; HTH Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 Uhr. |
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