![]() |
Berechnung von Produktionsintervallen
Liste der Anhänge anzeigen (Anzahl: 1)
Servus,
ich verzweifel gerade ein bisschen an einem Programm was ich schreibe. Die GUI sieht folgendermaßen aus: ![]() Die Funktion sollte so sein: Mitarbeiter gibt in das Feld Anfangszeit eine Uhrzeit ein [Format in zB. 0630 da keine Ahnung wie ich mit TTime Format rechnen kann.] Die Zeit wird in Industriezeit umgerechnet damit ich rechnen kann. Wenn der Mitarbeiter z.B. 0730 eingibt muss in das Label Montag_1_Impuls_1 07:30 eingegeben werden und in das nächste Montag_1_Impuls_2 09:30. Dabei gibt es aber noch feste Pausen und eine festen Arbeitszeitraum die bedacht werden müssen. Gearbeitet wird immer nur von 06:00 bis 14:00 Uhr. Pausen sind einmal von 07:30 bis 07:35, 09:00 bis 09:15 und 11:30 bis 12:10. Eigentlich muss noch dazu das Schulungen bedacht werden müssen. Ist z.B. am Montag eine Schulung von 8:00 bis 8:30 sollte der zweite Taktimpuls um eine halbe Stunden verschoben werden. Das hab ich aber mal nicht beachtet, da ich so schon Probleme habe. Meine Fragen:
Gebe ich zB. 0600 an rechnet er alles richtig durch sollte aber 0630 angegeben werden stimmts nicht :( Hier der Code für Montag und Dienstag sonst wird es unübersichtlich:
Delphi-Quellcode:
Vielen Dank für eure Hilfe!
procedure TForm_Dateneingabe.Ausfuehren_TaktplanungClick(Sender: TObject);
var Intzeit : integer ; Startzeit : real; i : integer; Summe : real ; //entspr. Taktimpuls i Taktzeit : real; Anfangszeit : integer; Pause1 : real ; Pause2 : real ; Pause3 : real ; a : real ; //Hilfsvariable b : real ; //Hilfsvariable h : real; //Hilfsvariable Uebertrag : real ; begin Pause1 := 0.08 ; Pause2 := 0.33 ; Pause3 := 1.00 ; Intzeit := StrToInt(Eingabe_Anfangszeit_h.text) ; Startzeit := Intzeit ; Startzeit := Startzeit / 100 ; a := trunc(Startzeit); b := Startzeit - a ; Startzeit := a + b * 10/6 ; //Montag for i := 0 to 3 do begin Taktzeit := 2 ; Summe := Startzeit + Taktzeit * i ; if (Summe >= 7.50) and (Summe < 9.00) then Summe := Summe + Pause1 else if (Summe >= 9.00) and (Summe <= 11.50) then Summe := Summe + Pause2 ; if (Summe > 11.50) then Summe := Summe + Pause3 ; if i = 0 then begin a := trunc(Startzeit); b := Startzeit - a ; h := a + b * 6/10 ; Mo_1_Impuls_1.caption := FloatToStr(h*100) ; end; if i = 1 then begin a := trunc(Summe); b := Summe - a ; Summe := a + b * 6/10 ; Mo_1_Impuls_2.caption := FloatToStr(round(Summe*100)); end; if i = 2 then begin a := trunc(Summe); b := Summe - a ; Summe := a + b * 6/10 ; Mo_1_Impuls_3.caption := FloatToStr(round(Summe*100)) ; end; if i = 3 then begin a := trunc(Summe); b := Summe - a ; Summe := a + b * 6/10 ; //if Summe*100 >= 1400 then //Mo_1_Impuls_4.caption := '' else Mo_1_Impuls_4.caption := FloatToStr(round(Summe*100)) ; end; end; //Dienstag a := trunc(Summe); b := Summe - a ; Summe := a + b * 10/6 ; uebertrag := sqrt(sqr(Summe-14)) ; if uebertrag >= 2 then uebertrag := uebertrag - 2; Startzeit := 6 ; Startzeit := uebertrag + Startzeit ; for i := 0 to 3 do begin Taktzeit := 2 ; Summe := Startzeit + Taktzeit * i ; if (Summe >= 7.50) and (Summe < 9.00) then Summe := Summe + Pause1 else if (Summe >= 9.00) and (Summe <= 11.50) then Summe := Summe + Pause2 ; if (Summe > 11.50) then Summe := Summe + Pause3 ; if i = 0 then begin a := trunc(Startzeit); b := Startzeit - a ; h := a + b * 6/10 ; Di_1_Impuls_1.caption := FloatToStr(h*100) ; end; if i = 1 then begin a := trunc(Summe); b := Summe - a ; Summe := a + b * 6/10 ; Di_1_Impuls_2.caption := FloatToStr(round(Summe*100)); end; if i = 2 then begin a := trunc(Summe); b := Summe - a ; Summe := a + b * 6/10 ; Di_1_Impuls_3.caption := FloatToStr(round(Summe*100)) ; end; if i = 3 then begin a := trunc(Summe); b := Summe - a ; Summe := a + b * 6/10 ; if Summe*100 >= 1400 then Di_1_Impuls_4.caption := '' else Di_1_Impuls_4.caption := FloatToStr(round(Summe*100)) ; end; end. |
AW: Berechnung von Produktionsintervallen
Keine fertige Lösung, aber schau einmal in die Unit DateUtils, da sind viele der benötigten Funktionen bereits implementiert (MinutesBetween z.B.).
|
AW: Berechnung von Produktionsintervallen
Für die Eingabe würde ich an Deiner Stelle TMaskEdit mit einer EditMask für das kurze Zeitformat vorsehen. Das minimiert die Fehler, welche man bei der Eingabe so anstellen kann.
Hilft zwar nicht bei 25:98, aber solche Fehler bekommst Du spätestens bei der Umrechnung raus und springst bei Fehlern nach einer Meldung wieder in das fehlerhafte Edit zurück. |
AW: Berechnung von Produktionsintervallen
[OT]
Seitdem auf einem SAP Ausdruck was meine Arbeitszeiten angeht einmal die Endzeit 28:04 stand, ist für mich 25:98 eine gültige Zeitangabe. Die Premium-Software hat schließlich immer recht. [/OT] |
AW: Berechnung von Produktionsintervallen
Gut dann werde ich mich da mal reinarbeiten. Erstmal die Unit finden :D
Die Eingabe kann sowieso nur zwischen 06:00:00 und 14:00:00 Uhr geschehen da nur in dieser Zeit gearbeitet wird. Dann immer Taktzeit 2h dazu außer es gibt eine Schulung um eine Uhrzeit dann wird es um die Zeit erweitert oder wenn die Summe von Anfangszeit und der Taktzeit die Pausen überschreitet halt die Pausenzeit dazu. Ich versuch mal etwas mit der MinutesBetween Funktion vielleicht kommt damit was raus. Zumindest die Darstellung würde besser aussehen als gerade also nicht 0600 sondern 06:00 |
AW: Berechnung von Produktionsintervallen
So ich hab doch mit Industriezeit berechnet nach dem ich im Forum gefunden habe wie man Zeit decoded und endcoded.
Könnte sich jemand den Code anschauen und sagen ob man daran noch etwas verbessern kann? Aso hat jemand noch zufällig einen Link für ein Tutorial über das Laden von Frames in Frames? Möchte gerne eine Hauptseite mit einem Hauptmenu machen wo ich mein Datengrundladeframe reinlade. Habe leider nichts konkretes dazu gefunden :( Die GUI: ![]() Hier der Code:
Delphi-Quellcode:
procedure TForm_Dateneingabe.Ausfuehren_TaktplanungClick(Sender: TObject);
var Eingabezeit,Darstellung : Ttime ; Fr_1_Schulung_Von , Fr_1_Schulung_Bis , Do_1_Schulung_Von, Do_1_Schulung_Bis ,Mi_1_Schulung_Von ,Mi_1_Schulung_Bis, Di_1_Schulung_Bis , Di_1_Schulung_Von, Mo_1_Schulung_Bis, Mo_1_Schulung_Von : Ttime ; i,hour, minute, Arbeitsanfang : integer; Dauerschulung, Pause1, Pause2, Pause3, Uebertrag, Taktzeit, Taktimpuls, Startzeit : real ; h, m, s, ms: Word; Dauerschulung1, Dauerschulung2 , Dauerschulung3 , Dauerschulung4 , Dauerschulung5 : real ; begin Pause1 := 0.08 ; // 5min Pause2 := 0.33 ; // 15min Pause3 := 1.00 ; // = Pause1 + 2 + 40min Mittag Taktzeit := 2 ; // 2h Arbeitsanfang := 6 ; // 6 Uhr Eingabezeit := StrToTime(Eingabe_Anfangszeit.text) ; DecodeTime(Eingabezeit, h, m, s, ms); Startzeit := h + (m * 10/6)/100 ; //Montag Schulung if Mo_1_Schulung.checked then begin Mo_1_Schulung_Bis := StrToTime(Eingabe_Mo_1_Schulung_Bis.text) ; DecodeTime(Mo_1_Schulung_Bis, h, m, s, ms); Mo_1_Schulung_Bis := h + (m * 10/6)/100 ; Mo_1_Schulung_Von := StrToTime(Eingabe_Mo_1_Schulung_Von.text) ; DecodeTime(Mo_1_Schulung_Von, h, m, s, ms); Mo_1_Schulung_Von := h + (m * 10/6)/100 ; Dauerschulung1 := Mo_1_Schulung_Bis - Mo_1_Schulung_Von ; end; //Dienstag Schulung if Di_1_Schulung.checked then begin Di_1_Schulung_Bis := StrToTime(Eingabe_Di_1_Schulung_Bis.text) ; DecodeTime(Di_1_Schulung_Bis, h, m, s, ms); Di_1_Schulung_Bis := h + (m * 10/6)/100 ; Di_1_Schulung_Von := StrToTime(Eingabe_Di_1_Schulung_Von.text) ; DecodeTime(Di_1_Schulung_Von, h, m, s, ms); Di_1_Schulung_Von := h + (m * 10/6)/100 ; Dauerschulung2 := Di_1_Schulung_Bis - Di_1_Schulung_Von ; end; //Mittwoch Schulung if Mi_1_Schulung.checked then begin Mi_1_Schulung_Bis := StrToTime(Eingabe_Mi_1_Schulung_Bis.text) ; DecodeTime(Mi_1_Schulung_Bis, h, m, s, ms); Mi_1_Schulung_Bis := h + (m * 10/6)/100 ; Mi_1_Schulung_Von := StrToTime(Eingabe_Mi_1_Schulung_Von.text) ; DecodeTime(Mi_1_Schulung_Von, h, m, s, ms); Mi_1_Schulung_Von := h + (m * 10/6)/100 ; Dauerschulung3 := Mi_1_Schulung_Bis - Mi_1_Schulung_Von ; end; //Donnerstag Schulung if Do_1_Schulung.checked then begin Do_1_Schulung_Bis := StrToTime(Eingabe_Do_1_Schulung_Bis.text) ; DecodeTime(Do_1_Schulung_Bis, h, m, s, ms); Do_1_Schulung_Bis := h + (m * 10/6)/100 ; Do_1_Schulung_Von := StrToTime(Eingabe_Do_1_Schulung_Von.text) ; DecodeTime(Do_1_Schulung_Von, h, m, s, ms); Do_1_Schulung_Von := h + (m * 10/6)/100 ; Dauerschulung4 := Do_1_Schulung_Bis - Do_1_Schulung_Von ; end; //Freitag Schulung if Fr_1_Schulung.checked then begin Fr_1_Schulung_Bis := StrToTime(Eingabe_Fr_1_Schulung_Bis.text) ; DecodeTime(Fr_1_Schulung_Bis, h, m, s, ms); Fr_1_Schulung_Bis := h + (m * 10/6)/100 ; Fr_1_Schulung_Von := StrToTime(Eingabe_Fr_1_Schulung_Von.text) ; DecodeTime(Fr_1_Schulung_Von, h, m, s, ms); Fr_1_Schulung_Von := h + (m * 10/6)/100 ; Dauerschulung5 := Fr_1_Schulung_Bis - Fr_1_Schulung_Von ; end; //Berechnung Taktimpulse Montag For i:=0 to 3 do begin Taktimpuls := Startzeit + Taktzeit * i ; if Mo_1_Schulung_Von < Taktimpuls then Taktimpuls := Taktimpuls + Dauerschulung1 ; if (Taktimpuls > 7.50) and (Taktimpuls < 9.00) then Taktimpuls := Taktimpuls + Pause1 else if (Taktimpuls >= 9.00) and (Taktimpuls < 11.50) then Taktimpuls := Taktimpuls + Pause2 ; if (Taktimpuls >= 11.50) then Taktimpuls := Taktimpuls + Pause3 ; if i = 0 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Mo_1_Impuls_1.caption := FormatDateTime('hh:nn:ss', Darstellung); end; if i = 1 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Mo_1_Impuls_2.caption := FormatDateTime('hh:nn:ss', Darstellung) end; if i = 2 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Mo_1_Impuls_3.caption := FormatDateTime('hh:nn:ss', Darstellung) end; if i = 3 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Mo_1_Impuls_4.caption := FormatDateTime('hh:nn:ss', Darstellung) ; if Taktimpuls > 14 then Mo_1_Impuls_4.visible := false ; end; end; if taktimpuls < 14 then uebertrag := 2 - (14 - Taktimpuls) else uebertrag := taktimpuls - 14 ; Startzeit := uebertrag + Arbeitsanfang ; //Berechnung Taktimpulse Dienstag for i := 0 to 3 do begin Taktimpuls := Startzeit + Taktzeit * i ; if Di_1_Schulung_Von < Taktimpuls then Taktimpuls := Taktimpuls + Dauerschulung2 ; if (Taktimpuls > 7.50) and (Taktimpuls < 9.00) then Taktimpuls := Taktimpuls + Pause1 else if (Taktimpuls >= 9.00) and (Taktimpuls < 11.50) then Taktimpuls := Taktimpuls + Pause2 ; if (Taktimpuls >= 11.50) then Taktimpuls := Taktimpuls + Pause3 ; if i = 0 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Di_1_Impuls_1.caption := FormatDateTime('hh:nn:ss', Darstellung); end; if i = 1 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Di_1_Impuls_2.caption := FormatDateTime('hh:nn:ss', Darstellung); end; if i = 2 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Di_1_Impuls_3.caption := FormatDateTime('hh:nn:ss', Darstellung); end; if i = 3 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Di_1_Impuls_4.caption := FormatDateTime('hh:nn:ss', Darstellung); if Taktimpuls > 14 then Di_1_Impuls_4.visible := false ; end; end; if taktimpuls < 14 then uebertrag := 2 - (14 - Taktimpuls) else uebertrag := taktimpuls - 14 ; Startzeit := uebertrag + Arbeitsanfang ; //Berechnung Taktimpulse Mittwoch for i := 0 to 3 do begin Taktimpuls := Startzeit + Taktzeit * i ; if Mi_1_Schulung_Von < Taktimpuls then Taktimpuls := Taktimpuls + Dauerschulung3 ; if (Taktimpuls > 7.50) and (Taktimpuls < 9.00) then Taktimpuls := Taktimpuls + Pause1 else if (Taktimpuls >= 9.00) and (Taktimpuls < 11.50) then Taktimpuls := Taktimpuls + Pause2 ; if (Taktimpuls >= 11.50) then Taktimpuls := Taktimpuls + Pause3 ; if i = 0 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Mi_1_Impuls_1.caption := FormatDateTime('hh:nn:ss', Darstellung); end; if i = 1 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Mi_1_Impuls_2.caption := FormatDateTime('hh:nn:ss', Darstellung); end; if i = 2 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Mi_1_Impuls_3.caption := FormatDateTime('hh:nn:ss', Darstellung); end; if i = 3 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Mi_1_Impuls_4.caption := FormatDateTime('hh:nn:ss', Darstellung); if Taktimpuls > 14 then Mi_1_Impuls_4.visible := false ; end; end; if taktimpuls < 14 then uebertrag := 2 - (14 - Taktimpuls) else uebertrag := taktimpuls - 14 ; Startzeit := uebertrag + Arbeitsanfang ; //Berechnung Taktimpulse Donnerstag for i := 0 to 3 do begin Taktimpuls := Startzeit + Taktzeit * i ; if Mi_1_Schulung_Von < Taktimpuls then Taktimpuls := Taktimpuls + Dauerschulung4 ; if (Taktimpuls > 7.50) and (Taktimpuls < 9.00) then Taktimpuls := Taktimpuls + Pause1 else if (Taktimpuls >= 9.00) and (Taktimpuls < 11.50) then Taktimpuls := Taktimpuls + Pause2 ; if (Taktimpuls >= 11.50) then Taktimpuls := Taktimpuls + Pause3 ; if i = 0 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Do_1_Impuls_1.caption := FormatDateTime('hh:nn:ss', Darstellung); end; if i = 1 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Do_1_Impuls_2.caption := FormatDateTime('hh:nn:ss', Darstellung); end; if i = 2 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Do_1_Impuls_3.caption := FormatDateTime('hh:nn:ss', Darstellung); end; if i = 3 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Do_1_Impuls_4.caption := FormatDateTime('hh:nn:ss', Darstellung); if Taktimpuls > 14 then Do_1_Impuls_4.visible := false ; end; end; if taktimpuls < 14 then uebertrag := 2 - (14 - Taktimpuls) else uebertrag := taktimpuls - 14 ; Startzeit := uebertrag + Arbeitsanfang ; //Berechnung Taktimpulse Freitag for i := 0 to 3 do begin Taktimpuls := Startzeit + Taktzeit * i ; if Fr_1_Schulung_Von < Taktimpuls then Taktimpuls := Taktimpuls + Dauerschulung5 ; if (Taktimpuls > 7.50) and (Taktimpuls < 9.00) then Taktimpuls := Taktimpuls + Pause1 else if (Taktimpuls >= 9.00) and (Taktimpuls < 11.50) then Taktimpuls := Taktimpuls + Pause2 ; if (Taktimpuls >= 11.50) then Taktimpuls := Taktimpuls + Pause3 ; if i = 0 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Fr_1_Impuls_1.caption := FormatDateTime('hh:nn:ss', Darstellung); end; if i = 1 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Fr_1_Impuls_2.caption := FormatDateTime('hh:nn:ss', Darstellung); end; if i = 2 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Fr_1_Impuls_3.caption := FormatDateTime('hh:nn:ss', Darstellung); end; if i = 3 then begin hour := trunc(Taktimpuls); minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Fr_1_Impuls_4.caption := FormatDateTime('hh:nn:ss', Darstellung); if Taktimpuls > 14 then Fr_1_Impuls_4.visible := false ; end; end; if taktimpuls < 14 then uebertrag := 2 - (14 - Taktimpuls) else uebertrag := taktimpuls - 14 ; hour := trunc(uebertrag); minute := round( (uebertrag - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Uebertrag_auf_Montag.caption := FormatDateTime('hh:nn:ss', Darstellung); end; end. |
AW: Berechnung von Produktionsintervallen
Zitat:
Delphi-Quellcode:
Ahja .. hast du dir schon mal überlegt, da eine Funktion herauszuziehen??
if Mo_1_Schulung.checked then
begin ... if Di_1_Schulung.checked then begin ... if Mi_1_Schulung.checked then begin ... if Do_1_Schulung.checked then begin ... if Fr_1_Schulung.checked then begin Oder die Steuerelemente in Arrays zu verpacken? Sogar FindComponent() ließe sich hier noch vertreten... aber das ist ja nicht mehr schön was du da gemacht hast...
Delphi-Quellcode:
Ahja ... das bewährte for-if Statement. ist ja auch fast sinnvoll :P
For i:=0 to 3 do
begin if i = 0 then if i = 1 then if i = 2 then if i = 3 then end; O M G Einmal reicht nicht, du hast das ganze 5 mal gemacht :shock: |
AW: Berechnung von Produktionsintervallen
Nicht nur das, der ganze Code strotzt nur so vor doppelten Sachen, z.B.
Delphi-Quellcode:
Wieso rufst du das ganze x-Mal auf? :) Einmal reicht doch, ist ja immer das gleiche.
hour := trunc(Taktimpuls);
minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Lager das doch in eine Funktion aus, die du einmal aufrufst. Sonst bekommst du das Problem, dass du zig Zeilen gleichen Codes ändern musst, wenn du mal etwas an der Berechnung verändern willst.... Ich glaube, den Code könnte man durch Arrays, oder sei es nur, die Labels durch deren Tag-Wert zu suchen (anstatt auf Fr_1_Impuls_1, Fr_1_Impuls_2 usw. zuzugreifen), auf ein paar Zeilen strippen :) |
AW: Berechnung von Produktionsintervallen
Mein erstes Prog seit 7 Jahren oder so seid gnädig :D Alles durchs Internet in ner Woche gelernt, da kennt man so viele Sachen noch nicht. Leider. Jo weiß das es vor doppelten Sachen strotzt deshalb frag ich ja wie man es verändern kann ^^
Das mit den Arrays hab ich mir auch überlegt. Auch ein durchschalten der Labels mit einer for to schleife hab ich versucht aber nicht hinbekommen. Mal schauen was es da gibt. Nichts gegen if! Das Programm an sich funktioniert wunderbar ^^ Ich werde erstmal
Delphi-Quellcode:
auslagern.
hour := trunc(Taktimpuls);
minute := round( (Taktimpuls - hour) * 6/10 * 100); Darstellung := EncodeTime(hour, minute, s, ms) ; Beim Rest muss ich mich mal mehr bei Arrays einlesen und wie ich die ganze if kacke losbekomme. Thx für eure Hilfe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz