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

Beiträge von Micha_he

  • Wenn @AutoItX64=1 ist x64 in ein input feld schreiben

    • Micha_he
    • 5. Juni 2009 um 16:56

    man lernt nie aus 8o

  • Wenn @AutoItX64=1 ist x64 in ein input feld schreiben

    • Micha_he
    • 5. Juni 2009 um 14:56
    Lösung
    [autoit]

    #include <GUIConstants.au3>

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

    $Form1 = GUICreate("Was habe ich für ein Betriebssystem?", 350, 40, 192, 124)
    $Input1 = GUICtrlCreateInput(@AutoItX64 , 8, 8, 233, 21)
    $Label1 = GUICtrlCreateLabel("0=x32", 248, 8, 33, 17)
    $Label2 = GUICtrlCreateLabel("1=x64", 288, 8, 33, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

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

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

    EndSwitch
    ;_test() ; hier werden die Funktionen gestartet
    ;_test1()
    _test2()
    Sleep(20) ; wegen der Prozessorauslastung !
    WEnd

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

    ; am Ende die Funktionen. Sie müssen im Hauptprogramm aufgerufen werden.
    func _test()
    If @AutoITX64=1 Then
    GUICtrlSetData($Input1, "x64")
    EndIf
    endfunc

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

    func _test1()
    If @AutoITX64=0 Then
    GUICtrlSetData($Input1, "x32")
    EndIf
    endfunc

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

    ; ich würde die Funktionen in eine schreiben !
    func _test2()
    If @AutoITX64=1 Then
    GUICtrlSetData($Input1, "x64")
    Else
    GUICtrlSetData($Input1, "x32")
    EndIf
    endfunc

    [/autoit]
  • ProgressOn Aussehen ändern...

    • Micha_he
    • 5. Juni 2009 um 14:46

    Die Lösung heißt GUICtrlSetData() ! Steht in der Hilfe zu GUICtrlCreateProgress().

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>

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

    $BOLTEST = False
    $FORM1 = GUICreate("Tool - by TuttiFrutti", 198, 20, -1, -1, $WS_POPUP, 0)
    GUISetBkColor(16777215)

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

    $PROGRESS1 = GUICtrlCreateProgress(-1, -1, 198, 17)

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

    GUISetState(@SW_SHOW)
    For $i = 0 to 100 step 5
    sleep(60)
    GUICtrlSetData($Progress1,$i)
    Next
    ProgressOff()

    [/autoit]
  • Wieder mal ne Schleifenlogig mit der ich nicht klar komme :(

    • Micha_he
    • 3. Juni 2009 um 22:44

    Einige Punkte habe ich abgeändert. Schau mal ob Du damit weiterkommst:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <AVIConstants.au3>
    #include <TreeViewConstants.au3>

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

    Global $user[5],$Telenr[5]

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

    ; GUI
    GuiCreate("Sample GUI", 400, 400)

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

    ; TAB
    GuiCtrlCreateTab(10, 0, 380, 380)
    GuiCtrlCreateTabItem("User")

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

    ; COMBO
    $Users = GuiCtrlCreatecombo("", 30, 50, 100, 25)
    For $i= 1 to 4
    $User[$i]= IniRead("user.ini", "User", $i, "Nicht gefunden")
    GUICtrlSetData(-1,$User[$i],"")
    $Telenr[$i] = IniRead("user.ini", "Telefon", $i, "Nicht gefunden")
    Next

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

    ;Label
    $Telefon = GUICtrlCreateLabel($Telenr,140, 50, 50,25)

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

    ; INPUT
    $Telefonedit = GuiCtrlCreateInput("Input", 200, 50, 50, 25)

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

    ; BUTTON
    GuiCtrlCreateButton("Hinzufügen", 260, 50, 60, 25)
    GuiCtrlCreateTabItem("2")
    GuiCtrlCreateTabItem("3")
    GuiCtrlCreateTabItem("")
    GuiSetState()

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

    While 1
    Switch GuiGetMsg()

    Case $GUI_EVENT_CLOSE
    Exit

    Case $Users
    For $i = 1 To 4
    If $User[$i] = GuiCtrlRead($Users) Then GuiCtrlSetData($Telefon,$Telenr[$i])
    Next

    EndSwitch
    WEnd

    [/autoit]
  • Buchstaben in ASCII umwandeln

    • Micha_he
    • 2. Juni 2009 um 22:28

    So geht's:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <string.au3>
    #include <Array.au3>

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

    Global $ad ; "Lokal" gibt es nur in Funktionen

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 162, 108, 193, 125)
    $Button1 = GUICtrlCreateButton("Txt in Asci", 25, 75, 57, 25, 0)
    $Button2 = GUICtrlCreateButton("Asci in Txt", 85, 75, 57, 25, 0)
    $Input1 = GUICtrlCreateInput("Dein Namen :", 8, 8, 145, 21)
    $Input2 = GUICtrlCreateInput("text", 8, 40, 145, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

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

    Case $Button1
    ;GUICtrlSetData($Input2, "") ; unnötig wird sowieso gleich gefüllt
    $read = StringSplit(GUICtrlRead($Input1), "")
    For $i = 1 To $read[0]
    $ad &= Asc($read[$i]) & " - "
    Next
    $ad = StringTrimRight(String($ad), 3)
    GUICtrlSetData($Input2, $ad)
    $ad = ""

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

    Case $Button2
    $Split = StringSplit(GUICtrlRead($Input2)," - ",1) ; Trennen muss am kompletten Zeichen " - " erfolgen
    $s = StringFromASCIIArray($Split,1) ; Array muss nach StringSplit bei 1 starten
    GUICtrlSetData($Input1,$s)
    $s = ""

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

    EndSwitch
    WEnd

    [/autoit]
  • Buchstaben in ASCII umwandeln

    • Micha_he
    • 2. Juni 2009 um 18:33

    Ich habe Dein Script jetzt nicht getestet, aber die Funktion heißt "StringFromASCIIArray()" !

    Als Eingabe nutzt Du aber GUICtrlRead(), welche einen String zurückgibt und kein ARRAY.

  • Hilfe bei RegEx Pattern

    • Micha_he
    • 2. Juni 2009 um 09:59
    [autoit]

    $string = "SP-ID : 0000012345.678901"
    $zahl = StringRegExp($string,"SP-ID : (.{17})",1)
    msgbox(0,"",$zahl[0])

    [/autoit]
  • FTP auslesen

    • Micha_he
    • 31. Mai 2009 um 12:29

    Mit der FTP_Ex.au3, die Prog@ndy um einige Funktionen erweitert hat, ist es einfach möglich:

    [autoit]

    #include <FTP_Ex.au3>

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

    $server = 'ftp.server'
    $username = 'ftpuser'
    $pass = 'ftppass'

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

    $sSub = 'Test2' ; Unterordner in dem gelistet werden soll
    $iIndex = 2 ; welche Ordner-Nr. soll im Unterordner gezeigt werden

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

    $hOpen = _FTPOpen('FTPCtrl')
    $hConn = _FTPConnect($hOpen, $server, $username, $pass)
    _FtpSetCurrentDir($hConn,$sSub) ; in den betreffenden Unterordner wechseln
    $aDirs = _FTPFilesListToArray($hConn,1) ; nur die darin befindlichen Ordner in ein Array speichern

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

    If $aDirs[0] >= $iIndex Then ; wenn genug Unterordner zurückgeliefert wurden
    Msgbox(0,"","Der " & $iIndex & ". Ordner im Unterordner '" & $sSub & "' lautet : " & @CRLF & @CRLF & $aDirs[$iIndex])
    EndIf

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

    _FTPClose($hOpen)

    [/autoit]

    Hier noch die FTP_Ex.au3, da ich sie im Forum nicht finden konnte: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

  • Run() funktioniert mal / mal nicht...

    • Micha_he
    • 29. Mai 2009 um 20:09

    Der Befehl heißt ja Run([Programm]).

    Wenn Du nun ein Programm namens XYZ starten willst, schreibst Du Run("XYZ").

    Da aber dein Pfad Leerzeichen enthält (wovon man als Programmierer lieber ausgehen sollte), muss Du den Pfad bzw. Pfad + Programm in Anführungszeichen schreiben. Dies kann auf folgende Weise geschehen:

    1. """C:\Dokumente und Einstellungen\Admin\Eigene Dateien\..."""
    2. '"C:\Dokumente und Einstellungen\Admin\Eigene Dateien\..."'
    3. Chr(34) & "C:\Dokumente und Einstellungen\Admin\Eigene Dateien\.." & Chr(34)

    Der Run Befehl lautet dann z.B.: Run('"C:\Dokumente und Einstellungen\Admin\Eigene Dateien\..."')

  • Suche Drag 'n Drop TreeView für Ordnerstruktur

    • Micha_he
    • 27. Mai 2009 um 19:53

    Muss ich das Rad wirklich neu erfinden ?

    Hat bei uns im Forum noch niemand eine Oberfläche für CDRecord oder ähnliches in der Hinterhand ??

    Gruß
    micha_he

  • Script "LoginAs"

    • Micha_he
    • 27. Mai 2009 um 19:50

    Ich glaube, so große Sicherheits-Löcher hat nicht einmal Windows !

  • Etwas mit Edit in eine CMD schreiben und antwort in einem 2.edit anzeigen

    • Micha_he
    • 27. Mai 2009 um 16:01

    Ist zwar schon tausendmal hier im Forum als Beispiel, aber vom Prinzip her so:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <Constants.au3>

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

    GuiCreate("CMD Test")
    $InID = GUICtrlCreateEdit("",20,20,200,20)
    $start = GUICtrlCreateButton(" Start ",20,50)
    $OutID = GUICtrlCreateEdit("",20,80,300,200)
    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()

    Case $GUI_EVENT_CLOSE
    ExitLoop

    Case $start
    $befehl = GuiCtrlRead($InID)
    $ausgabe = ""
    $prozessID = Run(@ComSpec & ' /c "' & $befehl & '"',@ScriptDir,@SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    While 1
    $ausgabe &= StdoutRead($prozessID)
    If @error Then ExitLoop
    Wend
    GUICtrlSetData($OutID,$ausgabe)

    EndSwitch
    WEnd

    [/autoit]

    Die Feinheiten kannst Du jetzt selber ausbauen.... ;)

  • Suche Drag 'n Drop TreeView für Ordnerstruktur

    • Micha_he
    • 26. Mai 2009 um 12:44

    Ich möchte ein Tool erstellen, welches Passwortverschlüsselt ein Archiv erstellt.

    Hierzu benötige ich ein TreeView, in welches ich per Drag 'n Drop Dateien und Ordner legen kann, sowie einen neuen Ordner (z.B. auf Knopfdruck oder Kontextmenü) erstellen kann. Also im Prinzip wie bei jedem CD-Brennprogramm, wo man meist im linken Fenster sich eine neue CD-Struktur erstellen kann.

    Hat jemand so etwas (oder einen Teil) schon fertig liegen ?
    Kann ja sein das so etwas schonmal jemand gebraucht hat....

  • _Inetmail mit Anhang

    • Micha_he
    • 26. Mai 2009 um 12:35

    Das würde ja heißen, Du musst die Mail in die Postfachdatei (Outlock = PST, Thunderbird wahrscheinlich MBX) einfügen.

    Ob es bei Outlock geht kann ich nicht sagen, aber beim MBX-Format (ist ja Klartext) sollte es gehen. Ist aber viel Aufwand.

    Du musst den Anhang "kodieren" (MIME64) und mit passendem Mail-Header und dem Header des MBX-Formates an die (Eingangs-)Postfachdatei Deines Thunderbird-Profiles anhängen. Anschließend muss die zur Maildatei gehörende Index-Datei neu indiziert werden. Ob Thunderbird dafür einen Kommandozeilen-Befehl hat, glaube ich zu bezweifeln. Also musst Du mal nach einem Freewaretool schauen oder wieder in die Tiefen der Indexdatei schauen und selber programmieren. Manchmal hilft es auch die Indexdatei zu löschen. Dann dauert der erste Start zwar einen Moment länger, aber meist bauen die Mailprogramme die Indexdatei alleine neu auf, wenn sie fehlt.
    Wenn beides erfolgt ist, öffnest Du den Posteingang im Mailprogramm und die Mail sollte erscheinen.

    Viel Arbeit ! Einfacher ist es ganz sicher, die Mail mit Anhang an einen SMTP-Server schicken (das habe ich fertig als Script liegen) und das Mailprogramm öffnen und neue Mails abrufen lassen.

  • Arbeiten mit der Eingabeaufforderung

    • Micha_he
    • 26. Mai 2009 um 11:57

    Such mal nach: StdOutRead() bzw. StdErrRead() !

    Die Beispiele sind meist ziemlich aussagekräftig.

  • Datei über TCP versenden

    • Micha_he
    • 13. Mai 2009 um 21:10

    Und wenn Du "BinaryToString" weglässt ?

    Du liest und schreibst doch direkt binär !

    Edit: Aber auf Deine Frage zurückzukommen: Suche mal "_TCPSendFile".

  • Gibt es in AutoIt eine Art Window-Move-Event?

    • Micha_he
    • 13. Mai 2009 um 21:06

    Child nun beweglich !

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    GLOBAL $posX = @DesktopWidth / 2 - 300
    GLOBAL $posY = @DesktopHeight / 2 - 200
    GLOBAL $diffx = 606
    GLOBAL $diffy = 0

    $hMainGui = GUICreate('Main', 600, 400, $posX, $posY)
    GUISetState()
    $hChildGui = GUICreate('Child', 300, 200, $posX + $diffx, $posY + $diffy)
    GUISetState()
    GUIRegisterMsg($WM_MOVE, 'WM_MOVE')
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    Func WM_MOVE($hWnd, $Msg, $wParam, $lParam)
    If $hWnd = WinGetHandle($hMainGui) Then
    Local $pos = WinGetPos($hMainGui)
    WinMove($hChildGui, '', $pos[0] + $diffx, $pos[1] + $diffy)
    EndIf
    If $hWnd = WinGetHandle($hChildGui) Then
    Local $mpos = WinGetPos($hMainGui)
    Local $cpos = WinGetPos($hChildGui)
    $diffx = $cpos[0] - $mpos[0]
    $diffy = $cpos[1] - $mpos[1]
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_MOVE

    [/autoit]

    Danke Oscar für die Grundidee :rolleyes:

  • Progresscolor

    • Micha_he
    • 13. Mai 2009 um 15:49

    Ist bei mir ROT, wie er programmiert wurde ! Unter WinXP !

  • Input Syntaxfehler

    • Micha_he
    • 13. Mai 2009 um 10:23

    oder der Pfad ein Leerzeichen enthält !
    Siehe Edit2, Post #4 !

    Es gibt so viele Probleme....

  • Input Syntaxfehler

    • Micha_he
    • 13. Mai 2009 um 09:54

    Also die Zeile funktioniert so ! Wenn Du weiterhin eine Fehler in Deinem Script bekommst, muss Du schon mal dein Script preisgeben.

    Beim Raten sind wir nun wohl am Ende angekommen ;)

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™