Autor Thema: Importieren durch "Button"  (Gelesen 11673 mal)

Offline lainin

  • Frischling
  • *
  • Beiträge: 23
  • Ich liebe dieses Forum!
Importieren durch "Button"
« am: 21.03.04 - 00:00:11 »
Hallo....

Wie ist es möglich, durch einen Button die Funktion "Importieren" auszuführen?!?

Gruß Lainen

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Importieren durch "Button"
« Antwort #1 am: 21.03.04 - 10:43:47 »
Meinst Du @Command ([FileImport]) ?

Offline lainin

  • Frischling
  • *
  • Beiträge: 23
  • Ich liebe dieses Forum!
Re:Importieren durch "Button"
« Antwort #2 am: 21.03.04 - 11:09:41 »
Genau,das meine ich.
TMC hat eine Anleitung  in der Rubrik "Best Parctise" erstellt, nur die funktioniert nicht so ganz.

Der Button ruft zwar die File-Box auf, nur kannn ich leider keine Dateien mit den entsprechenden Endungen auswählen. Anstatt gif, jpg oder bmp wird mit

%§$&
"!//
"§$(/"
0815

angezeigt.


Zitat:
6. Praxis

Hier ein Beispiel-Script, welches für eine Aktion in einer Maske gedacht ist:

