Autor Thema: do while eof - Problem  (Gelesen 1838 mal)

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
do while eof - Problem
« 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
« Letzte Änderung: 29.09.04 - 15:32:18 von robertpp »
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Glombi

  • Gast
Re: do while eof - Problem
« Antwort #1 am: 29.09.04 - 14:52:42 »
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

Offline Hoshee

  • Administrator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
  • Try To Be Mensch ...
    • Syslords Solutions IT-Dienstleistungen
Re: do while eof - Problem
« Antwort #2 am: 29.09.04 - 14:56:52 »
Yoo,

verstanden hab ich es auch nicht. EOF(fileNum) liefert True oder False.
Nimm doch einfach

Do While Not EOF(fileNum)
.
.
.
Loop

Gruss ...

Hoshee
Detlef

-> Syslords Solutions
*************************************
Wer dem Chef in den Hintern kriecht, muß damit rechnen, daß er ihm eines Tages zum Hals heraushängt

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re: do while eof - Problem
« Antwort #3 am: 29.09.04 - 15:23:29 »
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.
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Glombi

  • Gast
Re: do while eof - Problem
« Antwort #4 am: 29.09.04 - 15:25:17 »
Dann schreib doch einfach ein
Exit Do             'Die wahrscheinlich kürzeste Schleife der Welt ;-)
vor das Loop

Andreas

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re: do while eof - Problem
« Antwort #5 am: 29.09.04 - 15:31:41 »
JA warum hab ich das nicht gleich so gemacht wie du es mir gesagt hast!!!
 ;D ;D
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz