Hallo!
Worin liegt der Sinn eines solchen Codes? Anfangen kann man damit ja nichts, außer als Werbung für einen Film.
Gruß, René
Hallo!
Worin liegt der Sinn eines solchen Codes? Anfangen kann man damit ja nichts, außer als Werbung für einen Film.
Gruß, René
Hallo!
Ich arbeite noch an meinem Projekt. Beim Treeview hänge ich fest.
Bei Klick auf eine Schaltfläche soll der Ordner zuklappen, aber nur bis zum Hauptordner, also in Ausgangsstellung wie beim Start des Programms. Mit _GUICtrlTreeView_Expand($idTreeview, 0, False) klappt das nicht, auch nicht mit _SendMessage(GUICtrlGetHandle($idTreeview), $TVM_EXPAND, $TVE_EXPAND, $hRoot, 0, 'wparam', 'handle').
Ein weiterer Wunsch:
Die Ordner sollen sich mit Einzelklick öffnen, nicht per Doppelklick. Und es soll immer nur ein Ordner offen sein. Klappe ich einen Ordner auf, sollen alle anderen zuklappen.
Ich habe schon einige Codes aus dem Netz probiert, aber keiner macht was ich möchte.
Danke!
Gruß, René
Jetzt sind es die richtigen Files (Die die ich hatte, erzeugten Fehler). Aber es rührt sich nichts, kein Fenster. Wie kann man jetzt die Seite anzeigen?
Solange die ieframe.dll verfügbar ist, funktioniert auch das WebBrowser-Control. Aber ich würde das gerne durch etwas modernes ersetzen, deshalb bin ich hier dabei. Leider ist "Webview2" nicht ohne.
Das sind die Fehler:
ZitatAlles anzeigen>"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" "C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.au3" /Prod /AU3check /in "C:\Users\user\Desktop\wdtest\wd_core.au3"
+>14:13:47 Starting AutoIt3Wrapper (21.316.1639.1) from:SciTE.exe (4.4.6.0) Keyboard:00000407 OS:WIN_11/2009 CPU:X64 OS:X64 Environment(Language:0407) CodePage:0 utf8.auto.check:4
+> SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE UserDir => C:\Users\user\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper SCITE_USERHOME => C:\Users\user\AppData\Local\AutoIt v3\SciTE
>Running AU3Check (3.3.16.1) from:C:\Program Files (x86)\AutoIt3 input:C:\Users\user\Desktop\wdtest\wd_core.au3
"C:\Users\user\Desktop\wdtest\wd_core.au3"(8,10) : error: can't open include file <JSON.au3>.
#include <JSON.au3>
~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(9,10) : error: can't open include file <WinHttp.au3>.
#include <WinHttp.au3>
~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1418,31) : warning: $INTERNET_SCHEME_HTTP: possibly used before declaration.
Case $INTERNET_SCHEME_HTTP
~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1420,32) : warning: $INTERNET_SCHEME_HTTPS: possibly used before declaration.
Case $INTERNET_SCHEME_HTTPS
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1793,48) : warning: $HTTP_STATUS_BAD_METHOD: possibly used before declaration.
If $_WD_HTTPRESULT = $HTTP_STATUS_BAD_METHOD Then
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1418,31) : error: $INTERNET_SCHEME_HTTP: undeclared global variable.
Case $INTERNET_SCHEME_HTTP
~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1420,32) : error: $INTERNET_SCHEME_HTTPS: undeclared global variable.
Case $INTERNET_SCHEME_HTTPS
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1793,48) : error: $HTTP_STATUS_BAD_METHOD: undeclared global variable.
If $_WD_HTTPRESULT = $HTTP_STATUS_BAD_METHOD Then
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(299,40) : error: Json_Decode(): undefined function.
Local $oJSON = Json_Decode($sResponse)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(302,53) : error: Json_Get(): undefined function.
$sSession = Json_Get($oJSON, "[value][sessionId]")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1330,38) : error: __WinHttpVer(): undefined function.
Local $sWinHttpVer = __WinHttpVer()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1401,39) : error: _WinHttpCrackUrl(): undefined function.
Local $aURL = _WinHttpCrackUrl($sURL)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1405,32) : error: _WinHttpOpen(): undefined function.
Local $hOpen = _WinHttpOpen()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1408,119) : error: _WinHttpSetTimeouts(): undefined function.
_WinHttpSetTimeouts($hOpen, $_WD_HTTPTimeOuts[0], $_WD_HTTPTimeOuts[1], $_WD_HTTPTimeOuts[2], $_WD_HTTPTimeOuts[3])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1412,64) : error: _WinHttpConnect(): undefined function.
Local $hConnect = _WinHttpConnect($hOpen, $aURL[2], $aURL[3])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1419,123) : error: _WinHttpSimpleRequest(): undefined function.
$sResponseText = _WinHttpSimpleRequest($hConnect, "GET", $aURL[6] & $aURL[7], Default, Default, $_WD_HTTPContentType)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1421,126) : error: _WinHttpSimpleSSLRequest(): undefined function.
$sResponseText = _WinHttpSimpleSSLRequest($hConnect, "GET", $aURL[6] & $aURL[7], Default, Default, $_WD_HTTPContentType)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1441,33) : error: _WinHttpCloseHandle(): undefined function.
_WinHttpCloseHandle($hConnect)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\user\Desktop\wdtest\wd_core.au3"(1747,68) : error: Json_StringEncode(): undefined function.
$sData = Json_StringEncode($sData, $iOption) ; Escape JSON Strings
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\user\Desktop\wdtest\wd_core.au3 - 16 error(s), 3 warning(s)
!>14:13:47 AU3Check ended. Press F4 to jump to next error.rc:2
+>14:13:47 AutoIt3Wrapper Finished.
>Exit code: 0 Time: 0.745
Auch den Pfad bei _WD_Option angepasst?
Natürlich. @ScriptDir & "\msedgedriver.exe'
Selber machen kann ich nicht.
Ich bekomme nur Fehlermeldungen. "_WD_Startup", "WD_CreateSession" => "undefined Function", etc. pp.
Ds gibt es so viele Links, aber keinen der auf eine au3 hindeutet.
Klingt interessant. Aber mit Datenbanken arbeite ich nicht. Ich werde wohl beim Menüband bleiben.
Aber Deine Icons gefallen mir. Wo hast Du die her? Selber gemacht?
Wo gibt es die beiden au3-Dateien? Ich finde sie nicht.
Hallo!
Zeig uns bitte mal Deinen Code. Dann können wir schauen.
Gruß, René
Jetzt experimentiere ich mit dem Menüband (Ribbon). Funktioniert auch. Eure Meinung?
Da der "Visual Ribbon Editor" unter Windows 10+ nicht läuft, muss man das Ribbon "zu Fuß" erstellen. Siehe https://www.autoitscript.com/forum/topic/12…comment=1523787
und so lange es bei dir klappt ist doch super
Das wird sich zeigen.
Ich habe noch mehr Code einkürzen können (den zum Erstellen der Toolbar-Button)
Vorher:
_GUICtrlToolbar_AddButton($g_hToolbar, $e_idOpen, 0, $ToolButtonText[0]) ; Öffnen-Schaltfläche (1)
_GUICtrlToolbar_AddButtonSep($g_hToolbar) ; Menüseparator 1
_GUICtrlToolbar_AddButton($g_hToolbar, $e_idZu, 1, $ToolButtonText[1]) ; Verzeichnisbaum einklappen
_GUICtrlToolbar_AddButton($g_hToolbar, $e_idAuf, 2, $ToolButtonText[2]) ; Verzeichnisbaum Zuklappen
_GUICtrlToolbar_AddButtonSep($g_hToolbar) ; Menüseparator 2
_GUICtrlToolbar_AddButton($g_hToolbar, $e_idBack, 3, $ToolButtonText[3]) ; Eine Seite zurück
_GUICtrlToolbar_AddButton($g_hToolbar, $e_idForward, 4, $ToolButtonText[4]) ; Eine Seite vor
_GUICtrlToolbar_AddButton($g_hToolbar, $e_idRefresh, 5, $ToolButtonText[5]) ; Aktuelle Seite neu laden
_GUICtrlToolbar_AddButton($g_hToolbar, $e_idStop, 6, $ToolButtonText[6]) ; Seite laden abbrechen
_GUICtrlToolbar_AddButtonSep($g_hToolbar) ; Menüseparator 3
_GUICtrlToolbar_AddButton($g_hToolbar, $e_idSettings, 7, $ToolButtonText[7]) ; Hilfe aufrufen
_GUICtrlToolbar_AddButton($g_hToolbar, $e_idHilfe, 8, $ToolButtonText[8]) ; Hilfe aufrufen
_GUICtrlToolbar_AddButton($g_hToolbar, $e_idNew, 9, $ToolButtonText[9]) ;Programm beenden
Alles anzeigen
Nachher:
For $iButtonCount = 0 To 9
If $iButtonCount = 1 Or $iButtonCount = 3 Or $iButtonCount = 7 Then _GUICtrlToolbar_AddButtonSep($g_hToolbar)
_GUICtrlToolbar_AddButton($g_hToolbar, $iButtonCount + 1000, $iButtonCount, $ToolButtonText[$iButtonCount])
Next
Aber da sieht man man wieder, das Quellcode aus dem Internet nicht immer den eigenen Wünschen entsprechen muss (Ob das Einkürzen sinnvoll ist oder nicht, steht auf einem anderen Blatt).
Und ich habe irgendwas im Hiunterkopf, das der ternäre unter bestimmten Bedingungen nicht funktioniert
Welche Bedingungen wären das? Gibt es da Infos? Für meinen Fall trifft das hoffentlich nicht zu.
Auf jeden Fall konnte ich den Code jetzt schon ein wenig kürzen.
Vorher:
$ToolButtonText[0] = _GUICtrlToolbar_AddString($g_hToolbar, ($sprachID = "de") ? "Datei öffnen" : "Open File") ; Text für Öffnen-Schaltfläche
$ToolButtonText[1] = _GUICtrlToolbar_AddString($g_hToolbar, ($sprachID = "de") ? "Ordner zuklappen" : "Order up") ; Text für Zuklappen-Schaltfläche
$ToolButtonText[2] = _GUICtrlToolbar_AddString($g_hToolbar, ($sprachID = "de") ? "Ordner aufklappen" : "Order down") ; Text für Aufklappen-Schaltfläche
$ToolButtonText[3] = _GUICtrlToolbar_AddString($g_hToolbar, ($sprachID = "de") ? "Zurück" : "Back") ; Text für Zurück-Schaltfläche
$ToolButtonText[4] = _GUICtrlToolbar_AddString($g_hToolbar, ($sprachID = "de") ? "Vorwärts" : "Forward") ; Text für Vorwärts-Schaltfläche
$ToolButtonText[5] = _GUICtrlToolbar_AddString($g_hToolbar, ($sprachID = "de") ? "Laden abbrechen" : "Stop") ; ; Text für Abbrechen-Schaltfläche
$ToolButtonText[6] = _GUICtrlToolbar_AddString($g_hToolbar, ($sprachID = "de") ? "Beenden" : "Exit") ; Text für Beenden-Schaltfläche
$ToolButtonText[7] = _GUICtrlToolbar_AddString($g_hToolbar, ($sprachID = "de") ? "Neu laden" : "Refresh") ; Text für Refresh-Schaltfläche
$ToolButtonText[8] = _GUICtrlToolbar_AddString($g_hToolbar, ($sprachID = "de") ? "Hilfe" : "Help") ; Text für Hilfe-Schaltfläche
$ToolButtonText[9] = _GUICtrlToolbar_AddString($g_hToolbar, ($sprachID = "de") ? "Einstellungen" : "Settings") ; Text für Einstellungen
Nachher:
ich denke du suchst den Ersatz von IIf in Autoit?
Der Ternär macht doch was ich möchte.
In den neuen AutoIt-Versionen gibt es ja den ternären Operator: $C = $x > 50 ? $A : $B
Das Ergebnis ist aber das selbe.
mit einer eigenen Funktion basteln.
Dann würde ich aber keine Codezeilen sparen.
Sehr gut! Das Probiere ich mal. Das geht hoffentlich auch mit mehr als 2.
Und was meinst Du mit mehrere ENUM? Beispielscript bitte!
Z.B. diese Zeile: Global Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $e_idHelp,
Um Code zu kürzen, wären weitere Global Enum hilfreich. Eine mit Text (für die Button-Beschriftung), und eine mit Zahlen (für die Icon-Nummer). In VBA nutze man dafür einfach mehrer ENUM- oder Typ-Anweisungen.