Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ? (https://www.delphipraxis.net/123979-tspinedit-und-zahlen-mit-ner-0-aufstocken-zum-senden.html)

Lightbeam 12. Nov 2008 14:25


TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
 
Hallo erstmal brächte ne kleine Hilfestellung da ich seit paar stunden nichts mehr wirklich finde womit ich mir selbst helfen könnte.


hab ein Problem ich benutze TSpinEdit da kann ich zB dann begrenzt von 0-255 auswählen das problem ist ich geb es über die RS232 Schnittstelle raus .
Dabei wird nur die zahl übertragen zB "12" möchte aber das da ne "012" erscheint..
hoffe meine frage ist klar beschrieben ob das funktioniert mit dem genanten TSpinEdit

mfg Lighty

Sherlock 12. Nov 2008 14:37

Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
 
Zur Klärung: soll im SpinEdit "012" stehen, oder soll an RS232 "012" übertragen werden?

Sherlock

Lightbeam 12. Nov 2008 14:40

Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
 
Hallo Sherlock

Ja sollte über RS232 dan 012 übertragen werden weobei wenn ich bei Spinedit das per hand eintrage passiert das auch

nur halt nicht automatisch

_frank_ 12. Nov 2008 17:23

Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
 
die 0 kannst du mittels Delphi-Referenz durchsuchenformat automatisch anfügen.

Delphi-Quellcode:
label1.caption:=format('%0.3d',[strToInt(edit1.text)]);
HTH Frank

Lightbeam 17. Nov 2008 10:34

Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
 
Zitat:

Zitat von _frank_
die 0 kannst du mittels Delphi-Referenz durchsuchenformat automatisch anfügen.

Delphi-Quellcode:
label1.caption:=format('%0.3d',[strToInt(edit1.text)]);
HTH Frank

Danke Frank das klappt ja soweit nur es wird im Label angezeigt ich benutze
Spiinedit und ich brauch es so das es da drin angezeigt wird

oder andere Lösung das es den Label schickt wobei das 2te eher notlösung wär

mfg Lighty

Klaus01 17. Nov 2008 10:39

Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
 
Guten Morgen,

durch die Brust ins Auge:

Delphi-Quellcode:
spinEdit.Text:=format('%0.3d',[strToInt(spinEdit.text)]);
Grüße
Klaus

Lightbeam 17. Nov 2008 10:43

Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
 
Zitat:

Zitat von Klaus01
Guten Morgen,

durch die Brust ins Auge:

Delphi-Quellcode:
spinEdit.Text:=format('%0.3d',[strToInt(spinEdit.text)]);
Grüße
Klaus

Vielen Dank ! das war es :D komisch das ich nicht selbst draufgekommen bin -.-


Danke nochmals Klaus und Frank

Lightbeam 17. Nov 2008 13:06

Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
 
Zitat:

Zitat von Lightbeam
Zitat:

Zitat von Klaus01
Guten Morgen,

durch die Brust ins Auge:

Delphi-Quellcode:
spinEdit.Text:=format('%0.3d',[strToInt(spinEdit.text)]);
Grüße
Klaus

Vielen Dank ! das war es :D komisch das ich nicht selbst draufgekommen bin -.-


Danke nochmals Klaus und Frank

Die Freude war von Kurzer dauer Es Funktioniert nun alles so wie ich es haben will

"ABER" wenn ich nun ein wert mit hand eintragen will das heist nicht über +- buttons
krieg ich nen fehler " is not a valid integer value hab schon bischen gesucht find aber
mal wieder nicht hab auch einiges selbst probiert .

ChrisE 17. Nov 2008 13:35

Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
 
Hallo,

ich würde versuchen die Darstellung von der "Übertragungseben" zu trennen.

D.h.:
1. User stellt den Wert in diesem Beispiel in der SpinEdit ein.
2. In dem Ereignis (ButtonClick, SpinEditchange....) für das Senden gehst du hin und erstellst den zu übertragenden String bzw. rufst du die Methode zur Übertragung auf:
Delphi-Quellcode:
procedure TForm1.UebertrageWert(AWert: Byte);
var
  sendStr: string;
begin
  sendStr := '';
  // Prüfung des Wertebereichs fast nicht nötig, da AWert vom Typ Byte (0..255)
  try
    // Wert holen und Formatieren
    sendStr := Format('%0.3d',[AWert]);
    // jetzt den Wert senden
    RS232.SendStr(sendStr);
    // weitere Verarbeitung
    // ...
  except
    MessegeDlg(Format('Ungültiger Wert "%d"'#13'Wert kann nicht übertragen werden', [AWert]));
  end;
end;
Ungetestet und nur als Denkanstoß.

Gruß, Chris

@Edit: Ohne Syntax-Highl. gehts nicht immer ;-)

divBy0 17. Nov 2008 13:39

Re: TSpinEdit und Zahlen mit ner 0 aufstocken zum senden ?
 
Versuchs mal mit StrToIntDef.

Aber eigentlich brauchst du die führende Null ja nur zum Senden über RS232 und nicht als Darstellung im SpinEdit, oder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 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