Hallo fmonster,
für dein Problem hätte ich da einen Vorschlag also ich habe mir zwei kleine Programme geschrieben mit denen mache Ich Zeitaufnahmen
1. Ruf ich mein erstes Programm am Anfang des Bearbeitungsprogramm auf um so die Zeitaufnahme zu beginnen
%_N_ZAN_SPF
;$PATH=/_N_SPF_DIR
;IM MD 28258 MM_NUM_AC_TIMER = 1 (ANZAHL DER STOPPUHREN SETZEN)
$AC_TIMER[1]=0
RET
2.Am Ende des Programmes Ruf ich das zweite auf um eine Zeiterfassung zu erhalten, dies wird in ein
Unterprogramm Protokolliert
%_N_ZEN_SPF
;$PATH=/_N_SPF_DIR
;AUSWERTZYKLUS ZUR FRÄSZEITBERECHNUNG
;ÜBER DAS MD 11420 LEN_PROTOCOL_FILE WIRD DIE MAXIMALE LÄNGE DER
;PROTOKOLLDATEIEN IN KBYTE EINGESTELLT.
DEF INT ERROR,DEL_ERROR
DEF REAL ZEIT[5]
DEF STRING[30] DATUM,UHRZEIT,PFAD
ZEIT[0]=$AC_TIMER[1]
ZEIT[0]=(ZEIT[0]/60)
ZEIT[0]=(ZEIT[0]/60)
ZEIT[2]=TRUNC(ZEIT[0]) ;ZEIT[2]=STUNDEN AKT.
ZEIT[1]=ZEIT[0]-ZEIT[2]
ZEIT[1]=ZEIT[1]*60
ZEIT[3]=TRUNC(ZEIT[1]) ;ZEIT[3]=MINUTEN AKT.
ZEIT[4]=ZEIT[1]-ZEIT[3]
ZEIT[4]=ZEIT[4]*60 ;ZEIT[4]=SEKUNDEN AKT.
DATUM=$A_DAY<<"."<<$A_MONTH<<".200"<<$A_YEAR
UHRZEIT=$A_HOUR<<":"<<$A_MINUTE
PFAD="/_N_SPF_DIR/_N_ZEITPROT_SPF"
WRITE(ERROR,PFAD," ")
IF ERROR == 10 ;DIE DATEI IST VOLL UND WIRD GELÖSCHT
DELETE(DEL_ERROR,PFAD)
WRITE(ERROR,PFAD," ")
ENDIF
WRITE(ERROR,PFAD,""<<DATUM<<" "<<UHRZEIT<<" FRAESZEIT: "<<ZEIT[2]<<" ST, "<<ZEIT[3]<<" MIN, UND " <<ZEIT[4]<<" SEK")
; MSG("FRAESZEIT: "<<ZEIT[2]<<" STUNDEN, "<<ZEIT[3]<<" MINUTEN, UND " <<ZEIT[4]<<" SEKUNDEN ")
RET
Mit den Programmen Arbeite ich schon seit Jahren Du kannst es ja so an Passen wie Du es brauchst
Probier es einfach mal aus