Wie Rechne ich zeit
-
Probiere es mal mit der Funktion atoi.

int atoi(char *String)www.cplusplus.com/ref/cstdlib/atoi.html
www.cpp-tutor.de/cpp/le06/le06_03_d1.htm
-
sind gute vorschläge noch ne frage die zahlen müssen beim rechnen unbedingt float also 1.5 haben oder gibt es eine möglichkeit diese zahlen 1,5 auch zu rechnen
nicht wundern stelle fragen vom InternetCafe aus deswegen komme ich erst heut abend zum testen derweil suche ich so viel infos wie Möglich

-
Ich persö. würde FILETIME verwenden, da man damit mehr Zeiten darstellen kann...
http://msdn.microsoft.com/library/en-us/sysinfo/base/filetime_str.asp
-
Schau ich mir mal an - ich hoffe ich daraus Schlau den die msdn ist ein buch mit 7 Siegeln

-
hab geschaut wie lese ich formatierte zahlen aus den editfeldern aus soweit ich filetime verstanden hab gibt er nur formatierten text aus
bsp: 12:30 so steht der text in der editbox
weis dumme frage
-
Hinweis soweit ich verstanden habe hab bestimmt einiges übersehen
-
Tolle Überschrift.
-
Du kannst Editboxen mit GetWindowText() oder WM_GETTEXT auslesen.
http://msdn.microsoft.com/library/?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/getwindowtext.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowmessages/wm_gettext.asp
-
ich red ja auch von formatierten text bsp.: im textfeld steht 10:30 ich möcht jetzt den text auslesen und zwar 10 Stunden und 30 minuten das er den text bis : einließt und dann den rest

-
Zerlege doch den String mit strtok in 2 Teile und rechene dann mit atoi. Sind halt ein paar Zeilen Code, aber eine einfache Variante kenne ich jetzt auch nicht.
-
verds mal probieren
-
Habs jetzt so geloest
[code] BOOL table_calculate_zeit (HWND hWin ,int i) { struct Uhrzeit { double stunde; double minute; }; char* pToken; char* pToken2; char time_0[6]; char szTextR1[10]; char time_1[6]; char szTextR2[10]; char time_2[6]; char szTextR3[10]; char time_3[6]; char szTextErgebnis[10]; Uhrzeit arbeitsBeginn; Uhrzeit arbeitsEnde; GetWindowText(GetDlgItem(hWin, 1019+i),szTextR1,10); //IDC_BEGINN GetWindowText(GetDlgItem(hWin, 1027+i),szTextR2,10); //IDC_ENDE GetWindowText(GetDlgItem(hWin, 1035+i),szTextR3,10); //IDC_PAUSE pToken = strtok(szTextR1, ":"); if (pToken) { sprintf(time_0,"%s",pToken); while ( (pToken = strtok(NULL, ":")) ) { sprintf(time_1,"%s",pToken); } } pToken2 = strtok(szTextR2, ":"); if (pToken2) { sprintf(time_2,"%s",pToken2); while ( (pToken2 = strtok(NULL, ":")) ) { sprintf(time_3,"%s",pToken2); } } arbeitsBeginn.stunde=atof(time_0); arbeitsBeginn.minute=atof(time_1); arbeitsEnde.stunde=atof(time_2); arbeitsEnde.minute=atof(time_3); double arbeitsMinuten=60*(arbeitsEnde.stunde-arbeitsBeginn.stunde) +arbeitsEnde.minute-arbeitsBeginn.minute; double pause=atof(szTextR3); if(IsDlgButtonChecked(hWin, 1051+i) == BST_CHECKED) { /* Von 0:00 - 23:59 */ double arbeitsStunden=arbeitsMinuten/60+24-pause; gcvt (arbeitsStunden,5,szTextErgebnis); } else { /* Zeit Angabe die beginn vor 0:00 - bsp: 6:00 des Folgetages */ double arbeitsStunden=arbeitsMinuten/60-pause; gcvt (arbeitsStunden,5,szTextErgebnis); } SetWindowText(GetDlgItem(hWin, 1043+i),szTextErgebnis); //IDC_STUNDE return 0; } [/code]