Page 1 of 1

NiceWatch - Filter letzte Zeile

Posted: Wed Feb 06, 2013 9:19 am
by chbe77
Hallo zusammen,
ich habe einen Datei-Trigger erstellt und möchte aus der überwachten Datei eine Nummer aus der jeweils letzten Zeile übernehmen. Diese übergebe ich dann an ein Etikett welches dann die entsprechenden Daten aus einer Datenbank holt.
Da die Daten von einer Waage kommen und diese Daten eine txt Datei immer weiter füllen (bis ich sie archiviere), weiss ich natürlich beim auslösen des Triggers nicht, wieviele Zeilen diese Datei hat. Folgendermaßen sieht der Inhalt dieser Datei in etwa aus. Den Breich den ich benötige befindet sich immer hinter "S.NR." und ist 8-stellig(2 führende Leerzeichen). In diesem Beispiel würde ich also die 496656 benötigen:
1;06.02.13;08:32;210367;10;0.75LTR ECK;0.599;1;48;0.140;0.608; ;S.NR. 496641;PROD EMBIZUXY
1;06.02.13;08:32;210368;10;0.75LTR ECK;0.599;1;49;0.140;0.610; ;S.NR. 496645;PROD EMBIZUXY
1;06.02.13;08:32;210369;10;0.75LTR ECK;0.599;1;50;0.138;0.596; ;S.NR. 496656;PROD EMBIZUXY

Vielen Dank für die Hilfe

Version 5.2.3

Re: NiceWatch - Filter letzte Zeile

Posted: Wed Feb 06, 2013 11:35 am
by chbe77
ich habe jetzt folgendes Script gebastelt. Scheint so auch zu funktionieren,
nur wie übergebe ich jetzt die gefundene "s_nr" an das Etikett...? Hier gibt es den gleichnamigen Filter und ich habe die Variable auch aus dem entsprechenden Etikett übernommen. Nun muss ich doch aber noch irgendwie die Variable aus meinem Script gleich der Variable aus dem Etikett sitzen. Oder nicht? Irgendwie steh ich auf dem Schlauch.... Ich erhalte jedenfalls immer den Fehler
"Fehler beim Ausführen einer Druckprozessaktion: Etikett drucken. - Fehler beim Drucken des Etiketts! - Etikett kann nicht gedruckt werden: "\\FILESERVER\Allgemein\Vorlagen\NiceLabel\AA1a_v02.lbl"! - Druckserver Fehlermeldung: Es konnten keine Datensätze für dieses Suchkriterium gefunden werden! Fehler beim Lesen eines Registers aus der Tabelle! z_vw_Labels: SQL Database, z_vw_Labels


dim s_no
dim wert
Dim fso, ts, s, sLines, LetzteZeile
Const ForReading = 1
wert = "C:\trigger_script_test\aa02.txt"

Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile(wert, ForReading)
s = ts.ReadAll
sLines = split(s, vbcrlf)
ts.Close
LetzteZeile = sLines(UBound(sLines))
If Trim(LetzteZeile) = "" Then LetzteZeile = sLines(UBound(sLines) - 1)
s_no = RIGHT(Split(LetzteZeile, ";")(12),6)

Re: NiceWatch - Filter letzte Zeile

Posted: Thu Feb 07, 2013 2:04 pm
by chbe77
habe es nun selbst herausgefunden. Das Problem ist gleich die erste Zeile des Scripts (dim s_no). Lässt man sie weg funktioniert alles wunderbar....