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]