LLpresident Geschrieben 17. Dezember 2001 Geschrieben 17. Dezember 2001 wie kann ich es schaffen einen zeitwert mit einem string zu vergleichen.hier das beispiel wie ichs mir denke wies aber nicht funktioniert: edtPin -> Text =" "; Start = Now (); if(Start < (TDateTime) 0.25) { Start = (TDateTime) 0.25; } else { inputTime = Start; } TimeA = Start; start = 1;
Klotzkopp Geschrieben 17. Dezember 2001 Geschrieben 17. Dezember 2001 Aus Deinem Code werde ich nicht schlau. Was meinst Du mit 0.25? Auf jeden Fall kannst Du auf einer Win32-Plattform einen Zeit-String über den VARIANT-Umweg in einen SYSTEMTIME konvertieren. SYSTEMTIME st; VARIANT var; WCHAR* pszBeispiel = L"17.12.2001 10:43:00"; VariantInit( &var ); var.vt = VT_BSTR; var.bstrVal = ::SysAllocString( pszBeispiel ); VariantChangeType( &var, &var, 0, VT_DATE ); VariantTimeToSystemTime( var.date, &st ); VariantClear( &var ); Danach steht die Zeit in st. Sicherheitshalber solltest Du den Rückgabewert von VariantChangeType abfragen.
LLpresident Geschrieben 17. Dezember 2001 Autor Geschrieben 17. Dezember 2001 eh? he? also:ich will die aktuelle uhrzeit verrgleichen und wenn es noch nicht 6 uhr(0.25) ist soll anstadt der systemzeit(Start) 6 uhr angezeigt werden.
Klotzkopp Geschrieben 17. Dezember 2001 Geschrieben 17. Dezember 2001 Ich kenne keinen Zeit-Datentyp, der 6 Uhr als 0.25 darstellt. Hast Du Dir den selbst definiert :confused: Hast Du Now() selbst geschrieben? Willst Du den veränderten Zeitwert nur anzeigen, oder wird damit später noch was anderes gemacht?
DocMabuse Geschrieben 17. Dezember 2001 Geschrieben 17. Dezember 2001 Warum nutzt Du einen cast auf TDateTime und nimmst nicht sofort ein Objekt dieses Typs? Du erstellst ein Objekt der Klasse TDateTime und initialisierst sie mit "6 Uhr" (die Syntax muss Du nachschauen). Danach vergleichst Du einfach die Variable start mit diesem Objekt. So könnte es doch gehen, oder nicht? DocMabuse Daragon
LLpresident Geschrieben 17. Dezember 2001 Autor Geschrieben 17. Dezember 2001 bin neu und hab nich so viel ahnung davon.aber mir wurde jetzt gezeigt wies geht.siht wie folgt aus: edtPin -> Text =" "; Start = Now (); double d = Start; double e = d - floor(d); if(e < 0.25) { d = floor(d) + 0.25; inputTime = d; } else { inputTime = Start; } TimeA = Start; start = 1; und den 0.25 wert habe ich aus der hilfe.bedeutet 1/4 des tages also 6h.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden