NiceWatch Filter deliver wrong result using prefix

Dieses Forum ist für alle NiceLabel Fragen für die deutschen Benutzer.

Moderators: Georges, milos, RobertK, tb, rom, NiceLabel Support Team

Post Reply
sytm
Enthusiast
Posts: 6
Joined: Thu Nov 19, 2009 1:23 pm

NiceWatch Filter deliver wrong result using prefix

Post by sytm » Thu Nov 19, 2009 2:19 pm

Hello,
i want print a label from a exernal textfile.
The content of this file locks like this :

^field ARTNRKD
75181 artnlix
^field BESTELLNRKDTXT
Bestell-Nr. :
^field BESTELLNRKD
123456
^field KUPRTEXT
PERZIK VOOR YOGHURT
^field KUPRTEXT1
PERZIKSTUKJES VOOR FRUITYOGHURT
^field KUPRTEXT2
DOSAGE: 9,4%
^field KUPRTEXT3
T E X T 4
^field ARTNRTXT
Artikel-Nummer
^field DOSAGETXT
Dosage
^field DOSAGE
9,4kg : 100 kg
^field ARTNR
31601200590000

In the first line begins with ^field and behind the identifier e.g.ARTNR. In the second line the data value.
The value of the data cannot determined thru row position, because the row position change dependend of the exist of date.
So i create a filter with Prefixwords like ^field ARTNR. It locks good, but in the cases where the words i seaching for, are the same in the begin, it didn't work. For example, if i lock after ARTNR, i get everytime the result from ARTNRKD, because it appears first in the file.
I tried to attach a space after the WORD ARTNR , but it didn't work, because there is no space behind this word, it has directly a CRLF behind.
Have someone a idea.

Thanks

User avatar
tb
NiceLabel
NiceLabel
Posts: 50
Joined: Mon Sep 04, 2006 4:12 pm
Contact:

Re: NiceWatch Filter deliver wrong result using prefix

Post by tb » Thu Nov 19, 2009 2:27 pm

Welchen Filtertyp haben Sie in niceWatch verwendet?? Dokumentenanalyse??

TB

sytm
Enthusiast
Posts: 6
Joined: Thu Nov 19, 2009 1:23 pm

Re: NiceWatch Filter deliver wrong result using prefix

Post by sytm » Thu Nov 19, 2009 2:56 pm

Ja, Dokumenten Analyse, etwas anderes geht ja nicht, um das Problem zu lösen

AS

User avatar
tb
NiceLabel
NiceLabel
Posts: 50
Joined: Mon Sep 04, 2006 4:12 pm
Contact:

Re: NiceWatch Filter deliver wrong result using prefix

Post by tb » Fri Nov 20, 2009 8:57 am

Anbei übersende ich Ihnen ein kleines Beispiel. Ich habe Ihre Datei "Dummy.txt" angebunden und es funktioniert. Ich habe ihnen auch meine NiceWatch *.mis Datei angefügt. Öffnen Sie diese einfach, gehen Sie dann auf Filter und auf Definition überprüfen. Ist dass Ihr gewünschtes Ergebniss??
Attachments
Archive.zip
(851 Bytes) Downloaded 313 times

sytm
Enthusiast
Posts: 6
Joined: Thu Nov 19, 2009 1:23 pm

Re: NiceWatch Filter deliver wrong result using prefix

Post by sytm » Fri Nov 20, 2009 2:14 pm

Leider nicht, ich möchte die Informationen die zusammengehören in einer Var haben. D. h. ^field artnr Zeile darunter ist der Dateninhalt usw. Oder mit anderen Worten jedes zweiter Päarchen einer anderen Variable zuordnen. So wie es jetzt ist kommen so viele Etiketten mit Zeile1 und Zeile2 wie es kombinationen gibt.
Ein File ein Etikett.
Problem meiner Meinung ist, das nach ^field ARTNR direkt danach der Zeilenumbruch kommt und ich nicht spezifizieren kann z.B. Prefix : ^field ARTNR+LF oder ich gehe vorher mit eine vbscript über die datei und setze bei allen Zeilen die mit ^field anfangen am Ende ein Zeichen, das ich dann als Prefix abfragen kann. (Aber wie?)

User avatar
tb
NiceLabel
NiceLabel
Posts: 50
Joined: Mon Sep 04, 2006 4:12 pm
Contact:

Re: NiceWatch Filter deliver wrong result using prefix

Post by tb » Mon Nov 23, 2009 8:10 am

Anbei übersende ich Ihnen eine *.mis Datei, welche die Datendatei per vb-script analysiert
TB
Attachments
dummy.mis
(2.87 KiB) Downloaded 347 times

sytm
Enthusiast
Posts: 6
Joined: Thu Nov 19, 2009 1:23 pm

Re: NiceWatch Filter deliver wrong result using prefix

Post by sytm » Wed Nov 25, 2009 6:10 pm

Vielen Dank, das Script hat mir geholfen, die Daten kommen jetzt einwandfrei auf dem Label und ich konnte noch ein wenig Logik einbauen, welche ich sowieso gebraucht hätte.
Aber die Umlaute äüö kommen nicht richtig, die sind schon falsch, wenn ich im VBscript debugge. Was muss ich machen, ich das Textfile auch im UTF8 - Format abgespeichert.

Gruss

User avatar
tb
NiceLabel
NiceLabel
Posts: 50
Joined: Mon Sep 04, 2006 4:12 pm
Contact:

Re: NiceWatch Filter deliver wrong result using prefix

Post by tb » Thu Nov 26, 2009 8:12 am

Leider kann ich das Problem bei mir nicht nachstellen, aber nachfolgend finden Sie die Hilfe auc vb-script, welche eine formatierte Öffnung einer Datei ermöglicht

TB

Opens a specified file and returns a TextStream object that can be used to read from, write to, or append to the file.


object.OpenAsTextStream([iomode, [format]])


Arguments
object
Required. Always the name of a File object.

iomode
Optional. Indicates input/output mode. Can be one of three constants: ForReading, ForWriting, or ForAppending.

format
Optional. One of three Tristate values used to indicate the format of the opened file. If omitted, the file is opened as ASCII.

Settings
The iomode argument can have any of the following settings:

Constant Value Description
ForReading
1
Open a file for reading only. You can't write to this file.

ForWriting
2
Open a file for writing. If a file with the same name exists, its previous contents are overwritten.

ForAppending
8
Open a file and write to the end of the file.


The format argument can have any of the following settings:

Constant Value Description
TristateUseDefault
-2
Opens the file using the system default.

TristateTrue
-1
Opens the file as Unicode.

TristateFalse
0
Opens the file as ASCII.


Remarks
The OpenAsTextStream method provides the same functionality as the OpenTextFile method of the FileSystemObject. In addition, the OpenAsTextStream method can be used to write to a file.


Visual Basic Script Copy Code
Function TextStreamTest
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim fso, f, ts
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile "test1.txt" ' Create a file.
Set f = fso.GetFile("test1.txt")
Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
ts.Write "Hello World"
ts.Close
Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)
TextStreamTest = ts.ReadLine
ts.Close
End Function

sytm
Enthusiast
Posts: 6
Joined: Thu Nov 19, 2009 1:23 pm

Re: NiceWatch Filter deliver wrong result using prefix

Post by sytm » Thu Nov 26, 2009 1:49 pm

Habe es nochmals ausprobiert, es lag an der Speicherungsform mit der Ich die Datei gespeichert hatte. Im Notepad habe jetzt die Wahl zwischen ascii, unicode, unicode big endian und UTF-8.
Wenn ich mit UTF-8 speichere kommt es nicht richtig, ansonst kommt es richtig.
Aber was ist der Unterschied zwischen Unicode und UTF-8?
Gruss

User avatar
tb
NiceLabel
NiceLabel
Posts: 50
Joined: Mon Sep 04, 2006 4:12 pm
Contact:

Re: NiceWatch Filter deliver wrong result using prefix

Post by tb » Thu Nov 26, 2009 2:21 pm

Na ja, so fim bin ich da auch nicht. Aber es gibt ASCII (altes Format), und für Unicode UTF8 und UTF16. Eine ganz genaue Beschreibung, wenn auch vielleicht zu technisch finden sie hier:
http://de.wikipedia.org/wiki/UTF-8
TB

Post Reply