Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: robertpp am 29.09.04 - 14:47:16
-
Hallo ich hab wie im Betreff schon erwähnt ein Problem mit dem EOF
Ich hab ein Script:
Open ExportD_Pfad & ImpReport & ".dat" for Input as #1
Do While Eof(1)<>-1
Input #1, isvalueemtpy
if isvalueemtpy <> "" then
Set PDFPub = ImpRep.PublishPDF
PDFPub.Publish (PDF_Pfad & ImpReport & ".pdf")
ImpRep.CloseReport
cmd= blatobj +" "+ msgbody+ " "+ server +" "+ mailfrom +" "+ mailto +" "+ attobj +" "+ subject
x=shell (cmd,7)
else
msgbody="D:\Cognos\Cog_0610_Work\Cog_Mail\Empty_File.txt"
cmd= blatobj +" "+ msgbody+ " "+ server +" "+ mailfrom +" "+ mailto +" "+ subject
x=shell (cmd,7)
end if
Loop
Das eingentlich ja ganz gut arbeitet aber:
1. weiß ich nicht was genau das <>-1 bedeutet. Ich glaub aber dadurch wird die do while Schleife mindestens einmal durchlaufen. Stimmt das?
2. bräuchte ich wenn auch mehrere Einträge in dem File sind das die Schleife trotzdem nur einmal durchlaufen wird das es ja macht wenn das File leer ist.
danke
-
Ad 1)
-1 = True oder wie soll man das sonst interpretieren.
Ich mache es immer so:
fileNumber = Freefile()
Open filePath For Input As fileNumber
Do Until Eof (fileNumber)...
Freefile ist besser als hardcodierte Filenummer.
Ad 2) Ich fürchte, dass habe ich nicht so ganz verstanden ???
Andreas
-
Yoo,
verstanden hab ich es auch nicht. EOF(fileNum) liefert True oder False.
Nimm doch einfach
Do While Not EOF(fileNum)
.
.
.
Loop
Gruss ...
Hoshee
-
So nochmals zu zwei:
in dem txt-file sind 100 einträg und er soll nur einmal nachsehen wieviele es sind sind. Sind es 0 einträge dann soll er von der if- abfrage den else teil machen (das tut er auch) sind es aber jetzt wirklich 100 oder 10000 einträge dann soll er nur einmal in das file hineingehen und nicht 100 oder 10000 mal die do while schleife durchlaufen!
dh irgendwie einen abbruch nach einmal der do while schleife.
-
Dann schreib doch einfach ein
Exit Do 'Die wahrscheinlich kürzeste Schleife der Welt ;-)
vor das Loop
Andreas
-
JA warum hab ich das nicht gleich so gemacht wie du es mir gesagt hast!!!
;D ;D