Beiträge von NO1 :-)
-
-
Kein Problem

Ja bei mir hat der DLLCall auch nicht funktioniert, deswegen wollt ich den Punkt 4 wissen...
Und für DLLs gibts ein hilfreiches Tool names DLL Export Viewer.zip, mit dem du alle in der DLL vorhandenen Funktionen anschauen kannst
... ich hängs mal an -
Danke

Die Idee mit der Konstante in der Funktion war auch net Meine
...Aber vielen, vielen Dank! Jetzt werd ich mal schaun, was du konkret geändert hast... Danke!
Und globalen Variablen in Funktionen kann man eigentlich bis auf Ausnahmen auch gut vermeiden... im Notfall halt auch mit dem guten, alten ByRef, wenn man sie schon vorher erstellt...
Lg NO1

-
Besser wäre jedoch, wenn man das ganze Script bzw. die UDF so umschreibt, dass es auch mit Au3Check läuft!
Und wie du schon hier geschrieben hast: Klar gehts, wenn man den AU3Check ausschaltet, aber ich brauch den ja noch für mein eigentliches Programm und es soll natürlich auch ohne laufen.
-
AutoIt
Alles anzeigenFunc _GetTaskBarPos() Global Const $ABM_GETTASKBARPOS = 0x5 $h_taskbar = WinGetHandle("","Start") $AppBarData = DllStructCreate("dword;int;uint;uint;int;int;int;int;int") DllStructSetData($AppBarData,1,DllStructGetSize($AppBarData)) DllStructSetData($AppBarData,2,$h_taskbar) $lResult = DllCall("shell32.dll","int","SHAppBarMessage","int",$ABM_GETTASKBARPOS,"ptr",DllStructGetPtr($AppBarData)) If Not @error Then If $lResult[0] Then Return StringSplit(DllStructGetData($AppBarData,5) & "|" & _ DllStructGetData($AppBarData,6) & "|" & DllStructGetData($AppBarData,7) & "|" & _ DllStructGetData($AppBarData,8),"|") EndIf EndIf SetError(1) Return 0 EndFunc Func _GetTitleBarHeight() Return _WinAPI_GetSystemMetrics($SM_CYCAPTION) EndFuncAlso die Eine Konstante $ABM_GETTASKBARPOS findet sich in keinem anderen Include, das auf meinem Rechner ist, wieder. Nur so zur Beruhigung
-
AutoIt
Alles anzeigen#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <GUIRichEdit.au3> #include <SystemWindowSizes.au3> #include <ModernMenu.au3> OnAutoItExitRegister("_Exit") Global Const $sTitle = "" Global Const $aTaskbar = _GetTaskBarPos(), $iTitleBarHeight = _GetTitleBarHeight() Global $iTaskbarHeight = 62 If IsArray($aTaskbar) Then $iTaskbarHeight = $aTaskbar[4]-$aTaskbar[2] Global Const $iWidth = @DesktopWidth, $iHeight = @DesktopHeight-$iTaskbarHeight-$iTitleBarHeight $hGUI = GUICreate($sTitle, $iWidth/2, $iHeight/2, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_MAXIMIZE)) GUICtrlCreateMenu("") $hEditor = _GUICtrlRichEdit_Create($hGUI, "", $iWidth/5, 0, $iWidth/5*4, $iHeight, -1) GUISetState(@SW_SHOW, $hGUI) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func _Exit() _GUICtrlRichEdit_Destroy($hEditor) EndFuncSo hast Recht, sorry... in der SystemWindowSizes.au3 werden weder Konstanten deklariert, noch andere Dateien includiert.
-
Hi

1. In deiner Dokumentation steht bool LogiLedInit(), deswegen darfst du in deinem Funktionsaufruf auch keinen Integer ("int") verwenden, sondern musst "BOOL" benutzen.
2. Der Aufruf von DLLCall gibt ein Array zurück -> Das heißt du, wenn du in der MessageBox den Rückgabewert haben willst, musst du DLLCall()[0] verwenden, also so zum Beispiel:
3. Da "bool" auch ein Integer ist und somit false als 0 und true als 1 gehandhabt wird, wirst du niemals ein true oder false zurückbekommen.
4. Teste mal, ob der DLLCall überhaupt erfolgreich ist.
AutoIt$hDLL = DllOpen(@ScriptDir & "\LogitechLed.dll") If @error Then MsgBox(16, "", "DLL kann nicht geladen werden! Programm wird beendet!") Exit EndIf $aReturn = DllCall($hDLL, "bool", "LogiLedInit") If @error Then MsgBox(0, "", "Methode konnte nicht aufgerufen werden!") DllClose($hDLL) ExitLg NO1

