![]() |
integer überprüfen
Moin Moin
Ich bastel gerade an einer Umwandlung der UNIX TimeStamp ins Normale Datum, das Funkioniert auch soweit ganz gut nur wenn der in Edit1 eigegebene Wert kein gültiger ingeger mehr ist dann Bekomme ich im programm die entsprechnde Fehlermeldung, möchte da aber gerne meine eigene Fehlermeldung ausgeben. Bei Google habe ich bis jetzt noch nichts gefunden, ußer die Gültigkeitsbereiche :gruebel: aber das möchte ich ja gerne überprüfen momentan schau das ganze so aus:
Delphi-Quellcode:
das Problem wird wohl in
procedure TForm4.Button2Click(Sender: TObject);
var hh, mm, ss : cardinal; UnixZeit : integer; Ausgabe : integer; s : string; t : string; const FirstOf1970 = 25569; begin if Edit1.Text = '' then Edit1.Text := '0'; UnixZeit := strtoint(Edit1.Text); if UnixZeit < 0 then begin UnixZeit := 0; Edit1.Text := '0'; end; if UnixZeit > 2147483647 then begin UnixZeit := 2147483647; Edit1.Text := '2147483647'; // 2147483647 end; hh := UnixZeit mod 86400; mm := hh mod 3600; hh := hh div 3600; ss := mm mod 60; mm := mm div 60; Ausgabe := (UnixZeit div 86400) + FirstOf1970; t := timetostr(EncodeTime(hh, mm, ss, 0)); s := FormatDateTime('dddd", " dd. ' + 'mmmm yyyy "-" ' + t + ' "Uhr"',Ausgabe); Edit2.Text := s; end; UnixZeit := strtoint(Edit1.Text); liegen, also bei der Konvertierung Hat jemand nen Tipp für mich ? |
Re: integer überprüfen
Hallo,
[oh]TryStrToInt, StrToIntDef[/oh] wären gute Stichworte für die OH. (Von der Forensuche ganz zu schweigen ;)) Greetz alcaeus |
Re: integer überprüfen
Delphi-Quellcode:
Funktioniert :)
procedure TForm1.Button1Click(Sender: TObject);
var blubb:integer; begin try blubb:=StrToInt(edit1.text) except showmessage('blah'); end; end; Allerdings bekommste, solang du im debugger bist, erst die Fehlermeldung, dass es kin gueltiger Integer wert is... Wenne net mehr im Debugger bsit bekomsmte einfach nurnoch 'blah' ... mfg Kiste |
Re: integer überprüfen
@ alcaeus
schicke mir mal dein Delphi dann schaue ich auch in dei OH rein, habe doch Lazarus ;) gesucht habe ich bereits: invalid integer 2147483647 pascal integer überprüfen pascal hatte ja nix gebracht Kiste's Lösung war der Schlüssel wie ich es jetzt gelöst habe
Delphi-Quellcode:
vielen Dank für die Hilfe
procedure TForm4.Button2Click(Sender: TObject);
var hh, mm, ss : cardinal; UnixZeit : integer; Ausgabe : integer; s : string; t : string; const FirstOf1970 = 25569; begin if Edit1.Text = '' then Edit1.Text := '0'; try UnixZeit := strtoint(Edit1.Text); except ShowMessage('Hier darf nur eine gültige UNIX-TimeStamp eingegeben werden!'); Edit1.SetFocus; UnixZeit := 0; end; if UnixZeit < 0 then begin ShowMessage('Hier darf nur eine gültige UNIX-TimeStamp eingegeben werden!'); UnixZeit := 0; Edit1.SetFocus; end; hh := UnixZeit mod 86400; mm := hh mod 3600; hh := hh div 3600; ss := mm mod 60; mm := mm div 60; Ausgabe := (UnixZeit div 86400) + FirstOf1970; t := timetostr(EncodeTime(hh, mm, ss, 0)); s := FormatDateTime('dddd", " dd. ' + 'mmmm yyyy "-" ' + t + ' "Uhr"',Ausgabe); Edit2.Text := s; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 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