Code:Sub Click(Source As Button)
  Dim uiws As New NotesUIWorkspace
  Dim uidoc As NotesUIDocument    
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Dim doc As NotesDocument
  Dim vFilepath As Variant
  Dim szFilepath As String  
  Dim szEndung As String
 
  Set db = session.CurrentDatabase
  Set uidoc = uiws.CurrentDocument
  Set doc = uidoc.Document
 
  vFilepath = uiws.OpenFileDialog( True, db.Title, "Supported Images|*.cgm;*.jpg;*.bmp;*.gif;*.jpeg", "D:\")
 
 
  If Isempty(vFilepath) Then Exit Sub      ' Script verlassen falls User keine Datei auswählt
 
 
 
  Forall ImageList In vFilepath ' Durch die ausgewählten Dateien loopen
     
      szFilepath = ImageList
     
      'Holt die Dateiendung in den String, dabei mit LowerCase auf Kleinschreibung umgestellt
      szEndung = Lcase$(Right$(szFilepath, 3))
     
      Select Case szEndung
      Case "gif":
        Call uidoc.Import("GIF Image",szFilepath)
      Case "jpg":
        Call uidoc.Import("JPEG Image",szFilepath)
      Case "cgm":
        Call uidoc.Import("CGM Image",szFilepath)      
      Case "peg":
        Call uidoc.Import("JPEG Image",szFilepath)      
      Case "pcx":
        Call uidoc.Import("PCX Image",szFilepath)      
      Case "bmp":
        Call uidoc.Import("BMP Image",szFilepath)            
      End Select
     
  End Forall
 
End Sub

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Importieren durch "Button"
« Antwort #3 am: 21.03.04 - 12:29:47 »
Als, ich hab mir das nochmal angesehen.

Es klappt genau so wie beschrieben, es werden im Filerequester alle Bildformate angezeigt die im Script so definiert sind.

Was hier nicht geht, ist eine bestimmte Auswahl (z.B. nur bmp anzeigen) und war auch nicht gewollt (siehe Beschreibung in Best Practices).

Getestet gerade nochmal mit R5.0.11 und 6.5.1.

Etwas unschön ist nur, wenn man die Dateiauswahl aufklappt in R5:


In R6 wird das (vernünftigerweise) gar nicht mehr angeboten.

Welche Version setzt Du ein lainin?

Ich habe das ganze in einer DB zum testen erstellt, siehe Anhang.

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline lainin

  • Frischling
  • *
  • Beiträge: 23
  • Ich liebe dieses Forum!
Re:Importieren durch "Button"
« Antwort #4 am: 21.03.04 - 12:42:23 »
Genau so sieht das aus.     R5.0.10

Die Auswahl der einzelnen Dateitypen ist nicht eindeutig.
Und wenn ich die Auswahl auf "Supported Images" stehen lasse und ein bild einfügen möchte, kommt die Fehlermeldung:

"Document command is not available"

 ???


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Importieren durch "Button"
« Antwort #5 am: 21.03.04 - 12:52:15 »
Kommt die Fehlermeldung auch in der von mir angehängten Datenbank?

Das "Document Command is not available" kann auch hier im Beispiel kommen, wenn Du versuchst ein Bild in ein normales Textfeld einzufügen. Das muss ein Richtextfeld sein.

Matthias
« Letzte Änderung: 21.03.04 - 13:00:11 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline lainin

  • Frischling
  • *
  • Beiträge: 23
  • Ich liebe dieses Forum!
Re:Importieren durch "Button"
« Antwort #6 am: 21.03.04 - 13:00:13 »
nein... da ist alles klar!

Ich hab danach auch nochmal deinen Skipt-Text in meine db kopiert.
Die Fehlermeldung bleibt bestehen!

Lainin

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Importieren durch "Button"
« Antwort #7 am: 21.03.04 - 13:01:37 »
Hatte oben im Beitrag noch was ergänzt. Wo fügst Du das Bild ein? Das muss ein Richtextfeld sein, in normale Textfelder kannst Du kein Bild einfügen.

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline lainin

  • Frischling
  • *
  • Beiträge: 23
  • Ich liebe dieses Forum!
Re:Importieren durch "Button"
« Antwort #8 am: 21.03.04 - 13:06:47 »
Es ist leider ein Rich-Textfeld!!!  :(

Lainin

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Importieren durch "Button"
« Antwort #9 am: 21.03.04 - 13:09:17 »
Dann poste doch mal Deine Datenbank (neue Kopie erstellen, ohne Dokumente), dann schau ich mir das mal an.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Importieren durch "Button"
« Antwort #10 am: 21.03.04 - 13:26:06 »
Und wo tritt der Fehler auf?

- Ich klicke auf "Neues Hauptthema"
- Cursor setze ich in das Inhalts-Feld
- Dann Button "Bild importieren"

Es wird sauber ein Bild importiert.

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline lainin

  • Frischling
  • *
  • Beiträge: 23
  • Ich liebe dieses Forum!
Re:Importieren durch "Button"
« Antwort #11 am: 21.03.04 - 13:31:25 »
O M F G


das ist ja schon PEINLICH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  :o

Man sollte schon den Cursor ins Textfeld setzen und nicht in der Titel-Leiste lassen!!!!!  *!"$"!§$"§$!"§!!§!*

Sorry für diesen SAUBLÖDEN Fehler!!!




PS: Könnte man bitte dieses Thema hier löschen?!?!?   ;D
Könnt ihr auch stehen lassen... dann haben die Leute hier wenigstens was zu lachen!  :P

TMC.... Vielen Dank für deine Zeit & Hilfe
« Letzte Änderung: 21.03.04 - 13:35:56 von lainin »

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Importieren durch "Button"
« Antwort #12 am: 21.03.04 - 13:36:53 »
Kein Problem, kann jedem mal passieren :)

Damit dies Deinen Anwendern nicht passiert, könntest Du zusätzlich noch abfragen, in welchem Feld sich der Cusror befindet:

http://www.atnotes.de/index.php?board=7;action=display;threadid=13838

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Importieren durch "Button"
« Antwort #13 am: 21.03.04 - 13:38:05 »
Nana, nun mal nicht gleich heulend in die Ecke gehen .....

Denke positiv, was glaubst Du, wieviele Leute jetzt erleichtert aufatmen und sagen "Ach ..... das passiert nicht nur mir?"

All denen hast Du jetzt eine perfekte Wohltat serviert .......

Denk mal darüber nach und sei stolz auf Deine Hilfeleistung .....  ;)
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 lainin

  • Frischling
  • *
  • Beiträge: 23
  • Ich liebe dieses Forum!
Re:Importieren durch "Button"
« Antwort #14 am: 21.03.04 - 14:01:33 »
LOL

so kann man das auch sehen!!!!!   ;D

Ich mach zu das Ding!!!!

Gruß Lainin

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Importieren durch "Button"
« Antwort #15 am: 21.03.04 - 17:05:44 »
Habe nun noch ein kleines Errorhandling ergänzt und eine Abfrage eingebaut, ob sich Cursor in einem Richtextfeld befindet.

Werde ich gelegentlich noch in Best Practices Artikel aufnehmen.


Code
Sub Click(Source As Button)
   On Error Goto errHandler
   Dim uiws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim vFilepath As Variant
   Dim strFilepath As String
   Dim strEndung As String

   Set db = session.CurrentDatabase
   Set uidoc = uiws.CurrentDocument
   Set doc = uidoc.Document

   'Abfrage ob Cursor in Richtextfeld
   Dim rti As Variant
   Set rti = doc.GetFirstItem(uidoc.CurrentField )
   If ( rti.Type <> RICHTEXT ) Then
      Msgbox "Bitte setzen Sie den Cursor in ein Richtextfeld," & Chr(10) & "um ein Bild einzufügen.",64 , db.title
      Exit Sub
   End If

SkipRTAbfrage:


   vFilepath = uiws.OpenFileDialog( True, db.Title, "Supported Images|*.cgm;*.jpg;*.bmp;*.gif;*.jpeg", "X:\")


   If Isempty(vFilepath) Then Exit Sub      ' Script verlassen falls User keine Datei auswählt

   Forall ImageList In vFilepath ' Durch die augewählten Dateien loopen

      strFilepath = ImageList

       'Hole die Dateiendung in den String, dabei mit LowerCase auf Kleinschreibung umgestellt
      strEndung = Lcase$(Right$(strFilepath, 3))

      Select Case strEndung
      Case "gif":
         Call uidoc.Import("GIF Image",strFilepath)
      Case "jpg":
         Call uidoc.Import("JPEG Image",strFilepath)
      Case "cgm":
         Call uidoc.Import("CGM Image",strFilepath)
      Case "peg":
         Call uidoc.Import("JPEG Image",strFilepath)
      Case "pcx":
         Call uidoc.Import("PCX Image",strFilepath)
      Case "bmp":
         Call uidoc.Import("BMP Image",strFilepath)
      End Select

   End Forall

exitScript:
   Exit Sub

errHandler:
   Select Case Err
   Case 91
      Resume SkipRTAbfrage
   Case Else
      Msgbox "Es ist ein Fehler aufgetreten." & Chr(10)  & Chr(10) _
      & "Fehlermeldung: " & Error$ & Chr(10) _
      & "Fehlernummer: " & Err & Chr(10) _
      & "Codezeile: " & Erl & Chr(10) _
      ,64,"Error"
      Resume exitScript
   End Select

End Sub
« Letzte Änderung: 21.03.04 - 23:32:56 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Importieren durch "Button"
« Antwort #16 am: 21.03.04 - 17:16:15 »
„Aus Fehlern wird man klug“
mit meinem kleinen Latrinum kann ich das leider nicht ins Lateinische übersetzen ( obwohl ich das eigentlich können müsste) ; aber dafür haben wir ja Jens  ;D

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

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Importieren durch "Button"
« Antwort #17 am: 21.03.04 - 17:33:28 »
genau  ;D

Ich für mich habe hier gelernt, nur noch Scripts in Best Practices zu verwenden, wo zumindest ein kleines Errorhandling enthalten ist  ;)

Hoffe ich halte mich auch dran....

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Importieren durch "Button"
« Antwort #18 am: 21.03.04 - 17:37:45 »
<oT>
hab es zusammengebastelt : QUAE NOCENT, DOCENT ( @Jens: hoffe, ich habe nicht allzu tief ins Klo ggriffen )
</oT>
« Letzte Änderung: 21.03.04 - 17:38:12 von 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 Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Importieren durch "Button"
« Antwort #19 am: 21.03.04 - 21:36:23 »
Ulrich: Note 1 ......  ;D


Ganz wörtlich: was schadet, lehrt
« Letzte Änderung: 21.03.04 - 21:37:20 von Semeaphoros »
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