Autor Thema: Overflow! Fehler im LS  (Gelesen 2357 mal)

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Overflow! Fehler im LS
« am: 04.09.03 - 15:52:28 »
Hallo,
ich hab mal wieder ein Problemchen.....
Und zwar möchte ich die Anzahl der Reihen in einem Text-Dokument
ermitteln

Bei der Ausführung von folgendem Script, kommt der Fehler Overflow.


Golbal:
Dim giZ As Integer
Dim giFileNum1 As Integer
Dim gsWorkDir As String
Dim gsFileName2 As String

Sub DataCount
   giZ=0
   giFileNum1% = Freefile()
   Open gsWorkDir+gsFileName2 For Input As giFileNum1%
   Do Until Eof(giFileNum1%)
      giZ=giZ+1   
   Loop
   Close giFileNum1%
End Sub

Hat jemand eine Ahnung, warum das nicht Funzt.
Gruß
Hitcher
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Overflow! Fehler im LS
« Antwort #1 am: 04.09.03 - 15:59:22 »
Kann es sein, daß Du die Grenzen von Integer sprengst ?
Dann muß Du statt dessen Long nehmen ...

HTH,
Bernhard

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Overflow! Fehler im LS
« Antwort #2 am: 04.09.03 - 16:09:57 »
... das wäre auch mein erster Verdacht

ata
Grüßle Toni :)

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re:Overflow! Fehler im LS
« Antwort #3 am: 05.09.03 - 08:50:56 »
@all:
Ok, jetzt ist aus giZ(Integer) glZ (Long) geworden
und der Fehler ist weg, dafüf kommt der Agent nicht mehr
aus der Sub Routine DataCount nicht mehr raus. Ich glaube
es liegt irgendwie an der Unti/loop-Schleife.
In meinem Test-File sind übrigens nur drei Zeilen.
Hier mal mein Kompl. Script in der Teilmaske:

Declarations:
Dim gDB As NotesDatabase
Dim gUIDoc As NotesUIDocument
Dim gDoc As NotesDocument
Dim gItem As NotesItem

Dim gsFileName1 As String
Dim gsFileName2 As String
Dim gsWert As String
Dim gsWorkDir As String
Dim gsUnid As String

Dim giFileNum1 As Integer
'Dim giFileNum2 As Integer
'Dim giFileNum3 As Integer

Dim glZ As Long
Dim gvRTitem As Variant

Sub Postopen(Source As Notesuidocument)
   Dim workspace As New NotesUIWorkspace
   
   Set gUIDoc = workspace.CurrentDocument
   Set gDoc = gUIDoc.document
   
   gsUnid = gDoc.UniversalID
   gsWorkDir="c:\"
   gsFileName1 = "projekte1.txt" 'Für den Export nach Word
   gsFileName2 = "projekte2.txt" 'Für die Berechnug der Anzeige in dem Dokument
   gsTmpFile1="tmpprojekte1.txt"
   gsTmpFile2="tmpprojekte2.txt"
   Detach
   DataCount
End Sub
-----------------------------------------------------------------------------------------------------------
Sub Detach
   Dim fileCount As Integer
   Set gDB = gDoc.ParentDatabase
   Set gDoc = gDB.GetDocumentByUNID(gsUnid)
   Set gvRTitem = gDoc.GetFirstItem( "ObjCont" )
   If ( gvRTitem.Type = RICHTEXT ) Then
      Forall o In gvRTitem.EmbeddedObjects
         If ( o.Type = EMBED_ATTACHMENT ) Then
            fileCount = fileCount + 1
            gsWert=fileCount
            gsDest=gsWorkDir+"projekte"+gsWert+".txt"
            Call o.ExtractFile ( gsDest )
            Call gDoc.Save( True, False)
            gDoc.SaveOptions = "0"
         End If
      End Forall
   End If
End Sub
--------------------------------------------------------------------------------------------
Sub DataCount
   glZ=0
   giFileNum1% = Freefile()
   Open gsWorkDir+gsFileName1 For Input As giFileNum1%
   Do Until Eof(giFileNum1%) ' Warum kommt der Agent hier nicht raus?
      glZ=glZ+1  
   Loop
   Close giFileNum1%
End Sub

Gruß
Hitcher
« Letzte Änderung: 05.09.03 - 09:10:41 von Hitcher »
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Overflow! Fehler im LS
« Antwort #4 am: 05.09.03 - 09:12:12 »
Zitat
Do Until Eof(giFileNum1%)
      giZ=giZ+1  
   Loop

was du da gebaut hast, nennt man eine endlosschleife.

wie willst du denn jemals an das Ende der Datei kommen, wenn du überhaupt keine zeilen der Datei einliest  ;D

Dim text As String, fileNum As Integer
fileNum% = FreeFile()

Open "c:\config.sys" For Input As fileNum%
giZ=0
Do Until EOF(1)
   Line Input #1, text$
   giZ=giZ+1  
Loop
Close fileNum%

ich glaube, damit kommst du eher ans Ziel

eknori
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Overflow! Fehler im LS
« Antwort #5 am: 05.09.03 - 09:42:15 »
Genau: "In Ewigkeit, amen!" sprach die Endlosschleife.

Do WHAT Until ...

;-)

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re:Overflow! Fehler im LS
« Antwort #6 am: 05.09.03 - 12:47:25 »
@all:

Ihr habt ja so recht :)
Jetzt funzt das auch

Danke.

Gruß
Hitcher
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Overflow! Fehler im LS
« Antwort #7 am: 05.09.03 - 15:57:10 »
Mach Dir keine Gedanken - manchmal sieht man ja den Wald vor Bäumen nicht.
Ich habe ja auch nur auf den Overflow gestiert und dabei übersehen, daß das WHAT im Do fehlte ;-)

Häff ä neiss wiekend,
Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz