Das Notes Forum
Lotus Notes / Domino Sonstiges => Tools & Downloads => Thema gestartet von: Christopher am 21.03.05 - 07:21:52
-
Hallo Entwickler, ich habe ein VB Script und möchte es in LS konvertieren nun gibt es ja in VB Werte wie Byte Boolean usw. wie mache ich da am besten Ls daus. Ich habe z.B. API aufruf aus VB um einen Screenshot zum machen und diesen würde ich gerne in LS einsetzen.
Hier die Funktion in VB
Public Declare Sub keybd_event Lib "user32" Alias "keybd_event" _
(ByVal bVk As Byte, ByVal bScan As Byte, _
ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
'Die nachfolgende Prozedur erstellt das Screenshot
Public Sub MakeScreenshot(ByVal ActiveWindow As Boolean)
'Der Parameter ActiveWindow legt fest, ob ein Screenshot
'für das aktuelle Fenster (True) oder für gesamten
'Windows-Desktop (False)erstellt werden soll
Const KEYEVENTF_KEYUP = &H2
Const VK_MENU = &H12
Const VK_SNAPSHOT = &H2C
If ActiveWindow Then keybd_event VK_MENU, 0, 0, 0 ''ALT-Taste
keybd_event VK_SNAPSHOT, 0, 0, 0 ''Druck-Taste
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
If ActiveWindow Then keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
DoEvents
End Sub
-
aus "Public Declare" musst Du im LS "Declare Public" machen, dann sollte es funktionieren
Boolean stellt an deiser Stelle kein Problem dar. Alternativ könntest Du ein Variant übergeben.
-
Hm wenn müßte es als "Declare Function" deklariet werden und ich weiß nicht genau wie ich Byte konvertieren soll? Als Variant funktioniert es nicht.
-
Wieso Function? Du hast doch eine SUB!
Dass Byte funktioniert auch. Ich habe das Script so ähnlich am laufen und die Quelle ist auch VB.
-
Also ich bekomme die Fehlermeldung Class or TypeName not Found: Byte
-
liegt vermutlich daran, dass Christipher Notes 5 verwendet und diali Notes 6
Ich glaube, du kannst Byte und Boolean einfach durch Integer ersetzen
-
Das ist richtig, R5 kennt weder Byte noch Boolean. Integer ist definitiv der korrekte Ersatz für Boolean, bei Byte müsste Integer ebenfalls funktionieren.
-
Danke an Diali und die anderen also mit integer hat es funktioniert.