1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. atomas

Beiträge von atomas

  • Combobox mit mehreren Spalten

    • atomas
    • 25. Juni 2024 um 14:07

    Oh, das sieht ja super aus


    ich hatte auch was zum testen gemacht. (siehe unten)

    Allerdings klappt das nicht so, wenn ich die Combobox anklicke, dann öffnet sich wohl das Fenster, allerdings muss ich dann 2x in die Listbox klicken, bei dir geht die dann weg sobald man irgendwo hinklickt.

    Besten Dank, ich werde mal schauen ob ich das erweitern kann, so wie ich das möchte.


    C
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GuiComboBox.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    
    $Main = GUICreate("Main", 1174, 843, 361, 105)
    $ID1 = GUICtrlCreateCombo("", 139, 86, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $ID2 = GUICtrlCreateCombo("", 147, 46, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $ID3 = GUICtrlCreateCombo("", 115, 118, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $1LISTE = GUICtrlCreateCombo("Auswahl", 432, 48, 180, 25);, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $2LISTE = GUICtrlCreateCombo("", 467, 78, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $3LISTE = GUICtrlCreateCombo("", 459, 110, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $IP1 = GUICtrlCreateInput("", 640, 48, 313, 21)
    $IP2 = GUICtrlCreateInput("", 635, 86, 313, 21)
    $IP3 = GUICtrlCreateInput("", 635, 110, 313, 21)
    
    
    ;Child1
    $Child1 = GUICreate("Auswahl", 450, 300, 432, 73,$WS_POPUP,$WS_EX_MDICHILD,$Main)  ;$WS_POPUPWINDOW
    				$LVTEST = GUICtrlCreateListView("Wert1|Wert2|Wert3",0,0,450,300)
    
    				_GUICtrlListView_SetColumnWidth($LVTEST,0,300)
    				_GUICtrlListView_SetColumnWidth($LVTEST,1,50)
    				_GUICtrlListView_SetColumnWidth($LVTEST,2,70)
    
    
    GUISetState(@SW_SHOW,$Main)
    
    Local $aArray_Base[20][3]
    For $i = 0 To 19
        For $j = 0 To 2
            $aArray_Base[$i][$j] = "Item" & $i & " - " & $j
        Next
    Next
    $auswahl = ""
    $auswahlset = ""
    
    GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    	EndSwitch
    
    				$auswahl = _GUICtrlListView_GetItemText($LVTEST,_GUICtrlListView_GetSelectionMark($LVTEST),0)
    
    				;if $auswahl = "ID1" then $auswahl = ""
    
    				if  $auswahl <> $auswahlset then
    					GUISetState(@SW_hide, $Child1)
    					GUICtrlSetData($IP1,_GUICtrlListView_GetItemText($LVTEST,_GUICtrlListView_GetSelectionMark($LVTEST),0))
    					$auswahlset = $auswahl
    				endif
    
    
    WEnd
    
    
    
    Func _WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
    
        If _WinAPI_HiWord($wParam) = $CBN_DROPDOWN Then
            Switch _WinAPI_LoWord($wParam)
                Case $1LISTE
                    ConsoleWrite("Combo_1 Dropped" & @CRLF)
    				_GUICtrlListView_AddArray($LVTEST, $aArray_Base)
    				GUISetState(@SW_SHOW,$Child1)
    
                Case $2LISTE
                    ConsoleWrite("Combo_2 Dropped" & @CRLF)
                Case $3LISTE
                    ConsoleWrite("Combo_3 Dropped" & @CRLF)
            EndSwitch
        EndIf
    EndFunc
    Alles anzeigen
  • Combobox mit mehreren Spalten

    • atomas
    • 21. Juni 2024 um 12:12

    Deswegen finde ich dazu auch nichts, habe ich mir fast gedacht.

    Dann werde ich damit mal mein Glück versuchen. Danke

  • Combobox mit mehreren Spalten

    • atomas
    • 21. Juni 2024 um 11:18

    Hallo,

    ich habe eine Datenbank die ich gerne in Autoit bearbeiten bzw. anzeigen möchte

    Jetzt läuft es gerade unter Access und ich möchte das gerne anders haben und mit Autoit damit arbeiten

    In Access habe ich eine Combobox bzw Kominationsbox heißt es da ja,

    die aufgeteilt ist, leider habe ich das nicht unter Autoit hinbekommen.

    Die Liste, wenn man auf die Combobox klickt, sollte dann so aussehen wie auf dem Bild

    Zeile 1 steht Hersteller

    Zeile 2 steht Artikel

    Zeile 3 steht Preis

    Zeile 4 steht Bestand

    In der Combobox steht dann z. B. Intel und im Feld daneben steht die CPU, kann ich diese Anzeige auch mit

    Autoit realisieren?

    Danke für die Unterstützung


    Bild Access.JPG

  • SQLite Tabelle neu erstellen

    • atomas
    • 17. August 2022 um 14:15

    Hallo, ich benutze zur Zeit noch Access um eine Preisliste zu importieren und dann ein Angebot zu erstellen.

    Ich würde vielleicht wohl auf Autoit umsteigen und mir das alles einmal neu erstellen.

    Ich habe jetzt ein Problem mit den Preislisten.

    Ich habe 2 bzw. 3 Lieferanten, wo ich regelmäßig bestelle.

    Die Preislisten habe ich in eine Datenbank mit jeweils 3 Tabellen importiert.

    2 Firmen haben zwar eine komplette Preisliste, dort habe ich aber schon alles

    in einer neuen Tabelle geschrieben, für die Artikel, die ich brauche.

    Ich habe ja jetzt 3 Tabellen, die ich gerne zu einer zusammenfassen möchte.

    Preisliste 1 hat z.B. die Felder Herstellernummer, Hersteller,Bestand, Beschreibung, NettoPreis

    bei den anderen beiden gibt es das auch, allerdings ist die Beschreibung etwas anders.

    Nun meine Frage:

    Ich möchte gerne eine Tabelle haben, wo alle CPUs von den drei Preislisten angezeigt werden.

    Ich kann ja mit der Herstellernummer die 3 Tabellen vergleichen.

    SQL
    SELECT ManufacturerPartNumber,manufacturername,availablequantity,netprice,Description FROM p1 where manufacturername = 'INTEL' and categorytext2 = 'Prozessoren (CPU)' except select msku,manufacturer,stock,price,title from p2 except select herstnr,hersteller,menge,hek,artname from p3"

    Intel i5-12500 ist in allen 3 Preislisten enthalten

    Intel i5-12500K ist in p1 und in p2 enthalten

    Intel i7-12500 ist in p2 und p3 enthalten

    intel i7-12500K ist nur in p3 enhalten

    Die Tabelle sollte dann am Ende eigentlich so aussehen

    Hersteller|Beschreibung|Menge P1|Preis P1|Menge P2|Preis P2|Menge P3|Preis P3

    Intel I5-12500 25 100 4 110 0 130

    Intel I5-12500K 25 100 4 110 nv nv

    Intel I7-12500 nv nv 4 110 3 120

    Intel I7-12500K nv nv nv nv 6 140


    Ein wenig bekomme ich mit SQL ja wohl hin, aber hier habe ich zu wenig Ahnung davon.

    geht das überhaupt?

    Gruß Thomas

  • thetvdb api v2 Probleme

    • atomas
    • 24. Januar 2018 um 22:09

    Deins funktioniert leider nicht, wenn ich das so anpasse geht es

    Damit komme ich auf jeden Fall weiter

    Ich bedanke mich nochmal. Ich denke jetzt komme ich weiter!

    Code
    $sPost = _WinHttpSimpleSSLRequest($hConnect, "POST", "login", Default, "{" & '"apikey": "'& $sAPI_Key & '"}', "Accept: application/json" & @CRLF & "Content-Type: application/json; charset=utf-8")
  • thetvdb api v2 Probleme

    • atomas
    • 23. Januar 2018 um 19:17

    JUCHU, so funktioniert es, jetzt kommt der nächste Schritt.

    ICh habe immer immer das falsche im SEND Befehl gehabt, dann kann das auch nicht klappen.

    Mal sehen, ob ich den nächsten Schritt ohne Hilfe hinbekomme.


    Kann ich das ganze jetzt verkürzen. Du hast ja was von der winhttp UDF erzählt. Das werde ich mir auch mal anschauen.

    Mal sehen, ob ich damit klar komme.

    VIELEN DANK!!!

    Code
    $url = "https://api.thetvdb.com/login"
    $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("POST", $url, False)
    ;$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.0.10) Gecko/20100101 Firefox/22.0")
    $oHTTP.SetRequestHeader("Content-Type","application/json; charset=utf-8")
    $oHTTP.SetRequestHeader("Accept","application/json")
    $oHTTP.Send("{" & '"apikey": "apikey"' &"}")
    $sReturn = $oHTTP.ResponseText
    MsgBox(0,"",$sReturn)
  • thetvdb api v2 Probleme

    • atomas
    • 23. Januar 2018 um 16:22

    Meinst du so?

    Code
    $url = "https://api.thetvdb.com/login"
    $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("POST", $url, False)
    $oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.0.10) Gecko/20100101 Firefox/22.0")
    $oHTTP.SetRequestHeader("Content-Type","application/json; charset=utf-8")
    $oHTTP.SetRequestHeader("Accept","application/json")
    $oHTTP.Send("apikey=apikey")
    $sReturn = $oHTTP.ResponseText
    MsgBox(0,"",$sReturn)

    Habe mal damit etwas rumprobiert und auch gelesen, dass nur der apikey für den TOKEN reicht.

    Ich habe auch curl für Windows runtergeladen und das damit getestet, leider bekomme ich dort auch die Fehlermeldung.

    ICh kopiere genau den String von oben und füge ihn in die Kommandozeile ein.

    Ich ersetze dann noch das Apostroph in Anführungszeichen und es kommt dann die gleiche Fehlermeldung " Not authorized"

    Unter der https://api.thetvdb.com/swagger funktioniert es immer ohne Probleme, keine Ahnung was ich falsch mache.

    Vielleicht nehme ich doch themoviedb.org :(

  • thetvdb api v2 Probleme

    • atomas
    • 23. Januar 2018 um 11:49

    So sieht es jetzt bei mir aus.

    Bekomme aber auch "not authorized"

    Mach ich da noch was falsch?

    Kann ich da auch was mit der CURL.au3 machen??

    Das mit dem Curl Aufruf verstehe ich nämlich gar nicht

    Code
    $url = "https://api.thetvdb.com/login"
    $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("POST", $url, False)
    $oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.0.10) Gecko/20100101 Firefox/22.0")
    $oHTTP.SetRequestHeader("Content-Type","application/json")
    $oHTTP.SetRequestHeader("Accept","application/json")
    $oHTTP.Send("apikey=apikey&userkey=userkey&username=name")
    $sReturn = $oHTTP.ResponseText
    MsgBox(0,"",$sReturn)
  • thetvdb api v2 Probleme

    • atomas
    • 23. Januar 2018 um 08:27

    Hallo,

    ich habe das ganze beireits mit der alten API von thetvdb gemacht, funktioniert auch, sowie ich das haben möchte.

    Nun möchte ich aber die v2 API benutzen, weil irgendwann die alte Version eingestellt wird

    ich möchte mir selbst eine kleine Datenbank mit Hilfe von thetvdb.com aufbauen. Ich habe aber schon beim erstellen mein erstes Problem.

    Die Seite für die API

    https://api.thetvdb.com/swagger

    Das hier habe ich im Internet gefunden, was ich für mich angepasst habe

    Code
    $url = "https://api.thetvdb.com/login"
    $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("POST", $url, False)
    $oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.0.10) Gecko/20100101 Firefox/22.0")
    $oHTTP.SetRequestHeader("Content-Type","application/json")
    $oHTTP.SetRequestHeader("Accept","application/json")
    $oHTTP.SetRequestHeader("apikey", "apikey")
    $oHTTP.SetRequestHeader("userkey", "userkey")
    $oHTTP.SetRequestHeader("username", "username")
    $oHTTP.Send()
    $sReturn = $oHTTP.ResponseText
    Alles anzeigen

    Hier bekomme ich immer "Not authorized"

    Die Schlüssel sind natürlich mit den richtigen Werten eingetragen.

    Danach sollte man einen TOKEN bekommen, der für die weitere Nutzung immer eingetragen werden muss


    In CURL auf der Seite sieht das ganze so aus

    Code
    curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{
      "apikey": "string",
      "userkey": "string",
      "username": "string"
    }' 'https://api.thetvdb.com/login'

    Nachdem man den Token bekommen hat

    Code
    curl -X GET --header 'Accept: application/json' --header 'Accept-Language: de' --header 'Authorization: Bearer TOKEN' 'https://api.thetvdb.com/series/71663'

    Leider habe ich keinerlei Ahnung wie ich das in Autoit einbinden könnte.

    Vielleicht geht es auch besser mit der curl.au3 von WARD, aber dazu finde ich leider auch nichts was mir weiterhilft.

    Oder es gibt eine HTTP Seite von thetvdb wie ich das dort eintragen kann. Dazu finde ich aber nichts.


    Ich habe das ganze auch schon bei themoviedb.org gemacht, die Seite gefällt mir da schon besser und die API ist auch einfacher. Hat zwar auch etwas gedauert bis der Groschen gefallen ist aber jetzt habe ich das verstanden.

    Leider ist es aber dort so, dass die Serie nicht immer komplett in Deutsch verfügbar ist bzw. nur ein Teil.

    Ich hoffe, man kann mir hier auf die Sprünge helfen und das der Code nicht so kompliziert ist.

    Danke

    Gruß

    Thomas

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™