Hallo,
ich bin mal ein bisschen in AutoIt eingestiegen und hab mal versucht um einen einfachen Converter (.exe-Datei) eine GUI zu basteln.
Das funktioniert jetzt schon soweit ganz gut, allerdings wollte ich noch radio-buttons einbauen, mit denen man die Kompressionsart festlegen kann.
Ich bin mir noch nicht ganz im Klaren darüber, wie man radio-buttons richtig setzt und danach wieder ausliest und in einer Variable speichert.
Könnte mir das jemand erklären? Hier mal mein bisheriges "Werk":
C
#include <GUIConstants.au3>
#include <ProgressConstants.au3>
#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
Dim $quelldatei
Dim $message
Dim $zieldateiname
Dim $openbutton
Dim $swiftopenbutton
Dim $compmode
Dim $zip
Dim $lzw
GUICreate("TIF-Datei-Converter", 600, 550)
; Buttons und Labels erstellen
GUICtrlCreateLabel("Bitte Quell-Datei auswählen:", 10, 91)
$openbutton = GUICtrlCreateButton("1. Quell-Dateiauswahl", 10, 110, 160)
$convertbutton = GUICtrlCreateButton("2. Umwandeln", 10, 200, 160)
$exitbutton = GUICtrlCreateButton("Programm beenden", 435, 300, 160)
$swiftopenbutton = GUICtrlCreateButton("Zieldatei in Swiftview öffnen", 10, 300, 160)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
; "Datei öffnen Dialog" um Quelldatei auswählen
Case $msg = $openbutton
$quelldatei = FileOpenDialog($message, "C:\", "Tif-Bilder (*.tif;*.tiff)", 1 )
; ausgewählte Quelldatei in GUI anzeigen
GUICtrlCreateLabel("Ausgewählte Quell-Datei:", 10, 140)
GUICtrlCreateLabel( $quelldatei, 10, 160, 599, 40)
; Auswahlbuttons, Wahl der Kompressionsart
;test()
;Func test()
; Local $msg
; $zip = GUICtrlCreateRadio("zip", 10, 10, 120, 20)
; $lzw = GUICtrlCreateRadio("lzw", 10, 40, 120, 20)
; GUICtrlSetState($lzw, $GUI_CHECKED)
; GUISetState()
; While 1
; $msg = GUIGetMsg()
; Select
; Case $msg = $GUI_EVENT_CLOSE
; ExitLoop
; Case $msg = $zip And BitAND(GUICtrlRead($zip), $GUI_CHECKED) = $GUI_CHECKED
; $compmode = "zip"
; Case $msg = $lzw And BitAND(GUICtrlRead($lzw), $GUI_CHECKED) = $GUI_CHECKED
; $compmode = "lzw"
; EndSelect
; WEnd
; EndFunc
; Datei umwandeln
Case $msg = $convertbutton
GUICtrlCreateLabel("Bitte warten...", 10, 250, 590, 40)
Run(@ComSpec & " /k " & 'cls' , "", @SW_SHOWMINIMIZED)
Sleep(500)
$hCmd = WinGetHandle("C:\WINDOWS\system32\cmd.exe")
; Dateinamen der Zieldatei zusammensetzen aus Quelldateiname und Erweiterung mit _compressed
$zieldateiname = " " & $quelldatei & "_compressed.tif"
; Befehlszeile in Dos-Fenster losschicken
ControlSend($hCmd, "", "", "C:\Tiff-Compressor\tiffcp.exe -c" & $compmode & $quelldatei & $zieldateiname & @CR)
; Sleep(4000)
ControlSend($hCmd, "", "", "exit" & @CR)
GUICtrlCreateLabel("Datei wurde komprimiert und unter" & $zieldateiname & " abgespeichert.", 10, 250, 590, 40)
; Zieldatei mit Swiftview öffnen
Case $msg = $swiftopenbutton
$runswiftview = Run("R:\prog\swiftview\sview.exe" & $zieldateiname)
; Programm Beenden-Button
Case $msg = $exitbutton
GUICtrlSetOnEvent($exitbutton, "OnExit")
ExitLoop
EndSelect
WEnd
Alles anzeigen