Veröffentlicht 17. Dezember 200123 j 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;
17. Dezember 200123 j 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.
17. Dezember 200123 j 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.
17. Dezember 200123 j 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?
17. Dezember 200123 j 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
17. Dezember 200123 j 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.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.