Diverse Fragen (Filebrowser, Formdesigner, Vorschau, Speichern)

  • Guten Tag

    Ich habe diverse Fragen:

    • Ich habe das Setup von hier ausgeführt. Auch nach mehrmaligen Overwrite, Deinstall, ist der GUI Creator immer noch nicht vorhanden. (Alt&M)
      Woran liegt das und wie kann ich dies beheben?
    • Ist es möglich, per Filebrowser mehrere Dateien auszuwählen und Auch in einer Box im GUI anzuzeigen? Wenn ja, wie?
    • Ich möchte bei der Auswahl eines Bildes eine Vorschau, verkleinert, im GUI zeigen. Ist dies möglich?
    • Ist auch ein Speichern unter einem anderen Bildformat via Filebrowser möglich?

    Bitte entschuldigt wenn hier noch irgendwo Threads sind, die Ähnliches behandeln. Ich habe nicht genauer geschaut :S

    Einmal editiert, zuletzt von lukiono (8. Februar 2010 um 11:37)

  • Hall lukiono,

    • zu 1.) lässt sich Koda über die normale Menüleiste Aufrufen (ALT-Tools|Koda)
    • zu 2 + 3.)ja siehe Skript.
    • zu 4.)mit den GDI+ Funktionen sollte dies möglich sein
    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #Include <GuiListView.au3>
    #include <File.au3>
    #include <array.au3>

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

    Opt('MustDeclareVars', 1)

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

    Global $msg, $message, $var, $aFiles, $idfrmMain, $sSourcePath, $aItem
    Global $szDrive, $szDir, $szFName, $szExt

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

    $idfrmMain = GUICreate("JPG-Viewer", 266, 450)
    Local $idfilemenu = GUICtrlCreateMenu("&Datei")
    Local $idfileitem = GUICtrlCreateMenuItem("Öffnen", $idfilemenu)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)
    Local $idexititem = GUICtrlCreateMenuItem("Beenden", $idfilemenu)
    Local $idLV_Files = GUICtrlCreateListView("Name: |Pfad",5,5,256,140)
    Local $idbtnShow = GUICtrlCreateButton("&Zeige Bild",5,150,150,25)
    Local $idPic = GUICtrlCreatePic("",5,180,256,256)
    ;_GUICtrlListView_SetColumnWidth($idLV_Files,1,0) ;zweite Spalte versteckt
    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $idfileitem

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

    $message = "Um mehrere Dateien auszuwählen, ist die Strg-Taste oder die Shift-Taste zu drücken."

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

    $var = FileOpenDialog($message, @MyDocumentsDir & "", "Bilder (*.jpg;*.bmp)", 1 + 4)
    If @error Then
    MsgBox(4096, "", "Keine Datei(en) ausgewählt")
    Else
    $aFiles = StringSplit($var,"|")
    ;Rückgabe des Fileopenialogs in einzzenlne Strings für Array splitten
    ;_ArrayDisplay($aFiles) ;Array anzeigen nur zu Verständnisuwecken evtl. aktivieren
    if $aFiles[0] > 1 then ;trifft nur bei Mehrfachauwal zu
    ;$aFiles[0] enthält Anzahl der Strings
    ;$aFiles[1] enthält den Pfad für alle ausgewählten Bilder
    ;$aFiles[2] enthält 1. Bild
    ;$aFiles[n+1] enthält n. Bild

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

    For $i = 2 to $aFiles[0]
    GUICtrlCreateListViewItem($aFiles[$i]&"|" & $aFiles[1],$idLV_Files)
    Next
    Else ;nur 1 Bild ausgewählt
    ;$aFiles[0] enthält Anzahl der Strings also 1
    ;$aFiles[1] enthält Bild inkl kompletten Pfad
    ConsoleWrite($aFiles[1] & @crlf) ;nur zu Verständnisuwecken evtl. deaktivieren
    _PathSplit($aFiles[1], $szDrive, $szDir, $szFName, $szExt)
    GUICtrlCreateListViewItem($szFName & $szExt & "|" & $szDrive & $szDir,$idLV_Files)
    EndIf
    _GUICtrlListView_SetColumnWidth($idLV_Files,0,$LVSCW_AUTOSIZE)
    ;setzt die 1 Spalte auf die benötigte Breite des längsten Eintrags
    EndIf
    Case $idbtnShow
    $aItem = _GUICtrlListView_GetItemTextArray($idLV_Files)
    ;$aItem[0] enthält Anzahl der Spalten [$aIem[1] die 1. Spalte usw.
    ;_ArrayDisplay($aItem) nur zu Verständnisuwecken evtl. aktivieren
    ConsoleWrite("Pfad zur Datei:" & $aItem[2] & "\" & $aItem[1] & @CRLF) ;nur zu Verständnisuwecken evtl. deaktivieren
    If $idPic = 0 then
    $idPic = GUICtrlCreatePic($aItem[2]&"\"&$aItem[1],5,180,256,256)
    ;es gibt noch kein Control das ein Bild aufnehmen kann, also erzeugen
    ;nur vorichtshalber (in füheren Versionen wurde ohne Filenamen kein Pic-Control angelegt)
    Else
    GUICtrlSetImage($idPic,$aItem[2]&"\"&$aItem[1])
    ;es bereits ein Control das ein Bild aufnehmen kann, also anderes Bild anzeigen
    EndIf
    Case $GUI_EVENT_CLOSE, $idexititem
    Exit
    EndSwitch
    WEnd

    [/autoit]

    Viel Spass damit

    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (7. Februar 2010 um 05:03)

  • Hallo lukiono,

    schau noch eimal in meinen 1. Beitrag, da Skript angepasst (nur 1 File auswählen war fehlerhaft) und mit ein paar Kommentaren versehen,

    mfg (Auto)Bert

  • Danke dir.

    Unter Extras (engl. Tools) ist auch mit der Alt Taste zwar ein Strich zu erkennen, jedoch immer noch kein Kodadesigner aufrufbar.
    Dabei brauch ich den dringend :(


    Edit:
    Nach 1 Stunde suchen, installen, updaten hab ich es nun hinbekommen.
    Direkt aber eine andere Frage:
    Kann ich die normale deutsche Sprachdatei auch raufknallen wenn ich das Folgende drauf habe?
    Das Oberste

    MfG

    Einmal editiert, zuletzt von lukiono (7. Februar 2010 um 08:23)