Moin,
ich sehe Du hast Dich damit richtig beschäftigt. Vielen Dank, auch für die Denkanstösse, braucht man manchmal...
---Falls das jetzt zu sehr aus dem Thema läuft, bitte an den richtigen Platz verschieben----
Dein Ablaufdiegramm ist soweit richtig, ich muss aber leider sagen, dass ich diese nur im Kopf habe. A) weil sich das im Laufe des Programmierens oft ändert und b) weil ich zu faul bin
. Der NewFile Case war mal gedacht, um täglich eine neue Datei zu schreiben. Der ist mittlerweile entsorgt, der Rest ist so geblieben. Bei Programmstart wird in Init jetzt die Tagesdatei erzeugt. Danach pendelt es im Normalfall zwischen WfW und WfS hin und her. im ersten wird auf einen Fehler gewartet, tritt er ein wird er in WF in die durch Init erzeugte Datei geschrieben. Danach in RF ausgelesen.
Ich weiss, dass das auch direkt gehen kann, aber ich möchte zum einen sicherstellen, dass auch korrekt geschrieben wurde (ich habe das Vorgängerprogramm mit einer anderen Software geschrieben, dort traten zum Teil Schreibfehler auf. Da alle Dateien später weitgehend automatisiert ausgewertet werden, sind Dateifehler sehr störend, das bricht alles ab und zieht erfahrungsgemäss lange Suchen nach sich. Ich hoffe das erledigt sich durch LabView). Da ich das dann per Mail bekomme, kann ich eventuelle Fehler gleich korrigieren. Zum anderen läuft dieses Programm unbeaufsichtigt, im Falle eines wie auch immer bedingten Neustarts wären diese Fehler aus der Anzeige verschwunden. Das kann so nicht passieren.
Im WfS Case wird zu einer bestimmten Uhrzeit zum SF Case weitergeleitet um das tägliche File zu senden. Hierbei wird bei leeren Dateien (also kein Fehler im letzten Tag) ein anderer Header geschrieben als bei Dateien mit Inhalt. So kann man gleich sehen ob alles soweit läuft. Lebenszeichen sozusagen. Ist auch wichtig, da alle Dateien weiterverarbeitet werden und man so sicher weiss, das alles in Ordnung war. Keine Datei kann ja auch ne verlorene Datei sein.
Nach dem Senden gehts zurück auf Los und es werden leider keine 4000Euro eingezogen, ne, auf Init und die neue Tagesdatei erzeugt und das Spiel geht von vorn los.
Ich für meine Teil halte das für brauchbar und übersichtlich strukturiert, man muss ja auch später schnell wieder eine Übersicht bekommen. Sicher kann man das noch komprimieren, wahrscheinlich werde ich auch mit fortgeschrittener Routine mal mit anderen Augen drauf blicken und mich schütteln, aber erstmal erscheint mir das für mich ganz ok zu sein.
Ich hoffe, diese Erklärung überzeugt erstmal.
Insgesamt ist diese Geschichte schon recht komplex, die VI-Properties sagen da was von 8. Die 9 werde ich wahrscheinlich nicht ganz erreichen. Jetzt kümmer ich mich mal um die Initialisierungsdatei mit Read/write Anything, was mir empfohlen wurde.
Vielen Dank für den Input, kann gut sein dass ich mich nochmal melde. Aber erst nach nem Neustart
Gruß
Ed