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

Beiträge von Cartan12

  • Geplante Tasks

    • Cartan12
    • 19. Februar 2010 um 21:35

    Schön, ich würde dir aber noch eine GUI dazu empfehlen. Ich habe dir mal ein Grundgerüst gebaut, was du damit anfängst ist deine Sache...

    [autoit]

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

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

    $Form1 = GUICreate("Programm-Planer", 351, 336, 300, 206)
    $MonthCal1 = GUICtrlCreateMonthCal(@YEAR & "/" & @MON & "/" & @MDAY, 24, 80, 191, 162)
    $Input1 = GUICtrlCreateInput(@HOUR, 232, 80, 41, 21)
    $Updown1 = GUICtrlCreateUpdown($Input1)
    GUICtrlSetLimit(-1,23,0)
    $Input2 = GUICtrlCreateInput(@MIN, 280, 80, 41, 21)
    $Updown2 = GUICtrlCreateUpdown($Input2)
    GUICtrlSetLimit(-1,59,0)
    $Label1 = GUICtrlCreateLabel("Datum", 80, 40, 67, 25)
    $Label2 = GUICtrlCreateLabel("Zeit", 240, 40, 38, 17)
    $Label3 = GUICtrlCreateLabel(":", 272, 80, 8, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Label4 = GUICtrlCreateLabel("Programm", 56, 264, 91, 17)
    $Input3 = GUICtrlCreateInput("Programm auswählen", 56, 288, 121, 21)
    $Button1 = GUICtrlCreateButton("Durchsuchen", 184, 288, 75, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Task planen!", 232, 152, 75, 25, $WS_GROUP)
    GUISetState()

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

    While 1
    $Msg = GUIGetMsg()
    Switch $Msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $programm = FileOpenDialog("Programm auswählen",@ScriptDir & "\","Ausfürbare Programme (*.exe)")
    GUICtrlSetData($Input3,$programm)
    Case $Button2
    ;...
    EndSwitch
    WEnd

    [/autoit]

    Wenn du noch hilfe brauchst... Einfach fragen :thumbup:

  • Global-Updater

    • Cartan12
    • 18. Februar 2010 um 20:57

    Ich finde das Projekt für Übungszwecke trotzdem ganz gut... Es gibt diese Art Programme zwar schon, aber wenn man mit ein paar Programmen anfängt und dann eine gute GUI dazu erstellt kann man viel dabei lernen. Also, wenn du Hilfe brauchst, kannst du uns gerne fragen. :thumbup:

  • Proxy

    • Cartan12
    • 18. Februar 2010 um 17:03

    Hatten wir doch schonmal mit dem IP-Adressen ändern, und der wurde wegen verstoß gegen die Forenregeln geschlossen...

  • GUI - Text auslesen

    • Cartan12
    • 18. Februar 2010 um 16:55

    Kleiner Fehler: Du musst den Titel des FENSTERS und nicht die ID angeben. So ist es richtig:

    [autoit]

    $text = WinGetText("Navision XAL Oracle RDBMS - Sigotron AG", "")
    MsgBox(0, "Der gelesene Text lautet:", $text)

    [/autoit]
  • Autoit stürtzt ab

    • Cartan12
    • 18. Februar 2010 um 14:30

    Schau dir doch mal UEZs Sachen an: http://www.autoitscript.com/forum/index.php?showtopic=87200
    https://autoit.de/index.php?page=Thread&amp;threadID=9630
    Er ist ja schließlich unser GDI+ Meister :thumbup:

  • 3D Rollenspiel

    • Cartan12
    • 18. Februar 2010 um 14:21

    Also von einem Multiplayerspiel in AutoIt wür de ich dringend abraten...
    Ich selbst hab mal versucht mit lite-c ein Multiplayerspiel zu erstellen und bin gescheitert. Ich habe es sogar geschafft, dass sich die Figuren bewegen und schießen, aber sie haben sich (im multiplayer-modus) nichts abgezogen. Bis zu dem Punkt hatte ich ca. 3800 Zeilen Script, und darin den Fehler finden, dass ist nicht leicht.
    Kurz danach hab ich dann damit aufgehört...

  • Anhang runterladen - Erweiterung für die POP3 UDF

    • Cartan12
    • 18. Februar 2010 um 14:09

    Das Problem ist schnell gelößt... Du musst dir nochmal die neue Anhang.au3 runterladen. Gab nämlich nochmal ein Update...

  • Script hilfe

    • Cartan12
    • 17. Februar 2010 um 21:19
    [autoit]

    While 1 ; Einfache Endlosschleife
    Sleep(30 * 1000) ; Wartet 30 sec
    Send("{ENTER}") ; Sendet ENTER
    ; Sleep(3 * 1000) ;Wartet 3 sec (wenn erwünscht, einfach ; weg machen)
    Select("{NUMPADENTER}") ; Sendet NUMPADENTER
    WEnd

    [/autoit]
  • Script hilfe

    • Cartan12
    • 17. Februar 2010 um 21:06

    Genau, wofür gibts Google ^^ http://lmgtfy.com/?q=AutoIt+bot+Forum

    edit: hier mal ein Beispiel:

    [autoit]

    if WinExists("Fehler!") Then Send("{ENTER}")

    [/autoit]

    oder:

    [autoit]

    if WinExists("Fehler!") Then Send("{NUMPADENTER}")

    [/autoit]
  • Script hilfe

    • Cartan12
    • 17. Februar 2010 um 20:55

    Herzlich Willkommen im Forum!
    Ich will dir jetzt nicht den Spaß verderben, aber das sieht mir doch stark nach einem Bot aus... Ließ dir das mal durch: https://autoit.de/index.php?page=Forumrules
    Falls du eine Erklärung hast, wofür du das brauchst, können wir dir helfen :D

  • Anhang runterladen - Erweiterung für die POP3 UDF

    • Cartan12
    • 17. Februar 2010 um 20:22

    UPDATE! Die UDF unterstützt nun alle (mir bekannten) E-Mail Anbieter und es wurden viele Bugs behoben. Außerdem habe ich noch ein kleines Auswahlmenü hinzugefügt. Ich glaube, diese UDF kann man nun gut zu benutzen :thumbup: --> Siehe Post#1

  • [beendet] µit Light Januar 2010

    • Cartan12
    • 16. Februar 2010 um 22:00

    Von mir auch.
    Ich würde sagen, der Prafix [laufend] kann geändert werden...

  • Schleife die vom Benutzer bestimmt wird

    • Cartan12
    • 16. Februar 2010 um 21:45

    Muss

    [autoit]

    Select
    Case $nMsg = $GUI_EVENT_CLOSE
    Case $nMsg = $lineargo
    $Anzahl = GUICtrlRead ( $lineart )
    $file = FileOpen ( "Lineareswachstum.txt", 1 )
    $aenderunglinear = GUICtrlRead($lineard)
    $linearbestand = GUICtrlRead($linearb)
    $linearmax = GUICtrlRead($lineart)
    $linearjahr = 0
    For $i = 0 To $linearmax - 1 ; SOLLTE $lineartmax HEIßEN
    $linearjahr = $linearjahr + 1
    $linearbestand = $linearbestand + $aenderunglinear
    FileWriteLine($file, $linearjahr & "-----------" & $linearbestand) ; Die &-Zeichen verbinden die Strings zu einem String
    Next

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

    EndSelect

    [/autoit]

    heißen :rolleyes:
    P.S. Fragen sind nicht schlimm, dafür sind wir ja hier :D

  • Schleife die vom Benutzer bestimmt wird

    • Cartan12
    • 16. Februar 2010 um 21:35

    Muss einfach nur

    [autoit]

    $linearJahr += 1

    [/autoit]

    heißen :D

  • Schleife die vom Benutzer bestimmt wird

    • Cartan12
    • 16. Februar 2010 um 21:21
    [autoit]

    Select
    Case $nMsg = $GUI_EVENT_CLOSE
    Case $nMsg = $lineargo
    $Anzahl = GUICtrlRead ( $lineart )
    $linearfile = FileOpen ( "Lineareswachstum.txt", 1 )
    $linearJahr = 0
    $aenderunglinear = GUICtrlRead($lineard)
    $linearbestand = GUICtrlRead($linearb)
    $lineartmax = GUICtrlRead($lineart)
    For $i = 0 To $linearmax - 1 ; SOLLTE $lineartmax HEIßEN
    $linearJahr = $linearJahr += 1
    $linearbestand = $linearbestand += $aenderunglinear
    FileWriteLine($file, $linearJahr"-----------"$linearbestand)
    Next
    EndSelect

    [/autoit]

    Achte mal auf die rechtschreibung ;)

  • Anhang runterladen - Erweiterung für die POP3 UDF

    • Cartan12
    • 16. Februar 2010 um 20:59

    Bug gefixt ; Es klappten nun auch Texte als Anhang --> post#1

    Stilgar würde mich sehr freuen, wenn die UDF in die POP3 UDF aufgenommen wird... Wäre nett wenn du dann noch meinen Namen nennst :rolleyes:

  • Anhang runterladen - Erweiterung für die POP3 UDF

    • Cartan12
    • 16. Februar 2010 um 20:17

    Ich war sehr überrascht, als ich den ersten Anhang runtergeladen hatte. Es war ein Zip Archiv, doch in der Mail stand nur ein sehr langer String. Nach ein bisschen recherchieren fand ich heraus, das Anhänge (Versucht mal irgendeine Datei mit z.B. EditPlus zu öffnen) in Base64 als STRING verschlüsselt versendet werden. Das Mailprogramm entschlüsselt diese Datei und gibt den Namen an. Dann läd es diesen String runter, speichert es in eine Textdatei und ändert den Namen. Das ist genau das, was mein Script macht...
    Ach ja, es gibt ein Problem, sobald der Anhang eine Textdatei IST. Dann wird der Inhalt der Datei nicht verschlüsselt, mein Script Versucht jedoch genau das... Was dabei rauskommt kann man sich ja denken :P
    Bin fast fertig diesen Fehler zu beheben...

  • Anhang runterladen - Erweiterung für die POP3 UDF

    • Cartan12
    • 16. Februar 2010 um 20:01

    Funktioiert auf jeden Fall! Dieser Base64 ist der Standartcode vieler Anbieter... Ich mein, jedes Mailprogramm kann das, wiso sollen wir das nicht können!?! :thumbup:

  • Calculator :)

    • Cartan12
    • 16. Februar 2010 um 19:58

    Sehr nett :thumbup:
    Würde dir empfehlen den Code und die exe als Anhang(am besten im .zip archiv) zu posten...

  • Anhang runterladen - Erweiterung für die POP3 UDF

    • Cartan12
    • 16. Februar 2010 um 18:56

    Da heute die Frage gestellt wurde, wie man denn Anhänge runterläd und ich dieses Problem lösen konnte, hab ich mir gedacht, ich mach daraus mal ne UDF.
    Erklärung: Eine E-Mail besteht aus mehreren Teilen. Einer dieser Teile ist der Anhang. Dieser ist in Base64 verschlüsselt, also entschlüsselt dieses Script diesen Code und gibt einen Array bestehend aus dem Namen der Datei und dem entschlüsselten Text. Nun muss man nurnoch eine Datei mit dem Dateinenamen erstellen und dort den entschlüsselten Code reinschreiben (-->siehe Beispiel)

    Funktion: _getanhang($v_text)
    $v_text Text, der aus _POP3Retr(), bzw. _downloadmail() entstanden ist.
    Rückgabe:
    $rueckgabe Zurückgegebener Array
    $rueckgabe[0] Decodierter Anhang
    $rueckgabe[1] Name der Datei im Anhang

    Funktion _downloadmail()
    Kleines Auswahlmenü zum auswählen und runterladen der gewünschten E-Mail
    Rückgabe:
    $data Der Text der E-Mail (Mit Anhang) -->Siehe Beispiel

    Beispiel:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.5.4 (beta)
    Author: Cartan12

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    #include <POP3.au3>
    #include <File.au3>
    #include <Anhang.au3>

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

    $conn = _POP3Connect($benutzer,$pass,$popserver)
    If $conn == 0 Then
    MsgBox(0,"","Keine Verbindung")
    Else
    $mails = _POP3Info()
    If $mails <> 0 Then
    $mail = _downloadmail() ; Neue Funktion - Keines Auswahlmenü der Vorhandenen E-Mails
    _FileCreate(@DesktopDir & "\mail.txt")
    FileWrite(@DesktopDir & "\mail.txt",$mail)
    $anhang = _getanhang($mail)
    _ArrayDisplay($anhang)
    If $anhang <> "" Then
    _FileCreate(@DesktopDir & "\" & $anhang[1])
    FileWrite(@DesktopDir & "\" & $anhang[1],$anhang[0])
    EndIf
    EndIf
    EndIf

    [/autoit]

    Anhang UDF:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <String.au3>
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include-once
    Func _Base64Decode($Data)
    Local $Opcode = "0xC81000005356578365F800E8500000003EFFFFFF3F3435363738393A3B3C3DFFFFFF00FFFFFF000102030405060708090A0B0C0D0E0F10111213141516171819FFFFFFFFFFFF1A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132338F45F08B7D0C8B5D0831D2E9910000008365FC00837DFC047D548A034384C0750383EA033C3D75094A803B3D75014AB00084C0751A837DFC047D0D8B75FCC64435F400FF45FCEBED6A018F45F8EB1F3C2B72193C7A77150FB6F083EE2B0375F08A068B75FC884435F4FF45FCEBA68D75F4668B06C0E002C0EC0408E08807668B4601C0E004C0EC0208E08847018A4602C0E00624C00A46038847028D7F038D5203837DF8000F8465FFFFFF89D05F5E5BC9C21000"

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

    Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($Opcode) & "]")
    DllStructSetData($CodeBuffer, 1, $Opcode)

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

    Local $Ouput = DllStructCreate("byte[" & BinaryLen($Data) & "]")
    Local $Ret = DllCall("user32.dll", "int", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _
    "str", $Data, _
    "ptr", DllStructGetPtr($Ouput), _
    "int", 0, _
    "int", 0)

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

    Return BinaryMid(DllStructGetData($Ouput, 1), 1, $Ret[0])
    EndFunc
    Func _getanhang($v_text)
    Local $pos, $split, $split2, $split3, $string2, $encodet, $string1
    $pos = StringInStr($v_text,'boundary="')
    If StringInStr($v_text,"Content-Type: multipart/mixed;") <> 0 And $pos <> 0 Then
    $searchstring = _StringBetween($v_text,'boundary="','"')
    $split = StringSplit($v_text,$searchstring[0],1)
    $split3 = StringSplit($split[$split[0]-1],'filename="',1)
    $string2 = _StringBetween($split3[2],"",'"')
    $split2 = _StringBetween($split[$split[0]-1],'filename="' & $string2[0] & '"',"")
    If StringInStr($split[$split[0]-1],"Content-Type: text") <> 0 Then
    $string1 = StringTrimLeft($split2[0],4)
    $encodet = StringTrimRight($string1,2)
    Else
    $encodet = _Base64Decode($split2[0])
    EndIf
    Local $rueckgabe[2] = [$encodet, $string2[0]]
    Return $rueckgabe
    EndIf
    Return 0
    EndFunc

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

    Func _downloadmail()
    Local $Form1, $Combo1, $i, $Button1, $Msg, $data, $mail, $v_mails
    $v_mails = _POP3Info()
    If $v_mails[0][0] = 0 Then
    MsgBox(0,"!","Keine E-Mails auf dem Server vorhanden!")
    Exit
    EndIf
    $Form1 = GUICreate("E-Mails", 186, 132, 229, 149)
    $Combo1 = GUICtrlCreateCombo("", 24, 40, 145, 25)
    For $i = 1 To $v_mails[0][0]
    GUICtrlSetData(-1,$i & "= " & $v_mails[$i][3])
    Next
    $Button1 = GUICtrlCreateButton("Download", 48, 80, 75, 25)
    GUISetState(@SW_SHOW)

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

    While 1
    $Msg = GUIGetMsg()
    Switch $Msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    If GUICtrlRead($Combo1) = "" Then ContinueLoop
    $data = StringSplit(GUICtrlRead($Combo1), "=")
    GUIDelete()
    $mail = _POP3Retr($data[1])
    Return $mail

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

    EndSwitch
    WEnd

    [/autoit]

    EDIT: _downloadmail()-Funltion hinzugefügt. _downloadmail Erstellt eine kleine GUI, in der man die gewünschte E-Mail runterladen kann. Viele, viele Bugs behoben, die UDF sollte jetzt ohne Probleme funktionieren...

    Dateien

    Beispiel.au3 898 Byte – 632 Downloads Anhang.au3 2,92 kB – 607 Downloads

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™