![]() |
got longint expected ansistring
Habe bereits bei Google gesucht aber da gibt es nur 1 Seite und die ist französisch
![]() glaube ich zumindest :cyclops: Was ich vorhabe ist die UNIX TimeStamp aus einem Datum zu berechen, habe dazu mir eine Anleitung aus einem anderen Board geschnappt (weiß nicht ob link hier erlaubt ist) und die ein wenig umgebastelt und verkürzt so das dies rauskam
Delphi-Quellcode:
wenn ich das jetzt so mache dann bekomme ich diesen Fehler:
procedure TForm3.Button2Click(Sender: TObject);
var Result: integer; iTime: integer; HumanStamp: tDateTime; hh, mm, ss, ms: word; const FirstOf1970 = 25569; // [s] seit 30.12.1899 bis 01.01.1970 (WinZeit -> UnixZeit) OneDay = 86400; // in [s] OneHour = 3600; // in [s] OneMinute = 60; // in [s] begin //HumanStamp := '01.01.2005'; Result := 0; DecodeTime(HumanStamp, hh, mm, ss, ms); { Tage seit 1.1.1970 in Sekunden } iTime := (Trunc(HumanStamp) - FirstOf1970) * OneDay; { Stunden und Minuten und Sekunden aufaddieren } iTime := iTime + (hh * OneHour); iTime := iTime + (mm * OneMinute); iTime := iTime + ss; if iTime < 0 then iTime := 0; Result := iTime; Edit1.Text := iTime; // ShowMessage ('UNIX-Datum: ' + iTime +' '); end; got longint expected ansistring ich weiß da ist noch so einiges falsch, aber möchte wenigstens erstmal nen ergebnis bekommen und jetzt lacht mich aus, in der anleitung war das ganze eine Funktion, leider weiß ich nicht wie man sowas einbaut (ja ja gelächter ;)) deshalb habe ich das etwas umgebaut |
Re: got longint expected ansistring
Dir ist schon klar, dass TEdit.Text keine numerische Property ist? :gruebel:
Und da du nicht mit VB arbeitest sondern mit einer halbwges typ sicheren Sprache, musst du natürlich erst den Integer in einen String umwandeln. ;) |
Re: got longint expected ansistring
Jo und so lautet die Lösung für alle die danach mal suchen:
Result := inttostr(iTime); |
Re: got longint expected ansistring
Delphi-Quellcode:
function GetUnixTime(Zeit: TDateTime): LongInt;
const UnixDateDelta = 25569; begin // Liefert die Zeit als Unix TimeStamp zurück... Result := Round(((Zeit-UnixDateDelta)*24*60*60)-7200.5); end; |
Re: got longint expected ansistring
Liste der Anhänge anzeigen (Anzahl: 1)
mmm da wären wir wieder beim thema Function :D
habe es jetzt so gelöst und funktioniert Prima:
Delphi-Quellcode:
so schaut das ganze in der Eingabe aus:
procedure TForm3.Button2Click(Sender: TObject);
var Ausgabe : string; Eingabe : string; Zeitverschiebung : integer; iTime : integer; NormalesDatum : tDateTime; hh, mm, ss, ms : word; const FirstOf1970 = 25569; // in Sekunden seit 30.12.1899 bis 01.01.1970 (WinZeit -> UnixZeit) OneDay = 86400; // Sekunden OneHour = 3600; // Sekunden OneMinute = 60; // Sekunden begin if Edit1.Text = '' then Edit1.Text := FormatDateTime('dd.mm.yyyy', now); if Edit2.Text = '' then Edit2.Text := '00:00'; if Edit3.Text = '' then Edit3.Text := '0'; Eingabe := Edit1.Text + ' ' + Edit2.Text; // Datum und Zeit zusammenfuegen NormalesDatum := StrToDateTime(Eingabe); // Eingabe in Datumsformat umwandeln Zeitverschiebung := strtoint(Edit3.Text) * OneHour; // Zeitverschiebung berechnen DecodeTime(NormalesDatum, hh, mm, ss, ms); iTime := (Trunc(NormalesDatum) - FirstOf1970) * OneDay; // Tage seit 1.1.1970 in Sekunden abziehen iTime := iTime + (hh * OneHour); // Stunden iTime := iTime + (mm * OneMinute); // Minuten iTime := iTime + ss; // Sekunden iTime := iTime + Zeitverschiebung; // Zeitverschiebung beachten if iTime < 0 then iTime := 0; // nur positive Ausgabe Ausgabe := inttostr(iTime); Edit4.Text := Ausgabe; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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 by Thomas Breitkreuz