AutoInstaller zerbircht mir den Kopf

  • Hey Community.
    Ich bin seit 3 Wochen in der Ausbildung zum Fachinformatiker.
    Hier beschäftige ich mich nebenbei mit der Programmierung von AutoIT.

    Ich will einen AutoInstaller schreiben. Inzwischen bin ich soweit, dass die .exe-Datein starten. Nun will ich aber, dass nur meine in der GUI angewählten Checkboxen abgefragt und installiert werden. Ich benutze Switch und habe versucht dazwischen noch eine If abfrage laufen zu lassen. Habe ich diese aber in der Switch drin werden die Programme nicht mehr abgefragt.
    Hilfe :rofl: ?

    Um es nebenbei zu sagen, ich habe ca. 20 stunden mit Forendurchsuchen verbracht und bin und bleibe vorerst noch ein Noob auf dem Gebiet :D Ich lerne langsam ;) !

    Ich hoffe, dass die beschreibung meines Problems reicht und ich nicht zu diesem Thema den 100en Beitrag eröffne.

    Danke schonmal. :rock:

    Hier der Quellcode:

    [autoit]

    Func Button_Install()
    $msg = GUIGetMsg()
    Switch $msg
    Case $msg
    RunWait("FirefoxVersion23.0.exe", @WindowsDir, @SW_HIDE)
    MsgBox(0, "Firefox", "Firefox wurde installiert")
    RunWait("ChromeStandaloneSetup_28.0b1500.95.exe")
    MsgBox(0, "Chrome", "Chrome wurde installiert")
    RunWait("Opera_15.0.1147.153_Setup.exe")
    MsgBox(0, "Opera", "Opera wurde installiert")
    EndSwitch
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von Vjordian (23. August 2013 um 11:07)

  • Erstmal wäre es sinnvoll wenn du mehr als nur diesen Code Schnippsel posten würdest, denn von Checkboxen seh ich da schonmal garnichts. Zu dem was du da gepostet hast:

    [autoit]


    $msg = GUIGetMsg()

    [/autoit]

    Liefert dir die letzte GUI Nachricht, welche noch nicht zuvor abgefragt wurde (z.B. ein Klick auf einen Button), sofern es keine Nachricht gibt wird 0 zurückgegeben. Da du keine Schleife verwendest um die GUI Nachrichten in sehr kurzen Intevallen abzurufen ist es ziemlich wahrscheinlich, dass du hier an dieser Stelle immer eine 0 zurückbekommen wirst, außer diese Funktion wird in einer Schleife aufgerufen (der Rest des Scriptes fehlt, also keine Aussage hierzu möglich).

    [autoit]


    $msg = GUIGetMsg()
    Switch $msg
    Case $msg

    [/autoit]

    Du scheinst den Sinn einer Switch Case Verzweigung nicht verstanden zu haben. Du machst hier folgendes:

    1. Du bekommst eine GUI Nachricht $msg (wie oben bereits angedeutet sehr wahrscheinlich nur eine 0)
    2. Der Case $msg ist immer erfüllt, völlig egal welchen Wert $msg nun hat, ist ja auch logisch, denn ein "case" einer switch case Verzweigung stellt nur eine if Bedingung von mehreren dar. Solche Verzweigungen sind Sinnvoll wenn man einen Variablen Wert ($msg) mit mehreren verschiedenen konstanten Werten Vergleichen will. So würde es als if Bedingung ausschaun:

    [autoit]


    $msg = GUIGetMsg()
    if $msg = $msg then .... ; das ist immer true!

    [/autoit]

    Du erkennst deinen Fehler?

    Poste also bitte mal das ganze Script, dann kann man dir auch Lösungen aufzeigen die eher sinnvoll sind.

  • Hier mal den ganzen Code und ja, ich glaube Stück für Stück zu verstehen :D
    Und danke für Dein Bemühen! :love:

    Spoiler anzeigen
    [autoit]

    #region #include

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

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    #endregion

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

    #region GUIOnEventMode

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

    Opt("GuiOnEventMode", 1)

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

    #endregion

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

    #Region ### START Koda GUI section ### Form=

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

    $Form1 = GUICreate("by Lars Heinrich", 500, 210, 196, 205)
    GUISetOnEvent ($Gui_Event_Close, "Form1Close")
    GUISetOnEvent ($Gui_Event_Minimize, "Form1Minimize")
    GuiSetOnEvent ($Gui_Event_Maximize, "Form1Maximize")
    GuISetOnEvent ($Gui_Event_Restore, "Form1Restore")

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

    $Label_One_Clickster_Installer = GUICtrlCreateLabel("One-Clickster-Installer", 20, 24, 300, 23)
    GUICtrlSetFont(-1, 12, 800, 4, "MS Sans Serif")
    $Label_Browser = GUICtrlCreateLabel("Browser", 24, 56, 49, 17)

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

    GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
    $Checkbox_Firefox = GUICtrlCreateCheckbox("Firefox", 24, 88, 50, 17)
    $Checkbox_Chrome = GUICtrlCreateCheckbox("Chrome", 24, 104, 55, 17)
    $Checkbox_Opera = GUICtrlCreateCheckbox("Opera", 24, 120, 45, 17)

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

    $Label_Software = GUICtrlCreateLabel("Software", 144, 56, 54, 17)
    GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
    $Checkbox_All = GUICtrlCreateCheckbox("All", 144, 72, 30, 17)
    GUICtrlSetFont(-1, 8, 800, "MS Sans Serif")
    GUICtrlSetOnEvent(-1, "Checkbox_AllClick")
    $Checkbox_Adobe_Reader = GUICtrlCreateCheckbox("Adobe Reader", 144, 88, 97, 17)
    $Checkbox_Adobe_Flashplayer = GUICtrlCreateCheckbox("Adobe Flashplayer", 144, 104, 113, 17)
    $Checkbox_Total_Commander = GUICtrlCreateCheckbox("Total Commander", 144, 120, 100, 17)
    $Checkbox_Java = GUICtrlCreateCheckbox("Java", 144, 136, 40, 17)
    $Checkbox_Citrix_Receiver = GUICtrlCreateCheckbox("Citrix Receiver", 144,152,92,17)

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

    $Lable_Win_Rar = GUICtrlCreateLabel("Win Rar", 270, 72, 60, 17)
    GUICtrlSetFont(-1, 8, 800, "MS Sans Serif")
    $Checkbox_Win_Rar_D_64Bit = GUICtrlCreateCheckbox("Wrar-D-64Bit", 280, 88, 80, 17)
    $Checkbox_Win_Rar_E_64Bit = GUICtrlCreateCheckbox("Wrar-E-64Bit", 280, 104, 80, 17)
    $Checkbox_7Zip = GUICtrlCreateCheckbox("7 Zip", 144, 168, 40, 17)

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

    $Label_Programming_Tools = GUICtrlCreateLabel("Programming Tools", 380, 56, 111, 17)
    GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
    $Checkbox_AutoIT = GUICtrlCreateCheckbox("AutoIT", 380, 88, 50, 17)
    $Checkbox_Koda = GUICtrlCreateCheckbox("Koda", 400, 104, 40, 17)
    $Checkbox_SciTE = GUICtrlCreateCheckbox("SciTE", 400, 120, 45, 17)

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

    $Button_Install = GUICtrlCreateButton("Install", 0, 170, 51, 20)
    GUICtrlSetOnEvent($Button_Install, "Button_Install")
    $Progress_Bar = GUICtrlCreateProgress("Runnig", 190, 150, 15)

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

    GUISetState(@SW_SHOW)

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

    #EndRegion ### END Koda GUI section ###

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

    #region Files

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

    $Check_Programme = 0
    $Check_Firefox = 0
    $Check_Chrome = 0
    $Check_Opera = 0
    $Check_Adobe_Reader = 0
    $Check_Adobe_Flashplayer = 0
    $Check_Total_Commander = 0
    $Check_Java = 0
    $Check_Citrix_Receiver = 0
    $Check_Win_Rar = 0
    $Check_7Zip = 0
    $fileff = "Firefox_Setup.exe /silent"
    $fileAf = "install_flash_player.de -install"
    $fileAfx = "install_flash_player_ax.exe -install"
    $fileAr = "AdbeRdr.exe /sALL /rs"
    $fileTcmd = "tcm801x32_64\INSTALL.exe"
    $regTcmd = "REGEDIT /S tcmd_reg.reg"
    $fileJava = "java.exe /s"
    $file7z = "7z.exe /S"
    $fileWrar = "wrar.exe /s"

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

    #endregion

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

    #region While 1

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

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

    #endregion

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

    #region Func Checkbox_AllClick

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

    Func Checkbox_AllClick()
    If $Check_Programme = 0 Then
    GUICtrlSetState ($Checkbox_Adobe_Reader, $GUI_Checked)
    GUICtrlSetState ($Checkbox_Adobe_Flashplayer, $GUI_Checked)
    GUICtrlSetState ($Checkbox_Total_Commander, $GUI_Checked)
    GUICtrlSetState ($Checkbox_Java, $GUI_Checked)
    GUICtrlSetState ($Checkbox_Citrix_Receiver, $GUI_Checked)
    ;GUICtrlSetState ($Checkbox_Win_Rar, $GUI_Checked)
    GUICtrlSetState ($Checkbox_7Zip, $GUI_Checked)
    $Check_Programme = 1
    ElseIf $Check_Programme = 1 Then
    GUICtrlSetState ($Checkbox_Adobe_Reader, $GUI_Unchecked)
    GUICtrlSetState ($Checkbox_Adobe_Flashplayer, $GUI_Unchecked)
    GUICtrlSetState ($Checkbox_Total_Commander, $GUI_Unchecked)
    GUICtrlSetState ($Checkbox_Java, $GUI_Unchecked)
    GUICtrlSetState ($Checkbox_Citrix_Receiver, $GUI_Unchecked)
    ;GUICtrlSetState ($Checkbox_Win_Rar, $GUI_Unchecked)
    GUICtrlSetState ($Checkbox_7Zip, $GUI_Unchecked)
    $Check_Programme = 0
    EndIf
    EndFunc

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

    #endregion

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

    #region Func Button_Install

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

    Func Button_Install()
    $msg = GUIGetMsg()
    Switch $msg
    Case $msg

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

    RunWait("FirefoxVersion23.0.exe", @WindowsDir, @SW_HIDE)
    MsgBox(0, "Firefox", "Firefox wurde installiert")

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

    RunWait("ChromeStandaloneSetup_28.0b1500.95.exe")
    MsgBox(0, "Chrome", "Chrome wurde installiert")

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

    RunWait("Opera_15.0.1147.153_Setup.exe")
    MsgBox(0, "Opera", "Opera wurde installiert")

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

    EndSwitch
    EndFunc

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

    #endregion Func Button_Install

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

    #region Esc Do_Quiet

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

    Func Do_Quiet()
    If (WinActive($Form1)) Then
    Exit
    EndIf
    EndFunc

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

    #endregion

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

    #region Close, Minimize, Maximize, Restore

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

    Func Form1Close()
    Exit
    EndFunc

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

    Func Form1Minimize()

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

    EndFunc

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

    Func Form1Maximize()

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

    EndFunc

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

    Func Form1Restore()

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

    EndFunc

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

    #endregion

    [/autoit]

    Edit: der Berreich "
    #region Func Checkbox_AllClick" wurde mir geschrieben, nicht das es zu missverständnissen kommt, weil dort schon eine If-Variante exestiert.

    Und entschuldigt das Chaos im Script ;D!

    Einmal editiert, zuletzt von Vjordian (22. August 2013 um 14:28)

  • Du musst nur in der ButtonStart Funktion abfragen welche Checkboxen gesetzt sind und dann die jeweiligen Programme installieren.
    So in der Art:

    Spoiler anzeigen
    [autoit]

    Func Button_Install()
    If Guictrlread($Checkbox_Firefox) = 1 Then
    RunWait("FirefoxVersion23.0.exe", @WindowsDir, @SW_HIDE)
    MsgBox(0, "Firefox", "Firefox wurde installiert")
    EndIf
    If Guictrlread($Checkbox_Chrome) = 1 Then
    RunWait("ChromeStandaloneSetup_28.0b1500.95.exe")
    MsgBox(0, "Chrome", "Chrome wurde installiert")
    EndIf
    If Guictrlread($Checkbox_Opera) = 1 Then
    RunWait("Opera_15.0.1147.153_Setup.exe")
    MsgBox(0, "Opera", "Opera wurde installiert")
    EndIf
    ; usw
    EndFunc

    [/autoit]
  • Desweiteren kann bzw. sollte man den onEvent mode nicht mit dem msgloop mode mischen. Wenn man es schon mischt muss vor einer guigetmsg Abfrage der onEvent mode temporär abgeschaltet werden. Dein guigetmsg in der zentralen while Schleife hat da also nicht wirklich etwas verloren.

  • hat jetzt mit deinem Problem nur indirekt was zu tun, aber ich würde von der verwendung von Koda o. ä. abraten.
    die dinger produzieren viel zu viel unnötigen code, der dein programm unübersichtlicher und damit fehleranfälliger und unnötig groß macht.
    Es macht z.B. nur sehr selten sinn, die handles von Labeln zu speichern, weil man sie nur sehr selten braucht, und die variablen mit $Check_... werden in deinem code auch nicht verwendet und erhöhen nur die ram-belegung und bremsen dein skript aus.
    Und die funktionen für minimize, maximize, restore usw sind in dem fall auch unnötig.

    Ich hab mir mal erlaubt, den Teil des Codes, den du geposted hast, ganz fix zu bereinigen, is immer noch nicht perfekt, aber schon mal besser:

    Code
    [autoit]


    #region #include
    #include <GUIConstantsEx.au3>
    #endregion

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

    #region GUIOnEventMode

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

    Opt("GuiOnEventMode", 1)

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

    #endregion

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

    #Region ### START Koda GUI section ### Form=

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

    $Form1 = GUICreate("by Lars Heinrich", 500, 210, 196, 205)
    GUISetOnEvent($GUI_EVENT_CLOSE, "ende")

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

    GUICtrlCreateLabel("One-Clickster-Installer", 20, 24, 300, 23)
    GUICtrlSetFont(-1, 12, 800, 4, "MS Sans Serif")
    GUICtrlCreateLabel("Browser", 24, 56, 49, 17)
    GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")

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

    $Checkbox_Firefox = GUICtrlCreateCheckbox("Firefox", 24, 88, 50, 17)
    $Checkbox_Chrome = GUICtrlCreateCheckbox("Chrome", 24, 104, 55, 17)
    $Checkbox_Opera = GUICtrlCreateCheckbox("Opera", 24, 120, 45, 17)

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

    GUICtrlCreateLabel("Software", 144, 56, 54, 17)
    GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")

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

    $Checkbox_All = GUICtrlCreateCheckbox("All", 144, 72, 30, 17)
    GUICtrlSetFont(-1, 8, 800, "MS Sans Serif")
    GUICtrlSetOnEvent(-1, "Checkbox_AllClick")

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

    $Checkbox_Adobe_Reader = GUICtrlCreateCheckbox("Adobe Reader", 144, 88, 97, 17)
    $Checkbox_Adobe_Flashplayer = GUICtrlCreateCheckbox("Adobe Flashplayer", 144, 104, 113, 17)
    $Checkbox_Total_Commander = GUICtrlCreateCheckbox("Total Commander", 144, 120, 100, 17)
    $Checkbox_Java = GUICtrlCreateCheckbox("Java", 144, 136, 40, 17)
    $Checkbox_Citrix_Receiver = GUICtrlCreateCheckbox("Citrix Receiver", 144,152,92,17)

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

    GUICtrlCreateLabel("Win Rar", 270, 72, 60, 17)
    GUICtrlSetFont(-1, 8, 800, "MS Sans Serif")

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

    $Checkbox_Win_Rar_D_64Bit = GUICtrlCreateCheckbox("Wrar-D-64Bit", 280, 88, 80, 17)
    $Checkbox_Win_Rar_E_64Bit = GUICtrlCreateCheckbox("Wrar-E-64Bit", 280, 104, 80, 17)
    $Checkbox_7Zip = GUICtrlCreateCheckbox("7 Zip", 144, 168, 40, 17)

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

    GUICtrlCreateLabel("Programming Tools", 380, 56, 111, 17)
    GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")

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

    $Checkbox_AutoIT = GUICtrlCreateCheckbox("AutoIT", 380, 88, 50, 17)
    $Checkbox_Koda = GUICtrlCreateCheckbox("Koda", 400, 104, 40, 17)
    $Checkbox_SciTE = GUICtrlCreateCheckbox("SciTE", 400, 120, 45, 17)

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

    $Button_Install = GUICtrlCreateButton("Install", 0, 170, 51, 20)
    GUICtrlSetOnEvent($Button_Install, "Button_Install")
    $Progress_Bar = GUICtrlCreateProgress("Running", 190, 150, 15)

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

    GUISetState(@SW_SHOW)

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

    #EndRegion ### END Koda GUI section ###

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

    #region Files
    $fileff = "Firefox_Setup.exe /silent"
    $fileAf = "install_flash_player.de -install"
    $fileAfx = "install_flash_player_ax.exe -install"
    $fileAr = "AdbeRdr.exe /sALL /rs"
    $fileTcmd = "tcm801x32_64\INSTALL.exe"
    $regTcmd = "REGEDIT /S tcmd_reg.reg"
    $fileJava = "java.exe /s"
    $file7z = "7z.exe /S"
    $fileWrar = "wrar.exe /s"

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

    $Check_Programme = 0
    #endregion

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

    #region While 1

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

    While 1
    Sleep(1000)
    WEnd

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

    #endregion

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

    #region Func Checkbox_AllClick

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

    Func Checkbox_AllClick()
    If $Check_Programme = 0 Then
    GUICtrlSetState ($Checkbox_Adobe_Reader, $GUI_Checked)
    GUICtrlSetState ($Checkbox_Adobe_Flashplayer, $GUI_Checked)
    GUICtrlSetState ($Checkbox_Total_Commander, $GUI_Checked)
    GUICtrlSetState ($Checkbox_Java, $GUI_Checked)
    GUICtrlSetState ($Checkbox_Citrix_Receiver, $GUI_Checked)
    ;GUICtrlSetState ($Checkbox_Win_Rar, $GUI_Checked)
    GUICtrlSetState ($Checkbox_7Zip, $GUI_Checked)
    $Check_Programme = 1
    ElseIf $Check_Programme = 1 Then
    GUICtrlSetState ($Checkbox_Adobe_Reader, $GUI_Unchecked)
    GUICtrlSetState ($Checkbox_Adobe_Flashplayer, $GUI_Unchecked)
    GUICtrlSetState ($Checkbox_Total_Commander, $GUI_Unchecked)
    GUICtrlSetState ($Checkbox_Java, $GUI_Unchecked)
    GUICtrlSetState ($Checkbox_Citrix_Receiver, $GUI_Unchecked)
    ;GUICtrlSetState ($Checkbox_Win_Rar, $GUI_Unchecked)
    GUICtrlSetState ($Checkbox_7Zip, $GUI_Unchecked)
    $Check_Programme = 0
    EndIf
    EndFunc

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

    #endregion

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

    #region Func Button_Install
    Func Button_Install()
    If Guictrlread($Checkbox_Firefox) = 1 Then
    RunWait("FirefoxVersion23.0.exe", @WindowsDir, @SW_HIDE)
    MsgBox(0, "Firefox", "Firefox wurde installiert")
    EndIf
    If Guictrlread($Checkbox_Chrome) = 1 Then
    RunWait("ChromeStandaloneSetup_28.0b1500.95.exe")
    MsgBox(0, "Chrome", "Chrome wurde installiert")
    EndIf
    If Guictrlread($Checkbox_Opera) = 1 Then
    RunWait("Opera_15.0.1147.153_Setup.exe")
    MsgBox(0, "Opera", "Opera wurde installiert")
    EndIf
    ; usw
    EndFunc
    #endregion Func Button_Install

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

    #region Close, Minimize, Maximize, Restore

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

    Func ende()
    Exit
    EndFunc
    #endregion

    [/autoit]

    und du solltest mal über die verwendung von

    [autoit]

    Opt("MustDeclareVars", 1)

    [/autoit]

    nachdenken

    Ich hoffe, das war nicht zu viel Kritik, aber ich wollte dich auf einige Dinge hinweisen, über die ich selber auch gestolpert bin

    MFG inventor

    wenn's weitere Fragen gibt -> PN
    wenn da keine Antwort kommt, überdenk deine Frage noch mal

  • Für den Anfang ist Koda allerdings am einfachsten, auch wenn der Code dadurch nicht immer 100% optimiert ist.
    Ausserdem geht es nunmal einfacher und schneller als von Hand und ab und zu muss es halt schnell gehen ;)

    FLIP ALL DEM TABLEZ ┻━┻︵ \(°□°)/ ︵ ┻━┻

    • Offizieller Beitrag

    Ausserdem geht es nunmal einfacher und schneller als von Hand und ab und zu muss es halt schnell gehen


    Das hängt nur von den eigenen Fähigkeiten ab. Ich garantiere dir, dass ich eine GUI mit diversen Elementen ohne Koda mindestens genauso schnell, aber sauberer erstelle als irgendwer mit Koda. :P


  • Das hängt nur von den eigenen Fähigkeiten ab. Ich garantiere dir, dass ich eine GUI mit diversen Elementen ohne Koda mindestens genauso schnell, aber sauberer erstelle als irgendwer mit Koda. :P


    Das Glaube ich dir sofort. Es können aber nicht alle gleich so talentiert sein wie du.
    Ich persönlich bin immer noch dankbar, dass es Koda gibt. Ich bin mir nicht mal sicher ob ich eine GUI ohne das überhaupt hinkriegen würde :whistling:

    FLIP ALL DEM TABLEZ ┻━┻︵ \(°□°)/ ︵ ┻━┻

  • Bevor Ihr euch noch hier den ultimativen Cyber-Krieg liefert danke ich Euch beiden!
    Und ich nehme jede Kritik danken an! Da kannst du ruhig noch mehr Tipps, Tricks und Ideen einbringen ;) !
    Das ist doch Sinn und Zweck bei den "Hilfe & Unterstützung" posts ;D!

    Ich werde mal umsetzten was Ihr mir hier geschrieben habt. Bei weiteren Fragen schreibe ich einfach neu rein!

    MfG

    Vjordian :thumbup: :thumbup: :thumbup: :thumbup: :thumbup:

  • Zitat

    Das hängt nur von den eigenen Fähigkeiten ab. Ich garantiere dir, dass ich eine GUI mit diversen Elementen ohne Koda mindestens genauso schnell, aber sauberer erstelle als irgendwer mit Koda.

    Was nichts anderes heisst, als dass Koda wesentlich verbessert gehört!
    Den Ansatz finde ich nicht schlecht, und ich bin überzeugt, dass auch die "Pro´s" Koda nutzen würden, wenn es einen Vorteil hätte!
    Im Visual Studio schreibt sich niemand (ernsthaft) seine GUI selbst, der dort enthaltene Editor ist viel zu gut, um die Zeit mit "in der Hilfe suchend nach den passenden Befehlen"-rumgehopse zu verschwenden!
    Ich jedenfalls wäre ohne die Hilfe ganz schön aufgeschmissen, gerade eine GUI mit mehreren (nicht ständig benutzten) Elementen klicke ich mir gerne in Koda zusammen, um dann "nachher" den Code zu bearbeiten und anzupassen!