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. Ghostleader

Beiträge von Ghostleader

  • Einbindung von Label Ausgabe durch ComboBox Auswahl

    • Ghostleader
    • 27. Oktober 2011 um 17:22

    Hallo zusammen,

    ich brauche mal wieder eure Hilfe. Diesmal geht es um ein Wahren handelstool wo ich noch etwas Hilfe brauche.

    Spoiler anzeigen
    [autoit]

    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 447, 276, 413)
    $Startstadt = GUICtrlCreateCombo("Wähle Stadt", 230, 48, 91, 25)
    GUICtrlSetData(-1, "Accra|Aden|Alexandria|Algier|Amsterdam|Athen|Barcelona|Basra|Beirut|Bordeaux|Dakar|Edo|Genua|Hamburg|Kappstadt|Konstantinopel|Las Palmas|Lissabon|London|Luanda|Madeira|Maskat|Melaka|Mogadischu|Mosambik|Mumbai|Nagasaki|Oslo|Quanzhou|Reykjavik|Semerang|Seoul|Sevilla|Sri Lanca|Stockholm|Suez|Tianjin|Tourane|Tripolis|Venedig")
    $Ziehlort = GUICtrlCreateCombo("Wähle Stadt", 344, 48, 91, 25)
    GUICtrlSetData(-1, "Accra|Aden|Alexandria|Algier|Amsterdam|Athen|Barcelona|Basra|Beirut|Bordeaux|Dakar|Edo|Genua|Hamburg|Kappstadt|Konstantinopel|Las Palmas|Lissabon|London|Luanda|Madeira|Maskat|Melaka|Mogadischu|Mosambik|Mumbai|Nagasaki|Oslo|Quanzhou|Reykjavik|Semerang|Seoul|Sevilla|Sri Lanca|Stockholm|Suez|Tianjin|Tourane|Tripolis|Venedig")
    $Input1 = GUICtrlCreateInput("", 456, 48, 89, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    #region Übersicht Labels
    $Von = GUICtrlCreateLabel("Von", 270, 30, 81, 158)
    GUICtrlSetFont(1, 16, 600)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Nach = GUICtrlCreateLabel("Nach", 370, 30, 81, 158)
    GUICtrlSetFont(1, 12, 600)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Ladung = GUICtrlCreateLabel("Lade-Kapazität", 465, 30, 81, 158)
    GUICtrlSetFont(1, 12, 600)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    #endregion Übersicht Labels

    [/autoit] [autoit][/autoit] [autoit]

    #region Combo Labels
    #endregion Combo Labels

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit]

    Nun zu meinem Problem:

    Jeder der aufgeführten Städte bei $Startstadt und Ziehlort haben je 5 Waren verschiedene Einkaufsstufen und Preise.
    Wenn ich nun in der ComboBox $Startstadt zb auf Accra klicke sollen die eben genanten Labels erscheinen also die Waren ganz forn ein stück weiter rechts die Einkaufsstufen und noch ein stück weiter rechts die Preise. Jede Ware untereinander.

    Momentan habe ich die Labels noch nicht erstellt, jedoch nur weil ich noch nicht weiss wie nun die günstigste Umsetzung dafür ist!

    Ich hoffe ihr versteht wie ich das meine und ihr könnt mir dabei helfen!

    Mfg Ghostleader

    PS: Als Vorlage dient diese total Veraltete Exel Tabelle von 2009 im Anhang.

  • Brauche gleich dreifache Hilfe

    • Ghostleader
    • 13. Juli 2011 um 19:16

    Hmm,

    schade naja ich hoffe das jemand doch noch weiss wie es geht wenn es geht!

    Mfg Ghostleader

  • Brauche gleich dreifache Hilfe

    • Ghostleader
    • 13. Juli 2011 um 18:54

    Hallo shadow667,

    Funktioniert super vielen Dank!

    Geht es auch noch irgendwie das man das Menu nun Farblich hinterlegt oder Transparent macht?

    Mfg Ghostleader

  • Brauche gleich dreifache Hilfe

    • Ghostleader
    • 13. Juli 2011 um 18:18

    Hallo misterspeed,

    vielen dank für deine Hilfe, die mich voll weiter gebracht hat!!!
    Ich habe allerdings die Variante vor deinem Edit genommen, da dein Edit da noch net da war und sie funzt einwandfrei!!! Vielen Dank dafür!

    Eine Frage hätte ich noch wofür ich nicht erst ein neues Thema eröffnen mag:

    Kann man bei der Gui oben das minimieren und das X oder gar die gesamte Gui leiste weg machen?

    Mfg Ghostleader

  • Brauche gleich dreifache Hilfe

    • Ghostleader
    • 13. Juli 2011 um 17:37

    Hallo Schnitzel,

    also ich habe schon den namen richtig angegeben.

    Habe es jetzt so geändert:

    [autoit]

    Func RECHNER_BOX()
    Run($SCRIPTPATH & "Tools\Rechner_Box\Rechner_Box.exe")
    GUISetState(@SW_MINIMIZE)
    Do
    Sleep(100)
    Until Not Winexists("Test")
    GUISetState(@SW_MAXIMIZE)
    EndFunc

    [/autoit]

    Nun lässt sich das Fenster minimieren in die Taskleiste, aber bei Rechner Programm schliessen trotzdem nicht wieder maximieren also automatisch von Hand schon.
    Ein weiteres Problem ist nun das sich das Hauptprogramm nun auch nicht mehr über das X schliessen lässt, genauso wenig wie in der Taskleiste rechtsklick --> schliessen.

    Mfg Ghostleader

  • Brauche gleich dreifache Hilfe

    • Ghostleader
    • 13. Juli 2011 um 15:39

    Hallo Schnitzel,

    und wieder ein fettes D A N K E an dich.

    Das mit den Buttons funktioniert nun einwandfrei dank deiner Erklährung. Wenn ich mal ehrlich bin haste recht gehabt und ich schäme mich schon ein bisschen das ich diese einfache Weise net richtig umgesetzt habe!

    Zum Programm minimieren / maximieren muss ich sagen das es das Programm zwar minimiert (aber net direkt in die Taskleiste) aber nicht wieder maximiert sobald der Rechner geschlossen wird, sondern das Hauptprogramm (was auch in AutoIt geschrieben ist) unten rechts da wo es hin minimiert wurde weiss net genau wie es heist wo die aktiven sachen wie Firewall und co angezeigt werden und von daher nicht wieder maximiert werden kann, weder von Hand noch durch schliessen des Rechners!

    Mfg Ghostleader

  • Brauche gleich dreifache Hilfe

    • Ghostleader
    • 13. Juli 2011 um 14:03

    Hallo Schnitzel,
    vielen Dank erstmal wieder für deine Promte Antwort/Hilfe.

    Zitat von Schnitzel

    Dann musst du halt alle Controls die verschwinden sollen mit Guictrlsetstate auf $GUI_HIDE.
    Wo liegt das Problem?

    Das Problem ist das ich nicht weiss wann genau ich die Controls wieder auf Hide setzen muss. Ich habe schon sehr viel rum probiert, jedoch verschwinden sie entweder nicht beim wechsel, oder sie verschwinden zum falschem Zeitpunkt!
    Währe schön wenn du mir dies noch zeigen könntest!

    Zitat von Schnitzel

    Das Problem mit dem Bild liegt vermutlich daran dass sich dein Rechner Programm in nem anderen Ordner befindet als das Hauptprogramm oder?
    D.h. du musst den Pfad anpassen ("data\Backround\Backround.jpg")
    Nimm dazu nen absoluten Pfad und keinen relativen

    Stimmt, der Rechner liegt in einem anderem Ordner wie das haupt Programm. Habe nun wie von dir empfohlen einen absoluten Pfad genommen und siehe da es geht. Ich wusste net das das so ist da ich davon ausging das es net von Nöten sei, da es ja ein eigenständiges Programm ist, aber wie mann so schön sagt mann lernt nie aus und immer wieder was dazu! ;)

    Eine wietere Frage hätte ich gleich noch.
    Kann mann es irgendwie einstellen, das wenn man den Rechner über das Menu des Hauptprogrammes aufruft, sich das Hauptprogramm minimiert und wenn der Rechner geschlossen wird wieder Maximiert?

    Mfg Ghostleader

  • Brauche gleich dreifache Hilfe

    • Ghostleader
    • 13. Juli 2011 um 13:27

    Hallo wieder,

    Zum Pic Problem:

    Also ich habe nun auch probiert das bild dem anderem Programm anzupassen, was bedeutet das Bild dahin zu tun wo auch das andere Programm seine bilder hat und habe im Rechner Code den Pfad angepasst, jedoch bewirkt das nicht das geringste Bild bleibt weiter weg!
    Eigentlich sollte das doch auch egal sein oder denn der Rechner hat ja nen eigenen Pfad, ist ein eigenständiges Programm und wird ja nur übers Menü des anderen Programms gestartet oder sehe ich da was falsch?

    Auch zu dem Problem der Label löschung bei Programm wechsel habe ich noch keine Lösung.

    Ich hoffe ihr habt noch Ideen für beides!

    Mfg Ghostleader

  • Brauche gleich dreifache Hilfe

    • Ghostleader
    • 13. Juli 2011 um 01:39

    Guten abend zusammen,

    Schnitzel
    Danke erstmal soweit. Ich werde es momentan nicht auf Tab´s umbauen, da ich trotz zahlreicher Versuche momentan nicht weiter komme, dies aber sicherlich noch mache sobald ich mehr zeit habe und mich richtig damit beschäftigen kann. Gegebenfalls werde ich mich dann dazu hier in nem anderem Thema melden.

    @All
    Ein Problem bleibt allerdings noch und zwar das, das die Label´s, Inputs und Buttons verschwinden sollen, sobald ein anderes oder das selbe Menü aufgerufen wird.
    Was verschwindet ist die Listview, das ist aber auch das einzige!


    Auch ein weiteres Problem mit dem Programm hat sich im Zuge des weiterarbeitens ereignet.

    Und zwar ist dies ja ein Eigenständiges Programm, was allerdings durch ein Anderes Programm mit dem Befehl:

    [autoit]

    Func RECHNER_BOX()
    If WinExists("Rechner_Box") <> 1 Then
    Run($SCRIPTPATH & "Tools\Rechner_Box\Rechner_Box.exe")
    Else
    WinActivate("Rechner_Box")
    EndIf
    EndFunc

    [/autoit]

    Das Funktioniert auch ganz super, jedoch wenn ich das Programm über das andere Programm ausführe wird das Hintergrund Bild gefressen und es erscheint keins mehr beim rechner sondern die GUI bleibt ohne Bild.
    Starte ich den rechner Sepperat also nicht über das ander Programm, so ist das Bild da und wird auch eingelesen/angezeigt!

    Hier nochmal der Code zum Rechner damit ihr net soweit hoch müsst!

    Spoiler anzeigen

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=data\Backround\bbo.ico
    #AutoIt3Wrapper_outfile=Resourcen Rechner.exe
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_Res_Description=Copyright bey Ghostleader & Team Almanach
    #AutoIt3Wrapper_Res_Fileversion=1.1.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=Ghostleader and Team Almanach
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

    #region Includes
    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <ListviewConstants.au3>
    #include <EditConstants.au3>
    #include <GuiListView.au3>
    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    #include <INet.au3>
    #endregion Includes

    #region Version, GUI, Grund Label´s und Menu

    Global $ver = "1.1.0"

    $Form1 = GUICreate("Resourcen Rechner", 650, 450, 193, 125)
    GUICtrlCreatePic("data\Backround\Backround.jpg", 0, 0, 650, 450)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel("© By The Scripter", 425, 408, 350, 15)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ResMenu = GUICtrlCreateMenu("Resourcen Rechner")
    $Resourcen_Rechner = GUICtrlCreateMenuItem("Herstellungs_Rechner", $ResMenu)
    $JobMenu = GUICtrlCreateMenu("Job XP Rechner")
    $Job_XP_Rechner = GUICtrlCreateMenuItem("Job_Rechner", $JobMenu)
    $PetMenu = GUICtrlCreateMenu("Pet Stufen Rechner")
    $Pet_Stufen_Rechner = GUICtrlCreateMenuItem("Job_Rechner", $PetMenu)
    $Sonstiges = GUICtrlCreateMenu("Sonstiges")
    $Release_Notes = GUICtrlCreateMenuItem("Realease_Notes", $Sonstiges)
    $EndMenu = GUICtrlCreateMenu("Programm Beenden")
    $Ende = GUICtrlCreateMenuItem("Verlassen", $EndMenu)
    #endregion Version, GUI, Grund Label´s und Menu

    #region GUI und ListView
    $LabelUpdater = GUICtrlCreateLabel("Es wird nun auf neueste Updates geprüft!", 150, 170, 400, 50)
    GUICtrlSetFont(-1, 12, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ButtonJA = GUICtrlCreateButton("JA", 230, 220, 70, 20, $WS_GROUP)
    $ButtonNEIN = GUICtrlCreateButton("NEIN", 340, 220, 70, 20, $WS_GROUP)
    $ButtonOK = GUICtrlCreateButton("OK", 265, 220, 70, 20, $WS_GROUP)
    GUICtrlSetState($ButtonNEIN, $GUI_HIDE)
    GUICtrlSetState($ButtonOK, $GUI_HIDE)
    GUICtrlSetState($ButtonJA, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater, $GUI_HIDE)
    Global $listview = GUICtrlCreateListView("Resourcen Rechner!", 20, 20, 180, 360, $LVS_SINGLESEL, $LVS_EX_FULLROWSELECT)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
    _GUICtrlListView_SetColumnWidth($listview, 0, 200)
    GUICtrlSetState($listview, $GUI_HIDE)
    GUISetState(@SW_SHOW)
    #endregion GUI und ListView

    #region Label´s + Button´s Start
    $h_l1 = GUICtrlCreateLabel("", 313, 300, 230, 20)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $h_l2 = GUICtrlCreateLabel("", 313, 325, 230, 20)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $h_l3 = GUICtrlCreateLabel("", 313, 350, 230, 20)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $GrundLabel = GUICtrlCreateLabel("", 243, 40, 360, 50)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Rohstoff1 = GUICtrlCreateLabel("", 313, 82, 290, 30)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Rohstoff2 = GUICtrlCreateLabel("", 313, 107, 290, 30)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Rohstoff3 = GUICtrlCreateLabel("", 313, 132, 290, 30)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $FrageLabel = GUICtrlCreateLabel("", 243, 160, 360, 50)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $FrageInput = GUICtrlCreateInput("", 300, 215, 210, 20, $ES_NUMBER)
    $FrageButton = GUICtrlCreateButton("Berechnung Starten", 320, 245, 170, 20, $BS_DEFPUSHBUTTON)
    $Minus = GUICtrlCreateButton("Minus", 243, 216, 53, 18)
    $Plus = GUICtrlCreateButton("Plus", 516, 216, 53, 18)
    GUICtrlSetState($FrageInput, $GUI_HIDE)
    GUICtrlSetState($FrageButton, $GUI_HIDE)
    GUICtrlSetState($Minus, $GUI_HIDE)
    GUICtrlSetState($Plus, $GUI_HIDE)
    #endregion Label´s + Button´s Start

    #region ListViewItems start
    Local $iCurNum = ''
    Local $aDaten[2][7] = [["Salat", "Zwiebeln: ", 5, "Makaroni Pakete: ", 2, "Tuben Mayonaise: ", 2], _
    ["Test (level 5)", "Test: ", 3, "Steine: ", 40000000]]
    Local $aLV[UBound($aDaten)]
    For $i = 0 To UBound($aLV) - 1
    $aLV[$i] = GUICtrlCreateListViewItem($aDaten[$i][0], $listview)
    Next


    _GUICtrlListView_RegisterSortCallBack($listview)
    _GUICtrlListView_UnRegisterSortCallBack($listview)

    #endregion ListViewItems start

    #region While Schleifen
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $Ende
    Exit
    Case $FrageButton
    GUICtrlSetData($h_l1, $aDaten[$iCurNum][1] & $aDaten[$iCurNum][2] * GUICtrlRead($FrageInput))
    GUICtrlSetData($h_l2, $aDaten[$iCurNum][3] & $aDaten[$iCurNum][4] * GUICtrlRead($FrageInput))
    GUICtrlSetData($h_l3, $aDaten[$iCurNum][5] & $aDaten[$iCurNum][6] * GUICtrlRead($FrageInput))
    Case $ButtonJA
    GUICtrlSetData($LabelUpdater, "Update wird jetzt heruntergeladen...")
    GUICtrlSetState($ButtonJA, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN, $GUI_HIDE)
    installupdate() ; lädt neue version herunter führt den installer aus und verlässt das programm...
    Case $ButtonNEIN, $ButtonOK ; alle controls der Update Routine unsichtbar machen:
    GUICtrlSetState($ButtonOK, $GUI_HIDE)
    GUICtrlSetState($ButtonJA, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater, $GUI_HIDE)
    GUICtrlSetState($listview, $GUI_SHOW)
    Case $listview
    _GUICtrlListView_SortItems($listview, GUICtrlGetState($listview))
    Case $Resourcen_Rechner
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater, $GUI_SHOW)
    If updatecheck() = -1 Then
    GUICtrlSetData($LabelUpdater, "Du benutzt bereits die aktuellste Version!")
    GUICtrlSetState($ButtonOK, $GUI_SHOW)
    Else
    GUICtrlSetData($LabelUpdater, "Neue Version Vorhanden! Soll diese installiert werden?")
    GUICtrlSetState($ButtonJA, $GUI_SHOW)
    GUICtrlSetState($ButtonNEIN, $GUI_SHOW)
    EndIf
    Case $Job_XP_Rechner
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater, $GUI_SHOW)
    If updatecheck() = -1 Then
    GUICtrlSetData($LabelUpdater, "Du benutzt bereits die aktuellste Version!")
    GUICtrlSetState($ButtonOK, $GUI_SHOW)
    Else
    GUICtrlSetData($LabelUpdater, "Neue Version Vorhanden! Soll diese installiert werden?")
    GUICtrlSetState($ButtonJA, $GUI_SHOW)
    GUICtrlSetState($ButtonNEIN, $GUI_SHOW)
    EndIf
    Case $FrageButton
    rechnen()
    Case $Plus
    rechnen(2)
    rechnen()
    Case $Minus
    rechnen(3)
    rechnen()
    EndSwitch
    For $i = 0 To UBound($aLV) - 1
    If $nMsg = $aLV[$i] Then $iCurNum = _Anzeige($aDaten[$i][0], $i)
    Next
    WEnd
    Exit
    #endregion While Schleifen

    #region Function _Anzeige
    Func _Anzeige($sName, $iNum)
    GUICtrlSetState($FrageInput, $GUI_SHOW)
    GUICtrlSetData($FrageInput, "")
    GUICtrlSetState($FrageButton, $GUI_SHOW)
    GUICtrlSetState($Minus, $GUI_SHOW)
    GUICtrlSetState($Plus, $GUI_SHOW)
    GUICtrlSetData($GrundLabel, StringReplace("Für ein %sName% wird folgendes benötigt:", "%sName%", $sName))
    GUICtrlSetData($FrageLabel, StringReplace("Wieviel %sName% möchtest du herstellen?", "%sName%", $sName))
    GUICtrlSetData($Rohstoff1, $aDaten[$iNum][1] & $aDaten[$iNum][2])
    GUICtrlSetData($Rohstoff2, $aDaten[$iNum][3] & $aDaten[$iNum][4])
    GUICtrlSetData($Rohstoff3, $aDaten[$iNum][5] & $aDaten[$iNum][6])
    GUICtrlSetData($h_l1, "")
    GUICtrlSetData($h_l2, "")
    GUICtrlSetData($h_l3, "")
    Return $iNum
    EndFunc ;==>_Anzeige
    #endregion Function Anzeige

    #region Function Updatecheck
    Func updatecheck()
    InetGet("http://test.de/test/update.txt", @Scriptdir & "\data\update.txt", 1, 0)
    $file = FileOpen(@Scriptdir & "\data\update.txt", 0)
    $line = FileReadLine($file, 1)
    If $line = $ver Then
    Return -1 ; keine neue version vorhanden
    Else
    Return 1 ; neue version vorhanden
    EndIf
    EndFunc ;==>updatecheck
    #endregion Function Updatecheck

    #region Function Installupdate
    Func installupdate()
    InetGet("http://test.de/test/test.sfx.exe", @ScriptDir & "\test.sfx.exe", 1, 0)
    Run(@ScriptDir & "\test.sfx.exe")
    Sleep(2000)
    Exit
    EndFunc ;==>installupdate
    #endregion Function Installupdate

    Func rechnen($aufgabe=1)
    if $aufgabe=1 Then
    GUICtrlSetData($h_l1, $aDaten[$iCurNum][1] & $aDaten[$iCurNum][2] * GUICtrlRead($FrageInput))
    GUICtrlSetData($h_l2, $aDaten[$iCurNum][3] & $aDaten[$iCurNum][4] * GUICtrlRead($FrageInput))
    GUICtrlSetData($h_l3, $aDaten[$iCurNum][5] & $aDaten[$iCurNum][6] * GUICtrlRead($FrageInput))
    EndIf
    if $aufgabe = 2 Then GUICtrlSetData($FrageInput,GUICtrlRead($FrageInput)+1)
    if $aufgabe = 3 Then GUICtrlSetData($FrageInput,GUICtrlRead($FrageInput)-1)
    EndFunc

    Ich hoffe ihr könnt mir bei diesen beiden Sachen noch behilflich sein!

    Mfg Ghostleader

  • Brauche gleich dreifache Hilfe

    • Ghostleader
    • 12. Juli 2011 um 15:43

    Hallo Schnitzel,

    also das mit den Tabs ist ja scheinbar eine gute Idee.

    Aber es kommt dann scheinbar nicht mit den Style einstellungen der Labels / Buttons (Zbsp. $WS_GROUP) zurecht,
    da es mir dann überall Fehler bringt!

    Ich muss ja aber bestimmte Buttons und Labels Unsichtbar/Sichtbar machen, da diese ja nur sichtbar sein sollen nachdem eine bestimmte Aktion ausgeführt wurde.

    Also entweder ich verstehe das ganze mit den Tabs net richtig und mache etwas falsch oder es geht so net.

    Auch würde ich gerne wissen wie die Tabs immer sichtbar sein können im Hauptmenü, denn so wie du es mir geschickt hast verschwinden diese hinter dem Bild wenn ich eins einfüge und kommen erst bei Mouse over wieder hervor.
    Desweiteren währe es Interessant zu wissen ob man das Backround Bild nicht Global setzen kann, denn es bleibt immer das selbe!

    Hier der Code wie ich es jetzt für den ersten Tab gemacht habe (ich denke mal bestimmt falsch) habt bitte Nachsicht mit nem schwierigem Fall! ?( ;(

    Spoiler anzeigen

    #include <GUIConstantsEx.au3>
    Global $ver = "1.1.0"
    Global $Form1 = GUICreate("Resourcen Rechner", 650, 450, 193, 125)
    GUICtrlCreateTab(0, 0, 650, 450)
    GUICtrlCreateTabItem("Resourcen Rechner")
    GUICtrlCreatePic("data\Backround\Backround.jpg", 0, 0, 650, 450)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel("© By The Scripter", 425, 408, 350, 15)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    #region GUI und ListView
    $LabelUpdater = GUICtrlCreateLabel("Es wird nun auf neueste Updates geprüft!", 150, 170, 400, 50)
    GUICtrlSetFont(-1, 12, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ButtonJA = GUICtrlCreateButton("JA", 230, 220, 70, 20, $WS_GROUP)
    $ButtonNEIN = GUICtrlCreateButton("NEIN", 340, 220, 70, 20, $WS_GROUP)
    $ButtonOK = GUICtrlCreateButton("OK", 265, 220, 70, 20, $WS_GROUP)
    GUICtrlSetState($ButtonNEIN, $GUI_HIDE)
    GUICtrlSetState($ButtonOK, $GUI_HIDE)
    GUICtrlSetState($ButtonJA, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater, $GUI_HIDE)
    Global $listview = GUICtrlCreateListView("Resourcen Rechner!", 20, 20, 180, 360, $LVS_SINGLESEL, $LVS_EX_FULLROWSELECT)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
    _GUICtrlListView_SetColumnWidth($listview, 0, 200)
    GUICtrlSetState($listview, $GUI_HIDE)
    GUISetState(@SW_SHOW)
    #endregion GUI und ListView

    #region Label´s + Button´s Start
    $h_l1 = GUICtrlCreateLabel("", 313, 300, 230, 20)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $h_l2 = GUICtrlCreateLabel("", 313, 325, 230, 20)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $h_l3 = GUICtrlCreateLabel("", 313, 350, 230, 20)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $GrundLabel = GUICtrlCreateLabel("", 243, 40, 360, 50)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Rohstoff1 = GUICtrlCreateLabel("", 313, 82, 290, 30)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Rohstoff2 = GUICtrlCreateLabel("", 313, 107, 290, 30)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Rohstoff3 = GUICtrlCreateLabel("", 313, 132, 290, 30)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $FrageLabel = GUICtrlCreateLabel("", 243, 160, 360, 50)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $FrageInput = GUICtrlCreateInput("", 300, 215, 210, 20, $ES_NUMBER)
    $FrageButton = GUICtrlCreateButton("Berechnung Starten", 320, 245, 170, 20, $BS_DEFPUSHBUTTON)
    $Minus = GUICtrlCreateButton("Minus", 243, 216, 53, 18)
    $Plus = GUICtrlCreateButton("Plus", 516, 216, 53, 18)
    GUICtrlSetState($h_l1, $GUI_HIDE)
    GUICtrlSetState($h_l2, $GUI_HIDE)
    GUICtrlSetState($h_l3, $GUI_HIDE)
    GUICtrlSetState($FrageInput, $GUI_HIDE)
    GUICtrlSetState($FrageButton, $GUI_HIDE)
    GUICtrlSetState($Minus, $GUI_HIDE)
    GUICtrlSetState($Plus, $GUI_HIDE)
    #endregion Label´s + Button´s Start

    #region ListViewItems start
    Local $iCurNum = ''
    Local $aDaten[2][7] = [["Salat", "Zwiebeln: ", 5, "Makaroni Pakete: ", 2, "Tuben Mayonaise: ", 2], _
    ["Test (level 5)", "Test: ", 3, "Steine: ", 40000000]]
    Local $aLV[UBound($aDaten)]
    For $i = 0 To UBound($aLV) - 1
    $aLV[$i] = GUICtrlCreateListViewItem($aDaten[$i][0], $listview)
    Next


    _GUICtrlListView_RegisterSortCallBack($listview)
    _GUICtrlListView_UnRegisterSortCallBack($listview)

    #endregion ListViewItems start

    #region While Schleifen
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $Ende
    Exit
    Case $FrageButton
    GUICtrlSetData($h_l1, $aDaten[$iCurNum][1] & $aDaten[$iCurNum][2] * GUICtrlRead($FrageInput))
    GUICtrlSetData($h_l2, $aDaten[$iCurNum][3] & $aDaten[$iCurNum][4] * GUICtrlRead($FrageInput))
    GUICtrlSetData($h_l3, $aDaten[$iCurNum][5] & $aDaten[$iCurNum][6] * GUICtrlRead($FrageInput))
    Case $ButtonJA
    GUICtrlSetData($LabelUpdater, "Update wird jetzt heruntergeladen...")
    GUICtrlSetState($ButtonJA, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN, $GUI_HIDE)
    installupdate() ; lädt neue version herunter führt den installer aus und verlässt das programm...
    Case $ButtonNEIN, $ButtonOK ; alle controls der Update Routine unsichtbar machen:
    GUICtrlSetState($ButtonOK, $GUI_HIDE)
    GUICtrlSetState($ButtonJA, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater, $GUI_HIDE)
    GUICtrlSetState($listview, $GUI_SHOW)
    Case $listview
    _GUICtrlListView_SortItems($listview, GUICtrlGetState($listview))
    Case $Resourcen_Rechner
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater, $GUI_SHOW)
    If updatecheck() = -1 Then
    GUICtrlSetData($LabelUpdater, "Du benutzt bereits die aktuellste Version!")
    GUICtrlSetState($ButtonOK, $GUI_SHOW)
    Else
    GUICtrlSetData($LabelUpdater, "Neue Version Vorhanden! Soll diese installiert werden?")
    GUICtrlSetState($ButtonJA, $GUI_SHOW)
    GUICtrlSetState($ButtonNEIN, $GUI_SHOW)
    EndIf
    Case $Job_XP_Rechner
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater, $GUI_SHOW)
    If updatecheck() = -1 Then
    GUICtrlSetData($LabelUpdater, "Du benutzt bereits die aktuellste Version!")
    GUICtrlSetState($ButtonOK, $GUI_SHOW)
    Else
    GUICtrlSetData($LabelUpdater, "Neue Version Vorhanden! Soll diese installiert werden?")
    GUICtrlSetState($ButtonJA, $GUI_SHOW)
    GUICtrlSetState($ButtonNEIN, $GUI_SHOW)
    EndIf
    Case $FrageButton
    rechnen() ; gesamt ergebnis
    Case $Plus
    rechnen(2) ; plus 1
    rechnen() ; gesamt ergebnis
    Case $Minus
    rechnen(3) ; minus 1
    rechnen() ; gesamt ergbnis
    EndSwitch
    For $i = 0 To UBound($aLV) - 1
    If $nMsg = $aLV[$i] Then $iCurNum = _Anzeige($aDaten[$i][0], $i)
    Next
    WEnd
    Exit
    #endregion While Schleifen

    #region Function _Anzeige
    Func _Anzeige($sName, $iNum)
    GUICtrlSetState($h_l1, $GUI_SHOW)
    GUICtrlSetState($h_l2, $GUI_SHOW)
    GUICtrlSetState($h_l3, $GUI_SHOW)
    GUICtrlSetState($FrageInput, $GUI_SHOW)
    GUICtrlSetData($FrageInput, "")
    GUICtrlSetState($FrageButton, $GUI_SHOW)
    GUICtrlSetState($Minus, $GUI_SHOW)
    GUICtrlSetState($Plus, $GUI_SHOW)
    GUICtrlSetData($GrundLabel, StringReplace("Für ein %sName% wird folgendes benötigt:", "%sName%", $sName))
    GUICtrlSetData($FrageLabel, StringReplace("Wieviel %sName% möchtest du herstellen?", "%sName%", $sName))
    GUICtrlSetData($Rohstoff1, $aDaten[$iNum][1] & $aDaten[$iNum][2])
    GUICtrlSetData($Rohstoff2, $aDaten[$iNum][3] & $aDaten[$iNum][4])
    GUICtrlSetData($Rohstoff3, $aDaten[$iNum][5] & $aDaten[$iNum][6])
    GUICtrlSetData($h_l1, "")
    GUICtrlSetData($h_l2, "")
    GUICtrlSetData($h_l3, "")
    Return $iNum
    EndFunc ;==>_Anzeige
    #endregion Function Anzeige

    #region Function Updatecheck
    Func updatecheck()
    InetGet("http://test.de/test/update.txt", @Scriptdir & "\data\update.txt", 1, 0)
    $file = FileOpen(@Scriptdir & "\data\update.txt", 0)
    $line = FileReadLine($file, 1)
    If $line = $ver Then
    Return -1 ; keine neue version vorhanden
    Else
    Return 1 ; neue version vorhanden
    EndIf
    EndFunc ;==>updatecheck
    #endregion Function Updatecheck

    #region Function Installupdate
    Func installupdate()
    InetGet("http://test.de/test/test.sfx.exe", @ScriptDir & "\test.sfx.exe", 1, 0)
    Run(@ScriptDir & "\test.sfx.exe")
    Sleep(2000)
    Exit
    EndFunc ;==>installupdate
    #endregion Function Installupdate

    #region Function Rechner + / - Resourcen rechner
    Func rechnen($aufgabe=1) ; 1=gesamt ergebnis berechnen , 2=addition+1 ; 3=subtraktion-1
    if $aufgabe=1 Then
    GUICtrlSetData($h_l1, $aDaten[$iCurNum][1] & $aDaten[$iCurNum][2] * GUICtrlRead($FrageInput))
    GUICtrlSetData($h_l2, $aDaten[$iCurNum][3] & $aDaten[$iCurNum][4] * GUICtrlRead($FrageInput))
    GUICtrlSetData($h_l3, $aDaten[$iCurNum][5] & $aDaten[$iCurNum][6] * GUICtrlRead($FrageInput))
    EndIf
    if $aufgabe = 2 Then GUICtrlSetData($FrageInput,GUICtrlRead($FrageInput)+1)
    if $aufgabe = 3 Then GUICtrlSetData($FrageInput,GUICtrlRead($FrageInput)-1)
    EndFunc
    #endregion Function Rechner + / - Resourcen rechner

    Mfg Ghostleader

    Ps. Kann mir vielleicht vorsichthalber bitte doch noch wer erklähren wie ich das im Falle des normalen Menü´s mache mit den ausblendungen beim Wechsel des rechners oder erneutem draufklicken des selben?
    Siehe Frage 2 Anfangs Thema
    Gibt es noch ne Lösung um 2 Buttons mit enter zu bestätigen? (Mit Focus oder ähnlichem)

  • Brauche gleich dreifache Hilfe

    • Ghostleader
    • 12. Juli 2011 um 14:42

    Hallo Schnitzel,

    danke für deine Antwort und dein Beispiel.

    Kann es sein das das Script von dir

    [autoit]

    #include <GUIConstantsEx.au3>
    Global $ver = "1.1.0"
    $Form1 = GUICreate("Resourcen Rechner", 650, 450, 193, 125)GUICtrlCreateTab(5, 5, 640, 440)GUICtrlCreateTabItem("Tab1")GUICtrlCreatePic("data\Backround\Backround.jpg", 0, 0, 650, 450)GUICtrlSetState(-1, $GUI_DISABLE)GUICtrlCreateLabel("© By The Scripter", 425, 408, 350, 15)GUICtrlSetFont(-1, 10, 600)GUICtrlSetColor(-1, 0x000000)GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlCreateTabItem("Tab2")$h_l1 = GUICtrlCreateLabel("Label1", 313, 300, 230, 20)GUICtrlSetFont(-1, 10, 600)GUICtrlSetColor(-1, 0x000000)GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)$h_l2 = GUICtrlCreateLabel("Label2", 313, 325, 230, 20)GUICtrlSetFont(-1, 10, 600)GUICtrlSetColor(-1, 0x000000)GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)$h_l3 = GUICtrlCreateLabel("Label3", 313, 350, 230, 20)GUICtrlSetFont(-1, 10, 600)GUICtrlSetColor(-1, 0x000000)GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)GUISetState()
    While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitchWEnd

    [/autoit]


    nicht lauffähig ist, denn es bringt folgenden Fehler

    Spoiler anzeigen

    E:\testen von scripts\zu letzt\tab test.au3(3,60) : ERROR: syntax error
    $Form1 = GUICreate("Resourcen Rechner", 650, 450, 193, 125)GUICtrlCreateTab
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    E:\testen von scripts\zu letzt\tab test.au3(4,29) : ERROR: syntax error
    GUICtrlCreateTabItem("Tab2")$h_l1
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    E:\testen von scripts\zu letzt\tab test.au3 - 2 error(s), 0 warning(s)


    den ich nicht verstehe.

    Mfg Ghostleader

  • Brauche gleich dreifache Hilfe

    • Ghostleader
    • 12. Juli 2011 um 12:42

    Hallo misterspeed,

    danke für deine wiedermal sehr hilfreichen Antworten.

    Zu 1.

    Danke für das super Beispiel.

    Zu.2

    Ich gehe davon aus das ihr GUICtrlCreateTabItem und GUICtrlCreateTabItem meint.
    Leider komme ich auf das Beispiel aus der online Hilfe net so ganz klar. Ich weiss net genau wie ich das nun in meinem Script umsetzen bzw. das vorhandene dadurch ersetzen soll!
    Hierzu währe ein Bsp. aus meinem Script sehr hilfreich!

    Zu 3.

    Die enterfunktion hat sich wirklich nun für das berechnen mit + und - erledigt.
    Jedoch ging es mir ja auch om den Ok Button der nicht mit Enter funktioniert auch wenn ich $BS_DEFPUSHBUTTON als style da einsetze!

    Mfg Ghostleader

  • Brauche gleich dreifache Hilfe

    • Ghostleader
    • 12. Juli 2011 um 11:23

    Hallo Shnitzel,

    danke erstmal für deine Antworten.

    Zu 1.
    An was genau sende ich den Guictrlsetdata() wenn es im Input wiedergegeben und gleichzeitig über den Berechnung Starten Button ausgeführt werden soll. Wie ungefähr muss denn hier der weg für ; rechnen aussehen?
    Muss ich das in einer Func, in der While oder einfach irgendow schreiben?

    Zu 2.
    Ich würde statt den Menüpunkten lieber Tabs verwenden
    Hast du dafür vielleicht irgendwo ein beispiel parrat, sodas ich mir das mal ansehen könnte? Habe damit noch nix gemacht.

    Ansonsten musste halt für jedes Element das aus-/einblenden scripten
    Meinst du damit immer wieder alles auf GUI_HIDE und GUI_SHOW setzen wo es gerade sein muss?

    Zu 3.
    Hast du es in meinem Script probiert und auch bei dem Ok Button --> $BS_DEFPUSHBUTTON gesetzt und es geht? Denn bei mir geht es eben nicht. Hast du bei dem Ok Button da das WS_GROUP weggemacht?

    Mfg Ghostleader

  • Brauche gleich dreifache Hilfe

    • Ghostleader
    • 12. Juli 2011 um 02:01

    Guten morgen zusammen,

    heute brauche ich gleich 3 mal Hilfe zu verschiedenen Sachen. Ich stelle erst den lauffähigen Code rein und erklähre dann nach für nach die drei Probleme bei denen ich eure Hilfe benötige.
    update.txt hänge ich an. Diese muss in den Nebenordner data oder ich schreibts fix um im Code ;)

    Spoiler anzeigen

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=data\Backround\bbo.ico
    #AutoIt3Wrapper_outfile=Resourcen Rechner.exe
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_Res_Description=Copyright bey Ghostleader & Team Almanach
    #AutoIt3Wrapper_Res_Fileversion=1.1.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=Ghostleader and Team Almanach
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

    #region Includes
    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <ListviewConstants.au3>
    #include <EditConstants.au3>
    #include <GuiListView.au3>
    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    #include <INet.au3>
    #endregion Includes

    #region Version, GUI, Grund Label´s und Menu

    Global $ver = "1.1.0"

    $Form1 = GUICreate("Resourcen Rechner", 650, 450, 193, 125)
    GUICtrlCreatePic("data\Backround\Backround.jpg", 0, 0, 650, 450)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel("© By The Scripter", 425, 408, 350, 15)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ResMenu = GUICtrlCreateMenu("Resourcen Rechner")
    $Resourcen_Rechner = GUICtrlCreateMenuItem("Herstellungs_Rechner", $ResMenu)
    $JobMenu = GUICtrlCreateMenu("Job XP Rechner")
    $Job_XP_Rechner = GUICtrlCreateMenuItem("Job_Rechner", $JobMenu)
    $PetMenu = GUICtrlCreateMenu("Pet Stufen Rechner")
    $Pet_Stufen_Rechner = GUICtrlCreateMenuItem("Job_Rechner", $PetMenu)
    $Sonstiges = GUICtrlCreateMenu("Sonstiges")
    $Release_Notes = GUICtrlCreateMenuItem("Realease_Notes", $Sonstiges)
    $EndMenu = GUICtrlCreateMenu("Programm Beenden")
    $Ende = GUICtrlCreateMenuItem("Verlassen", $EndMenu)
    #endregion Version, GUI, Grund Label´s und Menu

    #region GUI und ListView
    $LabelUpdater = GUICtrlCreateLabel("Es wird nun auf neueste Updates geprüft!", 150, 170, 400, 50)
    GUICtrlSetFont(-1, 12, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ButtonJA = GUICtrlCreateButton("JA", 230, 220, 70, 20, $WS_GROUP)
    $ButtonNEIN = GUICtrlCreateButton("NEIN", 340, 220, 70, 20, $WS_GROUP)
    $ButtonOK = GUICtrlCreateButton("OK", 265, 220, 70, 20, $WS_GROUP)
    GUICtrlSetState($ButtonNEIN, $GUI_HIDE)
    GUICtrlSetState($ButtonOK, $GUI_HIDE)
    GUICtrlSetState($ButtonJA, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater, $GUI_HIDE)
    Global $listview = GUICtrlCreateListView("Resourcen Rechner!", 20, 20, 180, 360, $LVS_SINGLESEL, $LVS_EX_FULLROWSELECT)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
    _GUICtrlListView_SetColumnWidth($listview, 0, 200)
    GUICtrlSetState($listview, $GUI_HIDE)
    GUISetState(@SW_SHOW)
    #endregion GUI und ListView

    #region Label´s + Button´s Start
    $h_l1 = GUICtrlCreateLabel("", 313, 300, 230, 20)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $h_l2 = GUICtrlCreateLabel("", 313, 325, 230, 20)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $h_l3 = GUICtrlCreateLabel("", 313, 350, 230, 20)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $GrundLabel = GUICtrlCreateLabel("", 243, 40, 360, 50)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Rohstoff1 = GUICtrlCreateLabel("", 313, 82, 290, 30)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Rohstoff2 = GUICtrlCreateLabel("", 313, 107, 290, 30)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Rohstoff3 = GUICtrlCreateLabel("", 313, 132, 290, 30)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $FrageLabel = GUICtrlCreateLabel("", 243, 160, 360, 50)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $FrageInput = GUICtrlCreateInput("", 300, 215, 210, 20, $ES_NUMBER)
    $FrageButton = GUICtrlCreateButton("Berechnung Starten", 320, 245, 170, 20, $BS_DEFPUSHBUTTON)
    $Minus = GUICtrlCreateButton("Minus", 243, 216, 53, 18)
    $Plus = GUICtrlCreateButton("Plus", 516, 216, 53, 18)
    GUICtrlSetState($h_l1, $GUI_HIDE)
    GUICtrlSetState($h_l2, $GUI_HIDE)
    GUICtrlSetState($h_l3, $GUI_HIDE)
    GUICtrlSetState($FrageInput, $GUI_HIDE)
    GUICtrlSetState($FrageButton, $GUI_HIDE)
    GUICtrlSetState($Minus, $GUI_HIDE)
    GUICtrlSetState($Plus, $GUI_HIDE)
    #endregion Label´s + Button´s Start

    #region ListViewItems start
    Local $iCurNum = ''
    Local $aDaten[2][7] = [["Salat", "Zwiebeln: ", 5, "Makaroni Pakete: ", 2, "Tuben Mayonaise: ", 2], _
    ["Test (level 5)", "Test: ", 3, "Steine: ", 40000000]]
    Local $aLV[UBound($aDaten)]
    For $i = 0 To UBound($aLV) - 1
    $aLV[$i] = GUICtrlCreateListViewItem($aDaten[$i][0], $listview)
    Next


    _GUICtrlListView_RegisterSortCallBack($listview)
    _GUICtrlListView_UnRegisterSortCallBack($listview)

    #endregion ListViewItems start

    #region While Schleifen
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $Ende
    Exit
    Case $FrageButton
    GUICtrlSetData($h_l1, $aDaten[$iCurNum][1] & $aDaten[$iCurNum][2] * GUICtrlRead($FrageInput))
    GUICtrlSetData($h_l2, $aDaten[$iCurNum][3] & $aDaten[$iCurNum][4] * GUICtrlRead($FrageInput))
    GUICtrlSetData($h_l3, $aDaten[$iCurNum][5] & $aDaten[$iCurNum][6] * GUICtrlRead($FrageInput))
    Case $ButtonJA
    GUICtrlSetData($LabelUpdater, "Update wird jetzt heruntergeladen...")
    GUICtrlSetState($ButtonJA, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN, $GUI_HIDE)
    installupdate()
    Case $ButtonNEIN, $ButtonOK
    GUICtrlSetState($ButtonOK, $GUI_HIDE)
    GUICtrlSetState($ButtonJA, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater, $GUI_HIDE)
    GUICtrlSetState($listview, $GUI_SHOW)
    Case $listview
    _GUICtrlListView_SortItems($listview, GUICtrlGetState($listview))
    Case $Resourcen_Rechner
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater, $GUI_SHOW)
    If updatecheck() = -1 Then
    GUICtrlSetData($LabelUpdater, "Du benutzt bereits die aktuellste Version!")
    GUICtrlSetState($ButtonOK, $GUI_SHOW)
    Else
    GUICtrlSetData($LabelUpdater, "Neue Version Vorhanden! Soll diese installiert werden?")
    GUICtrlSetState($ButtonJA, $GUI_SHOW)
    GUICtrlSetState($ButtonNEIN, $GUI_SHOW)
    EndIf
    Case $Job_XP_Rechner
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater, $GUI_SHOW)
    If updatecheck() = -1 Then
    GUICtrlSetData($LabelUpdater, "Du benutzt bereits die aktuellste Version!")
    GUICtrlSetState($ButtonOK, $GUI_SHOW)
    Else
    GUICtrlSetData($LabelUpdater, "Neue Version Vorhanden! Soll diese installiert werden?")
    GUICtrlSetState($ButtonJA, $GUI_SHOW)
    GUICtrlSetState($ButtonNEIN, $GUI_SHOW)
    EndIf
    EndSwitch
    For $i = 0 To UBound($aLV) - 1
    If $nMsg = $aLV[$i] Then $iCurNum = _Anzeige($aDaten[$i][0], $i)
    Next
    WEnd
    Exit
    #endregion While Schleifen

    #region Function _Anzeige
    Func _Anzeige($sName, $iNum)
    GUICtrlSetState($h_l1, $GUI_SHOW)
    GUICtrlSetState($h_l2, $GUI_SHOW)
    GUICtrlSetState($h_l3, $GUI_SHOW)
    GUICtrlSetState($FrageInput, $GUI_SHOW)
    GUICtrlSetData($FrageInput, "")
    GUICtrlSetState($FrageButton, $GUI_SHOW)
    GUICtrlSetState($Minus, $GUI_SHOW)
    GUICtrlSetState($Plus, $GUI_SHOW)
    GUICtrlSetData($GrundLabel, StringReplace("Für ein %sName% wird folgendes benötigt:", "%sName%", $sName))
    GUICtrlSetData($FrageLabel, StringReplace("Wieviel %sName% möchtest du herstellen?", "%sName%", $sName))
    GUICtrlSetData($Rohstoff1, $aDaten[$iNum][1] & $aDaten[$iNum][2])
    GUICtrlSetData($Rohstoff2, $aDaten[$iNum][3] & $aDaten[$iNum][4])
    GUICtrlSetData($Rohstoff3, $aDaten[$iNum][5] & $aDaten[$iNum][6])
    GUICtrlSetData($h_l1, "")
    GUICtrlSetData($h_l2, "")
    GUICtrlSetData($h_l3, "")
    Return $iNum
    EndFunc
    #endregion Function Anzeige

    #region Function Updatecheck
    Func updatecheck()
    InetGet("http://test.de/test/update.txt", @Scriptdir & "\data\update.txt", 1, 0)
    $file = FileOpen(@Scriptdir & "\data\update.txt", 0)
    $line = FileReadLine($file, 1)
    If $line = $ver Then
    Return -1
    Else
    Return 1
    EndIf
    EndFunc
    #endregion Function Updatecheck

    #region Function Installupdate
    Func installupdate()
    InetGet("http://test.de/test/test.sfx.exe", @ScriptDir & "\test.sfx.exe", 1, 0)
    Run(@ScriptDir & "\test.sfx.exe")
    Sleep(2000)
    Exit
    EndFunc
    #endregion Function Installupdate

    Problem1.
    Plus/Minus Button´s zur richtigen Funktion bewegen.

    Wie ihr ja im Script sehen könnt, habe ich zwei Buttons Plus und Minus eingebaut.
    Diese sollen je nach Button beim klick das Inputfeld auslesen, es je nach Button mit 1 addieren / subtrahieren, die Zahl dann wieder in das Inputfeld schreiben und zu Guterletzt den Befehl des Buttons Berechnung Starten ausführen, sodas das neue Ergebnis gleich berechnet wird.

    Problem 2.
    Bei Programm wechsel oder klick auf gleiches Programm in der Menu Leiste alle Button, Label und Input verschwinden.

    Hier ist das Problem, das wenn ich ein Programm aufrufe hier gleich das erste (Resourcen Rechner) die update Kontrolle durch habe, die Listview erscheint, ich irgendein ListViewItem anklicke und dann das Programm in der Menu Leiste wechsle (oder das gleiche anklicke), bleiben alle Label´s, Button´s und Input´s da. Lediglich die ListView verschwindet!
    Zu demo Zwecken habe ich das selbe Programm nochmal auf Job_XP_Rechner (das zweite) gelegt.

    Problem 3.
    Ok und Berechnung Starten Button auch mit Enter Taste ausführen.

    Hier möchte ich gerne das man den Ok und Berechnung Starten Button auch mit der Enter Taste bestätigen kann.
    Ich habe es nun soweit das ich den Button Berechnung Starten mit Hilfe von $BS_DEFPUSHBUTTON als Style mit Enter starten kann.
    Wenn ich nun das $BS_DEFPUSHBUTTON ebenfalls als Style bei dem Ok Button hinzufüge passiert rein garnichts wenn ich Enter drücke.

    Ich hoffe ihr könnt mir bei diesen Problem helfen.
    Bitte gebt Hilfestellungen und/oder Beispiele, jedoch schreibt es mir bitte nicht in den Code, sodas es fertig ist denn ich möchte dies gerne selber tun da ich denke das man es so besser lernt und festigen kann!
    Falls ich es nicht schaffen sollte so kann man ja immernoch darüber nachdenken.

    Vielen Dank schonmal im Voraus.

    Mfg Ghostleader

    Dateien

    update.txt 5 Byte – 222 Downloads
  • Frage zum Menue und dessen Einbau

    • Ghostleader
    • 10. Juli 2011 um 16:17

    Ok und vielen Dank nochmal an alle.

    Werde mich mal danach umsehen.

    Mfg Ghostleader

  • Frage zum Menue und dessen Einbau

    • Ghostleader
    • 10. Juli 2011 um 16:05
    Zitat von i2c

    Ich versteh die Problemstellung nicht genau. Weisst du nicht, wie du eine Aktion durch klick auf einen Hauptmenüpunkt ausführen kannst?

    Spoiler anzeigen
    [autoit]

    #region - Timestamp
    ;2011-07-10 14:13:55
    #endregion,

    [/autoit] [autoit][/autoit] [autoit]

    #include

    [/autoit] [autoit][/autoit] [autoit]

    #region - GUI Create
    GUICreate('', 200, 100)
    $Menu = GUICtrlCreateMenu('Datei')
    $MenuItem1 = GUICtrlCreateMenuItem("Beenden", $Menu)
    $MenuItem2 = GUICtrlCreateMenuItem("klick mich", -1)
    GUISetState()
    #endregion - GUI Create

    [/autoit] [autoit][/autoit] [autoit]

    #region - GUI SelectLoop
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $Menu
    ConsoleWrite("Menü" & @CRLF)
    Case $msg = $MenuItem2
    ConsoleWrite("Menü Item 2" & @CRLF)
    EndSelect
    WEnd
    #endregion - GUI SelectLoop

    [/autoit]


    Nachteil dabei - es muss vorher einmal GUICtrlCreateMenu() aufgerufen werden. Wenn man's ohne Text aufruft, muss man mit einem kleinen Versatz des ersten sichtbaren Menüpunkts leben. Deshalb pack ich da dann gerne Datei/Beenden hin.

    Alles anzeigen

    Danke erstmal an alle für die Antworten.

    Das Problem was du nicht verstanden hast ist, das ich alles was das Script tut erst ausgeführt haben wollte wenn ich auf den dazugehörigen/angegebenen Menü Punkt klicke, ähnlich so wie du es als bsp. in dem von dir gepostetem code getan hast mit ConsoleWrit und ich eben net wusste wie ich das umsetzen muss!

    Gelöst ist es trotzdem Dank dafür an blubbstar.

    Wegen dem Menü, naja da muss es eben so nleiben falls dazu keiner mehr was weiss. Sieht halt nur blöd aus mit nem Hintergrundpick für die Gui aber ner hässlich gräulichen Farbe fürs Menü ;)

    Mfg Ghostleader

  • Frage zum Menue und dessen Einbau

    • Ghostleader
    • 10. Juli 2011 um 13:52

    Hallo zusammen,

    heute habe ich ein paar Fragen zum Menue und dessen einbau!
    Gleich vorn weg möchte ich sagen das ich mit dem Menue noch nicht gearbeitet habe und mich daher auch nicht so auskenne!

    Hier meine Fragen:

    1. Kann mann den Hintergrund des Menue`s ähnlich wie bei Label´n auf Transparent setzen?
    2. Wenn 1 nicht geht, kann man dann wenigstens die Farbe des hintergrundes anpassen?

    So nun kommen wir zu der Frage des Einbauens.

    Ich habe mal ein lauffähiges Script fertig gemacht damit man besser sieht um was es mir geht.
    In dem Script sind die Menue Punkte schon enthalten, wobei es mir jetzt erstmal um den ersten Menue Punkt geht.

    Das Programm beginnt mit der Updateprüfung sobald man es öffnet. Dies soll es aber erst tun, wenn man auf den 1 Menuepunkt ($Resourcen_Rechner) klickt.
    Das bedeudet das kommplette Programm selbst (ausser der Standart GUI bezeichnet mit #region Standart bis #endregion Standart) soll erst nach klicken auf den Menuepunkt Resourcen Rechner starten.

    Warum das ganze?
    Wie man sieht sind schon Menuepunkte für weitere /andere Rechner angelegt die mit in diesen Code kommen!

    Hier nun das lauffähige Script:

    Spoiler anzeigen

    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <ListviewConstants.au3>
    #include <EditConstants.au3>
    #include <GuiListView.au3>
    #include <StaticConstants.au3>
    #include <INet.au3>

    Global $ver = "1.1.0"

    #region Standart
    $Form1 = GUICreate("BBO Almanach Resourcen Rechner", 530, 320, 193, 125)
    GUICtrlCreatePic("data\Backround\Background.tgx", 0, 0, 530, 320)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel("© By Ghostleader and Team Almanach", 130, 304, 350, 15)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 16777215)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Resourcen_Rechner = GUICtrlCreateMenu("Resourcen Rechner")
    $Job_XP_Rechner = GUICtrlCreateMenu("Job XP Rechner")
    $Pet_Stufen_Rechner = GUICtrlCreateMenu("Pet Stufen Rechner")
    $Sonstiges = GUICtrlCreateMenu("Sonstiges")
    $MenuItem5 = GUICtrlCreateMenuItem("MenuItem5", $Sonstiges)
    $MenuItem4 = GUICtrlCreateMenuItem("MenuItem4", $Sonstiges)
    $MenuItem3 = GUICtrlCreateMenuItem("MenuItem3", $Sonstiges)
    $MenuItem2 = GUICtrlCreateMenuItem("MenuItem2", $Sonstiges)
    $MenuItem1 = GUICtrlCreateMenuItem("MenuItem1", $Sonstiges)
    #endregion Standart

    #region GUI + ListView
    $LabelUpdater = GUICtrlCreateLabel("Es wird nun auf Updates geprüft!",20, 20, 400, 70)
    GUICtrlSetFont(-1, 12, 600)
    GUICtrlSetColor(-1, 16777215)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ButtonJA = GUICtrlCreateButton("JA", 50, 80, 65, 22, $WS_GROUP)
    GUICtrlSetState(-1,$GUI_HIDE)
    $ButtonNEIN = GUICtrlCreateButton("NEIN", 120, 80, 45, 22, $WS_GROUP)
    GUICtrlSetState(-1,$GUI_HIDE)
    $ButtonOK = GUICtrlCreateButton("OK", 120, 80, 89, 33, $WS_GROUP)
    GUICtrlSetState(-1,$GUI_HIDE)
    $BeendenButton = GUICtrlCreateButton("Beenden", 306, 210, 100, 20)
    GUICtrlSetState($BeendenButton, $GUI_HIDE)
    Global $listview = GUICtrlCreateListView("Klick an was du hertellen willst!", 20, 20, 180, 280, $LVS_SINGLESEL, $LVS_EX_FULLROWSELECT)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
    _GUICtrlListView_SetColumnWidth($listview, 0, 200)
    #endregion GUI + ListView

    GUISetState(@SW_SHOW)
    Sleep(2000) ; nur um die Meldung lesen zu können

    if updatecheck() = -1 Then
    GUICtrlSetData($LabelUpdater, "Du benutzt bereits die neueste Version.")
    GUICtrlSetState($ButtonOK, $GUI_SHOW) ; LISTVIEW SOLL ERST ERSCHEINEN NACH KLICKEN DES OK BUTTONS WENN KEIN UPDATE VORHANDEN IST
    GUICtrlSetState($listview, $GUI_HIDE)
    Else
    GUICtrlSetData($LabelUpdater, "Es steht eine neue Version zur Verfügung. Soll diese installiert werden?")
    GUICtrlSetState($ButtonJA, $GUI_SHOW) ;LISTVIEW SOLL GARNICHT ERST ERSCHEINEN WEIL SICH DAS PROGRAMM NACH DOWNLOAD SELBST SCHLIESST
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN, $GUI_SHOW) ;LISTVIEW LOLL ERST ERSCHEINEN NACH KLICKEN DES NEIN BOTTONS
    GUICtrlSetState($listview, $GUI_HIDE)
    EndIf

    GUISetState(@SW_SHOW)
    Sleep(2000)

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $BeendenButton
    Exit
    Case $ButtonJA
    GUICtrlSetData($LabelUpdater,"Update wird jetzt heruntergeladen...")
    GUICtrlSetState($ButtonJA,$GUI_HIDE)
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN,$GUI_HIDE)
    installupdate()
    Case $ButtonNEIN, $ButtonOK, $BeendenButton
    GUICtrlSetState($ButtonJA,$GUI_HIDE)
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN,$GUI_HIDE)
    GUICtrlSetState($ButtonOK, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater,$GUI_HIDE)
    GUICtrlSetState($listview, $GUI_SHOW)
    GUICtrlSetState($BeendenButton, $GUI_SHOW)
    Case $Listview
    _GUICtrlListView_SortItems($Listview, GUICtrlGetState($Listview))
    EndSwitch
    WEnd
    Exit

    Func updatecheck()
    InetGet("http://test.de/test/update.txt", @Scriptdir & "\data\update.txt", 1, 0)
    $file = FileOpen(@Scriptdir & "\data\update.txt", 0)
    $line = FileReadLine($file, 1)
    If $line = $ver Then
    return -1
    Else
    Return 1
    EndIf
    EndFunc

    Func installupdate()
    InetGet("http://test.de/test/test.sfx.exe", @ScriptDir & "\test.sfx.exe", 1, 0)
    Run(@ScriptDir & "\test.sfx.exe")
    Sleep(2000)
    Exit
    EndFunc

    Ich hoffe mir kann jemand helfen und wenn noch soviel Zeit ist vielleicht auch kurz mit erklähren warum genau das da hin kommt bzw was es da macht, damit ich das besser nachvollziehen und verstehen kann zum besseren lernen!

    Mfg Ghostleader

  • Listview ausblenden bis Update check durch ist

    • Ghostleader
    • 10. Juli 2011 um 02:00

    Hallo nochmal,

    habe den Fehler noch gefunden.

    und zwar habe ich unten im 2ten Case in der Wihle Schleife einfach ein GUICtrlSetState($listview, $GUI_SHOW) zuviel gesetzt!

    Vielen dank nochmal für die vorangegangene Hilfe!

    Mfg Ghostleader

  • Listview ausblenden bis Update check durch ist

    • Ghostleader
    • 10. Juli 2011 um 01:08

    Hallo ihr beiden,

    danke erstmal für eure Antworten die mich schon fast ans Ziehl gebracht haben.

    Warum fast? Naja also wenn bei dem Button nein und ok klappt es, also die Listview kommt erst nach klicken einer der Buttons.

    Beim Ja Button klick kommt aber leider Immernoch die Listview bevor sich das kommplette Programm schliest zum Download.

    Hier ein lauffähiges Script:

    Spoiler anzeigen

    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <ListviewConstants.au3>
    #include <EditConstants.au3>
    #include <GuiListView.au3>
    #include <StaticConstants.au3>
    #include <INet.au3>

    Global $ver = "1.0.0"

    #region GUI + ListView
    $Form1 = GUICreate("BBO Almanach Resourcen Rechner", 530, 320, 193, 125)
    GUICtrlCreatePic("data\Backround\Background.tgx", 0, 0, 530, 320)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel("© By Ghostleader and Team Almanach", 130, 304, 350, 15)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 16777215)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $LabelUpdater = GUICtrlCreateLabel("Es wird nun auf Updates geprüft!",20, 20, 400, 70)
    GUICtrlSetFont(-1, 12, 600)
    GUICtrlSetColor(-1, 16777215)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ButtonJA = GUICtrlCreateButton("JA", 50, 80, 65, 22, $WS_GROUP)
    GUICtrlSetState(-1,$GUI_HIDE)
    $ButtonNEIN = GUICtrlCreateButton("NEIN", 120, 80, 45, 22, $WS_GROUP)
    GUICtrlSetState(-1,$GUI_HIDE)
    $ButtonOK = GUICtrlCreateButton("OK", 120, 80, 89, 33, $WS_GROUP)
    GUICtrlSetState(-1,$GUI_HIDE)
    Global $listview = GUICtrlCreateListView("Klick an was du hertellen willst!", 20, 20, 180, 280, $LVS_SINGLESEL, $LVS_EX_FULLROWSELECT)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
    _GUICtrlListView_SetColumnWidth($listview, 0, 200)
    #endregion GUI + ListView

    GUISetState(@SW_SHOW)
    Sleep(2000) ; nur um die Meldung lesen zu können

    if updatecheck() = -1 Then
    GUICtrlSetData($LabelUpdater, "Du benutzt bereits die neueste Version.")
    GUICtrlSetState($ButtonOK, $GUI_SHOW) ; LISTVIEW SOLL ERST ERSCHEINEN NACH KLICKEN DES OK BUTTONS WENN KEIN UPDATE VORHANDEN IST
    GUICtrlSetState($listview, $GUI_HIDE)
    Else
    GUICtrlSetData($LabelUpdater, "Es steht eine neue Version zur Verfügung. Soll diese installiert werden?")
    GUICtrlSetState($ButtonJA, $GUI_SHOW) ;LISTVIEW SOLL GARNICHT ERST ERSCHEINEN WEIL SICH DAS PROGRAMM NACH DOWNLOAD SELBST SCHLIESST
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN, $GUI_SHOW) ;LISTVIEW LOLL ERST ERSCHEINEN NACH KLICKEN DES NEIN BOTTONS
    GUICtrlSetState($listview, $GUI_HIDE)
    EndIf

    GUISetState(@SW_SHOW)
    Sleep(2000)

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Case $ButtonJA
    GUICtrlSetData($LabelUpdater,"Update wird jetzt heruntergeladen...")
    GUICtrlSetState($ButtonJA,$GUI_HIDE)
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN,$GUI_HIDE)
    GUICtrlSetState($listview, $GUI_SHOW)
    installupdate()
    Case $ButtonNEIN, $ButtonOK
    GUICtrlSetState($ButtonJA,$GUI_HIDE)
    GUICtrlSetState($listview, $GUI_HIDE)
    GUICtrlSetState($ButtonNEIN,$GUI_HIDE)
    GUICtrlSetState($ButtonOK, $GUI_HIDE)
    GUICtrlSetState($LabelUpdater,$GUI_HIDE)
    GUICtrlSetState($listview, $GUI_SHOW)
    Case $Listview
    _GUICtrlListView_SortItems($Listview, GUICtrlGetState($Listview))
    EndSwitch
    WEnd
    Exit

    Func updatecheck()
    InetGet("http://test.de/test/update.txt", @Scriptdir & "\data\update.txt", 1, 0)
    $file = FileOpen(@Scriptdir & "\data\update.txt", 0)
    $line = FileReadLine($file, 1)
    If $line = $ver Then
    return -1
    Else
    Return 1
    EndIf
    EndFunc

    Func installupdate()
    InetGet("http://test.de/test/test.sfx.exe", @ScriptDir & "\test.sfx.exe", 1, 0)
    Run(@ScriptDir & "\test.sfx.exe")
    Sleep(2000)
    Exit
    EndFunc

    Mfg Ghostleader

  • Listview ausblenden bis Update check durch ist

    • Ghostleader
    • 10. Juli 2011 um 00:10

    Hallo zusammen,

    heute habe ich das Problem, das meine Listview sich einfach zu schnelle einbländet.

    Hier erstmal der Update check und wo die Listview ist

    Spoiler anzeigen

    Global $ver = "1.0.0"

    #region GUI + ListView
    $Form1 = GUICreate("BBO Almanach Resourcen Rechner", 530, 320, 193, 125)
    GUICtrlCreatePic("data\Backround\Background.tgx", 0, 0, 530, 320)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel("© By Ghostleader and Team Almanach", 130, 304, 350, 15)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 16777215)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $LabelUpdater = GUICtrlCreateLabel("Es wird nun auf Updates geprüft!",20, 20, 400, 70)
    GUICtrlSetFont(-1, 12, 600)
    GUICtrlSetColor(-1, 16777215)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ButtonJA = GUICtrlCreateButton("JA", 50, 80, 65, 22, $WS_GROUP)
    GUICtrlSetState(-1,$GUI_HIDE)
    $ButtonNEIN = GUICtrlCreateButton("NEIN", 120, 80, 45, 22, $WS_GROUP)
    GUICtrlSetState(-1,$GUI_HIDE)
    $ButtonOK = GUICtrlCreateButton("OK", 120, 80, 89, 33, $WS_GROUP)
    GUICtrlSetState(-1,$GUI_HIDE)
    #endregion GUI + ListView

    GUISetState(@SW_SHOW)
    Sleep(2000) ; nur um die Meldung lesen zu können

    if updatecheck() = -1 Then
    GUICtrlSetData($LabelUpdater, "Du benutzt bereits die neueste Version.")
    GUICtrlSetState($ButtonOK, $GUI_SHOW)
    Else
    GUICtrlSetData($LabelUpdater, "Es steht eine neue Version zur Verfügung. Soll diese installiert werden?")
    GUICtrlSetState($ButtonJA, $GUI_SHOW)
    GUICtrlSetState($ButtonNEIN, $GUI_SHOW)
    EndIf

    Global $listview = GUICtrlCreateListView("Klick an was du hertellen willst!", 20, 20, 180, 280, $LVS_SINGLESEL, $LVS_EX_FULLROWSELECT)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
    _GUICtrlListView_SetColumnWidth($listview, 0, 200)

    Mein Probleme ind folgende:

    1. Das die Listview immer schon auftaucht bevor man ok geklickt hat falls kein Update vorhanden ist.
    2. Das die Listview immer schon auftaucht bevor man auf nein klickt falls man nicht updaten möchte.
    3. Das die Listview noch auftaucht selbst wenn man auf ja klickt und kommt "Update wird geladen", denn danach schliesst ich das Programm eh!

    Hier nochmal anhand des Codeauschnittes wie ich es meine habe es kommentiert!

    Spoiler anzeigen

    if updatecheck() = -1 Then
    GUICtrlSetData($LabelUpdater, "Du benutzt bereits die neueste Version.")
    GUICtrlSetState($ButtonOK, $GUI_SHOW) ; LISTVIEW SOLL ERST ERSCHEINEN NACH KLICKEN DES OK BUTTONS WENN KEIN UPDATE VORHANDEN IST
    Else
    GUICtrlSetData($LabelUpdater, "Es steht eine neue Version zur Verfügung. Soll diese installiert werden?")
    GUICtrlSetState($ButtonJA, $GUI_SHOW) ;LISTVIEW SOLL GARNICHT ERST ERSCHEINEN WEIL SICH DAS PROGRAMM NACH DOWNLOAD SELBST SCHLIESST
    GUICtrlSetState($ButtonNEIN, $GUI_SHOW) ;LISTVIEW LOLL ERST ERSCHEINEN NACH KLICKEN DES NEIN BOTTONS
    EndIf

    Ich hoffe ihr habt eine Idee um dies zu beheben!

    Mfg Ghostleader

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™