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

Beiträge von funkey

  • Name einer Array-Variablen zusammen setzen

    • funkey
    • 1. Oktober 2008 um 10:15

    $array[0][0] = 1
    $array[0][1] = 2
    $array[0][2] = 3
    $array[1][0] = 4
    $array[1][1] = 5
    $array[1][2] = 6
    $array[2][0] = 7
    $array[2][1] = 8
    $array[2][2] = 9

  • Command Line Parameters - übergabe von Variablen

    • funkey
    • 1. Oktober 2008 um 09:34

    Prinzipiell funktioniert es so, wie du gepostet hast, aber: Wenn du z.B. $CmdLine[3] abfragst und nur 2 Parameter hast, dann ist das Array zu klein und du bekommst einen Fehler, also vielleicht vorher mit $CmdLine[0] überprüfen wieviele Parameter überhaupt mitgegeben wurden und nicht nur ob mehr als ein Parameter angegeben wurde.

  • GUICtrlSetOnEvent vs. GUIGetMsg

    • funkey
    • 1. Oktober 2008 um 08:53

    Ich weiß nicht wie das bei den anderen ist, aber ich nehme GUICtrlSetOnEvent bei größeren Projekten der Übersicht halber, für Kleinigkeiten immer GUIGetMsg. Ich denke aber es ist performanter GUICtrlSetOnEvent zu verwenden.

  • GUI dynamisch erstellen

    • funkey
    • 1. Oktober 2008 um 08:13

    Ich hab's mal ein bisschen abgeändert, habe den Fehler nicht simulieren können, aber vielleicht passts jetzt! :)

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=Printer 2.ico
    #AutoIt3Wrapper_Compression=4
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GuiConstants.au3>
    #include <GuiListView.au3>
    #include <File.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>

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

    ;Drucker-Daten aus drucker.csv einlesen
    ;Format:
    ;Nr.;Drucker;Abt.;Standort;IP;SAP-Name;Freigabe-Name;Bemerkung
    Dim $arCSV
    $csvFile = "drucker.csv"
    _FileReadToArray($csvFile, $arCSV)

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

    ;Felder am ";" trennen
    For $i = 1 To $arCSV[0]
    $arCSV[$i] = StringSplit($arCSV[$i], ";")
    Next

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

    Opt('MustDeclareVars', 1)
    Dim $listview, $Btn_Get, $Btn_Exit, $Btn_Help, $Btn_Printer, $Icon1, $msg, $i, $Status, $ret, $is_Checked, $SS_NOTIFY, $WS_GROUP, $SS_SUNKEN, $SS_CENTER, $drucker, $drucker1, $y, $server, $serverini, $radio1, $radio2

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

    ;Vorauswahl Server aus drucker.ini auslesen
    $serverini = IniRead("drucker.ini", "Server", "Servername", "Server2")

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

    ;GUI erstellen
    GUICreate("Druckerinstallation", 900, 800) ; Name, Größe GUI
    GUISetIcon("Printer 2.ico") ;Icon einbinden
    GUICtrlCreateLabel("Druckerinstallation", 10, 10, 500, 25) ; Überschrift
    GUICtrlSetFont(-1, 18, 400, 0, "Arial") ;Format Überschrift

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

    ;Radiobuttons für Serverauswahl
    GUICtrlCreateLabel("Server:", 675, 22, 35, 25)
    $radio1 = GUICtrlCreateRadio ("Server1", 720, 20, 80, 20)
    $radio2 = GUICtrlCreateRadio ("Server2", 820, 20, 80, 20)

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

    ;Vorbelegen der Radiobuttons je nach Eintrag in drucker.ini
    Switch $serverini
    Case "Server1"
    GUICtrlSetState($radio1, $GUI_CHECKED)
    Case "Server2"
    GUICtrlSetState($radio2, $GUI_CHECKED)
    EndSwitch

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

    ;Liste aufbauen
    $listview = GUICtrlCreateListView("#|Modell |Abteilung|Standort |IP-Adresse |SAP-Name |Freigabe-Name |Bemerkung ", 10, 40, 880, 720) ;Listenkopf
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_CHECKBOXES, $LVS_EX_CHECKBOXES)

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

    ;Einträge in Liste schreiben, dabei erste Zeile der drucker.csv wegen Spaltenköpfen ignorieren
    For $x = 2 to $arCSV[0]
    $i = $arCSV[$x]
    GUICtrlCreateListViewItem($x-1 & "|" & $i[2] & "|" & $i[3] & "|" & $i[4] & "|" & $i[5] & "|" & $i[6] & "|" & $i[7]& "|" & $i[8], $listview)
    Next

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

    ;Buttons platziern
    _GUICtrlListView_SetColumnWidth ($listview, 0, 100)
    $Btn_Get = GUICtrlCreateButton("Installieren", 10, 765, 90, 30) ;Button Installieren
    $Btn_Printer = GUICtrlCreateButton("Drucker", 620, 765, 70, 30) ; Button Drucker
    $Btn_Help = GUICtrlCreateButton("Hilfe", 720, 765, 70, 30) ; Button Hilfe
    $Btn_Exit = GUICtrlCreateButton("Beenden", 820, 765, 70, 30) ;Button Beenden

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

    ;Statuszeile für Hinweise
    $Status = GUICtrlCreateLabel("Bitte Drucker wählen", 370,780, 200, 20, BitOR($SS_SUNKEN, $SS_CENTER))
    GUISetState()

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

    ;Abfrage
    While 1
    $msg = GUIGetMsg()

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

    ;Welcher Radiobutton ist markiert?
    If GUICtrlRead($Radio1) = $GUI_CHECKED Then
    $serverini = "Server1"
    Else
    $serverini = "Server2"
    EndIf

    Select
    Case $msg = $GUI_EVENT_CLOSE Or $msg = $Btn_Exit ;Programm mit Beenden oder X beenden
    ExitLoop

    Case $msg = $Btn_Help ;Hilfe aufrufen
    MsgBox(0, "Hilfe", "Druckerinstallation" & @CRLF & @CRLF & "Ermöglicht das Installieren der an den Servern 'Server1' und 'Server2' freigegebenen Netzwerkdrucker." & @CRLF & @CRLF & "1. Server wählen" & @CRLF & "2. Drucker wählen" & @CRLF & "3. Installieren" & @CRLF & @CRLF & "Die Daten werden aus der Datei 'drucker.csv' geholt, welche folgendes Format (Kopfzeile) hat:" & @CRLF & @CRLF & "Nr.;Drucker;Abt.;Standort;IP;SAP-Name;Freigabe-Name;Bemerkung"& @CRLF & @CRLF & "Trennung durch Semikolon, keine Anführungszeichen für den Text!"& @CRLF)
    Case $msg = $Btn_Printer ;Drucker aufrufen
    Run("rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL PrintersFolder")
    Case $msg = $Btn_Get ;Installieren
    GUICtrlSetData($Status, "Bitte Drucker wählen ") ; Status setzen
    For $x = 0 to $arCSV[0]-2 ;alle Listeneinträge überprüfen - beginnend bei 0!
    Local $is_Checked = _GUICtrlListView_GetItemChecked ($listview, $x)
    If $is_Checked = TRUE Then ;Checkbox gesetzt?
    GUICtrlSetData($Status, "Drucker wird installiert")
    $y = $x+2
    $drucker = $arCSV[$y]
    $drucker1 = $drucker[7] ;Freigabename ermitteln
    If $drucker1 = "" Then ;Fehlt der Freigabename?
    MsgBox(48, "Fehler", "Freigabe-Name fehlt!")
    Else
    Runwait("rundll32.exe printui.dll,PrintUIEntry /in /n \\" & $serverini & "\" & $drucker1) ;Drucker installieren, warten bis Vorgang abgeschlossen
    MsgBox(0, "Fertig", "Drucker installiert: \\" & $serverini & "\" & $drucker1)
    EndIf
    Else
    GUICtrlSetData($Status, "Bitte Drucker wählen") ; Status setzen
    EndIf
    Next
    IniWrite("drucker.ini", "Server", "Servername", $serverini) ; $Radiobutton wird in die Ini Datei geschrieben
    EndSelect
    WEnd
    Exit

    [/autoit]
  • GUI zu GUI

    • funkey
    • 1. Oktober 2008 um 07:29

    Du solltest dir vielleicht diese Befehle ansehen:

    [autoit]

    ControlHide
    ControlShow
    ControlDisable
    ControlEnable
    ControlMove

    [/autoit]

    Damit kannst du fremde und eigene Gui's verändern.

  • Problem mit eigener DLL / DllCall()

    • funkey
    • 30. September 2008 um 18:05

    Einfach ist immer relativ! Wenn man etwas nicht weiß, kann das einfachste Problem unlösbar sein!

    Viel Spaß noch mit Autoit und aber auch mit C/C++.

  • Button mit Bild

    • funkey
    • 30. September 2008 um 09:10

    Wenn man den Mauszeiger ändert wie z.B. bei einem Link, dann schaut's auch nicht mehr so schlecht aus. Ist zwar kein '3D', aber man sieht sofort, dass man hier klicken kann.

    [autoit]

    GUICtrlSetCursor($idBtn, 0)

    [/autoit]
  • Verschiedene Zeilen einer TXT per GUI ändern

    • funkey
    • 29. September 2008 um 18:56
    [autoit]

    If $msg = $id_input1 Then $afile[7] = "aa" & GUICtrlRead($id_input1)

    [/autoit]
  • $LVS_EX_CHECKBOXES

    • funkey
    • 29. September 2008 um 18:53

    Kann sein dass sich der Name der Funktion geändert hat. Mit _GUICtrlListView_SetColumnWidth bzw. _GUICtrlListView_GetItemChecked funktioniert's. Also ein Unterstrich mehr.

  • Verschiedene Zeilen einer TXT per GUI ändern

    • funkey
    • 29. September 2008 um 18:14

    Zum Beispiel so:

    [autoit]

    #include <GUIConstants.au3>
    #Include <File.au3>

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

    Dim $afile
    _FileReadToArray("Test.txt",$afile)

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

    GUICreate("MeineGUI",250,200)
    GUISetState(@sw_show)

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

    $id_input1=GUICtrlCreateInput("Wert 1",21,30,171,20,-1,-1)
    $id_input2=GUICtrlCreateInput("Wert 2 ",20,80,171,20,-1,-1)
    $id_input3=GUICtrlCreateInput("Wert 3",20,130,171,20,-1,-1)

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

    While 1
    $msg=GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If $msg = $id_input1 Then $afile[7] = GUICtrlRead($id_input1)
    If $msg = $id_input2 Then $afile[8] = GUICtrlRead($id_input2)
    If $msg = $id_input3 Then $afile[9] = GUICtrlRead($id_input3)
    WEnd

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

    _FileWriteFromArray("Test.txt",$afile,1)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]
  • Word Zeichen Eigenschaften ermitteln

    • funkey
    • 29. September 2008 um 10:04
    Zitat

    Ich habe Word Dokumente, und es sollen alle Zeichen darin, die Durchgestrichen sind gelöscht werden und alle Zeichen, die Unterstrichen sind, soll die Unterstreichung entfernt werden. Und zwar auf allen Seiten..


    Davon war nie die Rede. Ich versteh aber natürlich, dass das dann so nicht funktioniert. :)

  • µit - September

    • funkey
    • 29. September 2008 um 00:15

    Nur falls es jemanden interessiert :D . Hier ist auch meine Version vom µIT September-Wettbewerb.

  • Bildschirm absuchen nach "Link"

    • funkey
    • 28. September 2008 um 23:52

    Schau dir doch mal die FF.au3 von Stilgar an? Da gibt's die Funktion _FFClickLink. ;)
    Hab's aber noch nie getestet.


    http://www.autoit.de/index.php?page=Board&boardID=32

  • Inhalt einer INI ab der zweiten Zeile in einem GUI anzeigen lassen.

    • funkey
    • 27. September 2008 um 12:54

    Hallo Alina, hab's mal mit dem verherigen Beispiel verknüpft.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Dim $Test
    $Daten = IniReadSection("Test.ini","dieerste")

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

    GUICreate("Input Test", 320, 180, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45)
    $input1 = GUICtrlCreateInput("", 10, 5, 300, 20)
    $input2 = GUICtrlCreateInput("", 10, 35, 300, 20) ; will not accept drag&drop files
    GUICtrlSetState(-1,$GUI_DISABLE)
    $label = GUICtrlCreateLabel("Label", 10, 95, 300, 60) ; will not accept drag&drop files
    $btn = GUICtrlCreateButton("Show", 10, 65, 300, 20)

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

    GUISetState()
    $msg = 0

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

    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Select
    Case $msg = $input1
    If GUICtrlRead($input1) = $Daten[1][0] Then GUICtrlSetData($input2,$Daten[1][1])
    Case $msg = $input2
    Case $msg = $btn
    For $i = 2 To $Daten [0][0]
    $Test &= @CRLF& $Daten[$i][0]&" = "&$Daten[$i][1]
    Next
    GUICtrlSetData($label,$Test)
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • AutoIt Window Tool: Position Umrandeter Felder ermitteln:

    • funkey
    • 27. September 2008 um 08:24

    Du musst mit WinGetPos die Koordinaten des Fensters holen und zu den Positionsangaben bei _ScreenCapture_Capture hinzuzählen.
    ControlGetPos gibt nur Koordinaten relativ zum Fenster zurück.
    Also so ungefähr:

    [autoit]

    _ScreenCapture_Capture(WinGetTitle("Systemeigenschaften", "")&".jpg", $gridpos[0] + $windowpos[0], $gridpos[1] + $windowpos[1], $gridpos[0] + $gridpos[2] + $windowpos[0], $gridpos[1] + $gridpos[3] + $windowpos[1])

    [/autoit]
  • Daten von Input1 abfragen, aus INI auslesen und in Input2 den Wert eintragen.

    • funkey
    • 26. September 2008 um 21:14

    Sorry, hatte einen kleinen Fehler drin! Aber schon längst wieder korrigiert ;)

  • Daten von Input1 abfragen, aus INI auslesen und in Input2 den Wert eintragen.

    • funkey
    • 26. September 2008 um 21:00

    So?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    $Daten = IniReadSection("Test.ini","First")

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

    GUICreate("Input Test", 320, 120, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45)
    $input1 = GUICtrlCreateInput("", 10, 5, 300, 20)
    $input2 = GUICtrlCreateInput("", 10, 35, 300, 20) ; will not accept drag&drop files

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

    GUISetState()
    $msg = 0

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

    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Select
    Case $msg = $input1
    If GUICtrlRead($input1) = $Daten[1][0] Then GUICtrlSetData($input2,$Daten[1][1])
    Case $msg = $input2
    EndSelect
    WEnd

    [/autoit]

    Edit: Hatt noch einen Fehler im Konzept :D

  • AutoIT und Bluetooth

    • funkey
    • 26. September 2008 um 20:05

    Oscar : Wenn ich Bluetooth bei meinem Handy einschalte, dann kratzt das meinen PC überhaupt nicht, weil mein Handy nicht sagt, dass es da ist und mein PC auch nicht danach sucht. Ich denke dein Bluetooth-Headset sendet nach dem einschalten immer: 'Ich bin da, ich bin da, ich bin da!' :P

  • Ein Programm in das Kontexmneü intigrieren

    • funkey
    • 26. September 2008 um 19:12

    Ich habe hier einen Bastel-Ersatz, der erstaunlich gut funktioniert! :D

    [autoit]

    HotKeySet("!q", "Ende")

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

    While 1
    $var = WinList()
    For $i = 1 to $var[0][0]
    If $var[$i][0] <> "" AND IsVisible($var[$i][1]) And StringInStr(WinGetText($var[$i][0]),"FolderView") Then
    $text = WinGetText($var[$i][0],"FolderView")
    If StringInStr($text,"Neuer Ordner",1) Then Send(@YEAR&@MON&@MDAY&"_"&@HOUR&@MIN&@SEC)
    EndIf
    Next
    Sleep(200)
    WEnd

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

    Func IsVisible($handle)
    If BitAnd( WinGetState($handle), 2 ) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc

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

    Func Ende()
    Exit
    EndFunc

    [/autoit]
  • Bilder Problem

    • funkey
    • 26. September 2008 um 18:48

    GuiCtrlSetImage

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™