-
Du meinst die Modern Menu.au3?
Also ich brauch bis jetzt eigentlich nur die WindowsConstants und GUIConstants.
Wenn ich die ModernMenu davor lade kommt natürlich "not declared", wenn ich sie davor lade "previously declared"...
-
So... nur um nochmal schnell drauf zu kommen...
- wenn die Konstanten deklariert sind, meckert er, dass sie schon deklariert seien
- dann kommentier ich sie aus und der Wrapper meckert dass die Variable nicht deklariert ist
-
Oh vielen dank... das ist genau das, was ich gesucht hab

LG NO1

-
Hallo zusammen,
nur eine ganz kurz Frage in den Raum geworfen: Soweit ich weiß gibt es einen GUI-Style oder eine Zusammensetzung, die folgende Kriterien erfüllt:
- Standard-Titelleiste
- Maximierte GUI
- Aber: Die Taskleiste wird nicht überdeckt
Ich war mir ziemlich sicher, dass es dafür einen Stil gibt und man die Höhe der GUI nicht manuell anpassen muss... Hab schon ziemlich lang jetzt gegoogelt... entweder find ich nix oder ich irre mich...

-
Sauber, sauber... Vor diesem tollen Projekt kann ich nur immer wieder meinen Hut ziehen. Auch graphisch ist die Skalierung so perfekt umgesetzt und es kommen immer wieder neue Updates - wie gesagt höchster Respekt. Tolle Arbeit!
-
Sind die PDFs im gewünschten Ordner angekommen? Weil eigentlich werden die verschoben und nicht kopiert. Wo sollen die PDFs denn rausgelöscht werden?
-
Hallo Sascha,
hab hier mal schnell was zusammengebastelt. Die Exe läuft auch ohne die .au3 Dateien, im ersten Dialog musst du den Ordner auswählen, wo die PDFs vollautomatisch entstehen und im 2. Dialog das Laufwerk, wo sie hinsortiert werden sollen (in deinem Fall "O:"). Die Unterordner werden bei Bedarf automatisch angelegt. Das Skript überprüft den Ordner alle 1,5 Sekunden auf neue PDFs, beenden kannst du das Skript über das Icon im Tray auf der Taskleiste (rechter Mausklich -> "PDF-Sortierer beenden). Der Quellcode sowie alle weiteren Dateien sind im ZIP-Archiv. Wenns nicht funktioniert oder bei Fragen einfach nochmals schreiben.
LG NO1

Edit: PDF Sortierer.exe ist das Programm, die pdftotext.exe wird von dem Programm benötigt.
-
Okay vielen Dank ihr Beiden... Ihr seit echt ne super Hilfe

-
Also vielen Dank, funktionier wunderbar.
Deine Frage drehte sich halt nicht um Objekte sondern um Arrays und deren Indizierung.
Daher war mir nicht klar was du meintest.Zu dem Zeitpunkt gings mir noch nicht um die Arrays, aber danke, dass du mir die Frage auch gleich beantwortet hast
.Letzte Frage: Kann ich hier zum Beispiel überprüfen, ob "error" überhaupt existiert?
'{ "error": { "errors": [ { "locationType": "header", "location": "Authorization" } ], "code": 401, "message": "Invalid Credentials" } }'
-
Vielen Dank für deine schnelle Hilfe! Funktioniert ja super
! 
Wie bitte? - das habe ich nicht verstanden.
Ja hast meine Frage dadurch schon beantwortet. Ein JSON-Objekt ist immer der Inhalt zwischen den geschweiften Klammern...
Wenn ich hier jetzt zum Beispiel "location" auslesen will, wie mach ich das dann? Beginnen die Indicies auch bei 0?
{ "error": { "errors": [ { "locationType": "header", "location": "Authorization" } ], "code": 401, "message": "Invalid Credentials" } }
Tut mir leid, dass ich soviel nachfrag, aber die UDF begeistert mich grad voll...

-
Ja ist dir echt richtig gut gelungen... Habs gleich als Bildschirmschoner genommen... Schaut super aus

-
Wow... finde deine UDF echt super! Die erste sinvolle JSON UDF die ich gefunden hab

Jetz hätt ich nur eine Frage zur Benutzung. Folgenden String liegt mir vor:
{ "image": { "url": "https://*********", "isDefault": false } }
wie kann ich jetzt den Wert des Parameters "url" abfragen?
EDIT: Wie kann ich generell die Objekthierarchie händeln, heißt JSON-Objekte in JSON-Objekte und dann erst die Attribute.
Danke schonmal, NO1

-