Autor Thema: object.filesize  (Gelesen 2408 mal)

Offline juebri

  • Frischling
  • *
  • Beiträge: 33
  • Ich liebe dieses Forum!
object.filesize
« am: 09.12.03 - 13:11:44 »
Hallo,

ich habe einen Agenten in einer Datenbank erstellt, der Dateien aus einem Pfad in RT-Felder eines neuen Notes-Dokuments erstellt.

...
   Dim session As New NotesSession()
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim db As NotesDatabase
   Set db = session.CurrentDatabase
   Set doc = db.CreateDocument
   doc.Form = "Dateiarchiv"   
....

   'Für jede Datei wird ein eigenes RT-Feld erstellt   
   Redim Datei(Ubound(DateiArray ))   
   For index = Lbound( DateiArray ) To Ubound(DateiArray )
      Set Datei(index) = doc.CreateRichTextItem("Datei" & index)
   Next

....

   'Die Dateien werden in die erstellten Felder kopiert
   If Isarray( DateiArray ) Then
      Redim Dateianhanggroesse(Ubound(DateiArray ) )
      
      For index = Lbound( DateiArray ) To Ubound(DateiArray )
         Set object = Datei(index).EmbedObject(EMBED_ATTACHMENT, "", TempOrdner & DateiArray(index))
         Print |Datei angehängt: | & TempOrdner & DateiArray( index )
      Next
   End If


Wenn ich nun in der Schleife des vorstehenden Absatzes folgenden Code eintrage:

msgbox object.name
msgbox object.filesize

dann wird der Name des Objekts angezeigt, als Dateigröße aber 0.

In dem Array Dateianhanggroesse(Ubound(DateiArray ) ) sollen nämlich die File-Größen hinterlegt werden.

Warum wirft der mit nicht die Filegröße aus.

Hat jemand eine Idee?

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:object.filesize
« Antwort #1 am: 09.12.03 - 13:13:19 »
... versuch es mal mit CStr( object.FileSize )...

ata
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:object.filesize
« Antwort #2 am: 09.12.03 - 13:16:16 »
Wurde Dein Doc denn schon gespeichert, wenn Du die Dateigrösse ermittelst ? Sonst ist die nämlich logischerweise 0.

Bernhard

Offline juebri

  • Frischling
  • *
  • Beiträge: 33
  • Ich liebe dieses Forum!
Re:object.filesize
« Antwort #3 am: 09.12.03 - 13:29:47 »
Das Dokument wurde noch nicht gespeichert, wird erst am Ende der Routine erfolgen. Nur, warum wirft object.name den Namen des Dateianhangs aus (auch wenn das Doc noch nicht gespeichert ist)?

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:object.filesize
« Antwort #4 am: 09.12.03 - 14:00:30 »
Warum nicht? Der ist ja schon bekannt. Die Dateilänge ist tatsächlich erst beim Speichern notwendig und ich vermute mal, dass Notes bei einem neuen Attachement die Datei tatsächlich erst beim Speichern einliest.

Andere Frage, woher kommen denn diese Attachements? Die müssen ja irgendwo im Dateisystem herumliegen und da liesse sich ja die Dateigrösse des Originals auslesen?
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline juebri

  • Frischling
  • *
  • Beiträge: 33
  • Ich liebe dieses Forum!
Re:object.filesize
« Antwort #5 am: 09.12.03 - 18:09:20 »
Hi, ich lese die Dateien von jedem beliebigen Medium, lege diese im Ordner D:\Temp\ ab, kompremiere die und hänge diese im Dokument in das entsprechende RT-Feld.

Hab einen Lösungsansatz: Ich könnte in der (Ausgabe)-Maske ein Script einbauen, das die Dateigröße ermittelt, sobald das Dokument das erste mal geöffnet wird.

Aber ich will eigentlich alles in dem Agenten einbinden, der die RT-Felder füllt.  Da greife ich ja eh schon auf alle Klassen etc. zu.

Werde mal den Hinweis "Die müssen ja irgendwo im Dateisystem herumliegen" aufgreifen. Hast Du Lösungsansätze?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:object.filesize
« Antwort #6 am: 09.12.03 - 18:20:10 »
Viel einfacher ist vermutlich, das Doc samt Attachments zu speichern, dann FileSize zu ermitteln und nochmal zu speichern ;-)

Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:object.filesize
« Antwort #7 am: 09.12.03 - 18:31:57 »
FileLen function
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline juebri

  • Frischling
  • *
  • Beiträge: 33
  • Ich liebe dieses Forum!
Re:object.filesize
« Antwort #8 am: 10.12.03 - 11:33:22 »
Yep, manchmal liegen die Lösungen so greifbar nahe und man sieht sie nicht ;-))

If Isarray( DateiArray ) Then
Redim Dateianhanggroesse(Ubound(DateiArray ) )
For index = Lbound( DateiArray ) To Ubound(DateiArray )
Set object = datei(index).EmbedObject(EMBED_ATTACHMENT, "", TempOrdner & Strrightback(Strleftback(DateiArray(index),"."),"\") & |.zip|)
Dateianhanggroesse(index)=Filelen(TempOrdner & Strrightback(Strleftback(DateiArray(index),"."),"\") & |.zip|)
Msgbox Dateianhanggroesse(index)
Print |Datei angehängt: | & TempOrdner & DateiArray( index )
Next
End If

Danke für eure Hilfe!

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:object.filesize
« Antwort #9 am: 10.12.03 - 11:58:34 »
Setzest Du den Thread noch auf erledigt? Buhtong über jeder Message
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz