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

Beiträge von jjj

  • zeitlich gesteuertes Logging

    • jjj
    • 23. Juli 2013 um 13:37

    wenn dein Problem nur ist, dass zu oft geloggt wird, dann kannst du evtl. so machen:

    Spoiler anzeigen
    [autoit]


    $Datum = "\" & @YEAR & @MON & @MDAY & ".csv"
    $logeintrag = ";" & $DisplayDB_1 & ";" & $DisplayDB_2 & ";" & $DisplayDB_4 & ";" & $DisplayDB_6
    If $i = 0 And @MIN=00 then
    _FileWriteLog(@ScriptDir & $Datum, $logeintrag)
    $i = 1
    ElseIf $i = 0 And @min=10 Then
    _FileWriteLog(@ScriptDir & $Datum, $logeintrag)
    $i = 1
    ElseIf $i = 0 And @min=20 Then
    _FileWriteLog(@ScriptDir & $Datum, $logeintrag)
    $i = 1
    ElseIf $i = 0 And @min=30 Then
    _FileWriteLog(@ScriptDir & $Datum, $logeintrag)
    $i = 1
    ElseIf $i = 0 And @min=40 Then
    _FileWriteLog(@ScriptDir & $Datum, $logeintrag)
    $i = 1
    ElseIf $i = 0 And @min=50 Then
    _FileWriteLog(@ScriptDir & $Datum, $logeintrag)
    $i = 1
    Else
    $i = 0
    EndIf

    [/autoit]
  • Mehrfacher Zwischenspeicher

    • jjj
    • 23. Juli 2013 um 13:17

    ich hab ja nur hotkeys für strg+v und strg+b wobei man die Funktion für strg+v auch weglassen könnte (macht ja das gleiche wie sonst auch).

  • Mehrfacher Zwischenspeicher

    • jjj
    • 23. Juli 2013 um 13:06

    Das folgende Script funktioniert nicht, und ich weiß nicht warum.
    Es soll es ermöglichen, dass man wenn man strg+v drückt der Zwischenspeicher eingefügt wird und wenn man strg+b drückt, das was vorher im Zwischenspeicher war.
    Ich vermute der Fehler liegt in der While-Schleife.

    Spoiler anzeigen
    [autoit]


    Global $teil[2] = ["", ""]

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

    Hotkeyset("^v", "_v") ; könnte man auch weglassen, da auch ohne der aktuelle Zwischenspeicher eingefügt werden würde
    Hotkeyset("^b", "_b")

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

    While 1
    $get = ClipGet() ;Zwischenspeicher auslesen
    sleep(500)
    If Not $get = ClipGet() Then _c() ;Wenn sich in der zwischenzeit der Zwischenspeicer geändert hat(sollte zumindest so sein, ist es irgendwie nicht)
    WEnd

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

    Func _c()
    $teil[1] = $teil[0] ;Alten Zwischenspeicher in Variable
    $teil[0] = ClipGet() ;Neuer Zwischenspeicher in die variable
    EndFunc

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

    Func _v()
    send($teil[0]) ;Neuere Variable senden

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

    EndFunc

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

    Func _b()
    send($teil[1]) ;Ältere Variable senden
    EndFunc

    [/autoit]

    Wahrscheinlich ist es ganz einfach aber ich komm einfach nicht drauf woran das liegt.
    Ich hoffe, ihr wisst das.

  • E-Mail

    • jjj
    • 6. Juli 2013 um 19:48

    Danke, das ist das, was ich gesucht habe.
    Jetzt werde ich noch versuchen alles komplett zu verstehen.
    :)

  • E-Mail

    • jjj
    • 6. Juli 2013 um 12:20

    Wenn das so nicht geht, wie soll es denn dann funktionieren?

  • E-Mail

    • jjj
    • 6. Juli 2013 um 11:48

    danke, aber jetzt wird Fehlercode 51 angezeigt.

    [autoit]


    #include <INet.au3>

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

    Local $s_SmtpServer = "smtpmail.t-online.de"
    Local $s_FromName = "jjj"
    Local $s_FromAddress = "xxx@t-online.de"
    Local $s_ToAddress = "xxx@t-online.de"
    Local $s_Subject = "Test"
    Local $as_Body = "TestTest"
    Local $Response = _INetSmtpMail($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, @computername, -1)
    Local $err = @error
    If $Response = 1 Then
    MsgBox(0, "Erfolg!", "Die E-Mail wurde versandt")
    Else
    MsgBox(0, "Fehler!", "Das versenden der E-Mail schlug fehl. Fehlercode: " & $err)
    EndIf

    [/autoit]
  • E-Mail

    • jjj
    • 5. Juli 2013 um 16:37

    das bringt mich auch nicht weiter.
    Kann mir keiner sagen, was ich konkretes in meinem Code ändern muss? (vielleicht noch das Passwort irgendwo einfügen)
    Und welche angaben meinst du, Smtpserver, oder Emailadresse, oder was? (was den Smtpserver angeht bin ich mir nicht sicher, ob das richtig ist, wo kann man das denn nachgucken?)

  • E-Mail

    • jjj
    • 5. Juli 2013 um 16:19

    Ich hab schon viel gesucht und auch viel gefunden, aber nichts hat mich wirklich ans Ziel gebracht.
    Ich will per Autoit-Script eine E-Mail versenden. Das hier hat mich bisher am weitesten gebracht:

    [autoit]


    #include <INet.au3>

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

    Local $s_SmtpServer = "smtpmail.t-online.de"
    Local $s_FromName = "jjj"
    Local $s_FromAddress = "xxx@t-online.de"
    Local $s_ToAddress = "xxx@t-online.de"
    Local $s_Subject = "Test"
    Local $as_Body = "TestTest"
    Local $Response = _INetSmtpMail($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body)
    Local $err = @error
    If $Response = 1 Then
    MsgBox(0, "Erfolg!", "Die E-Mail wurde versandt")
    Else
    MsgBox(0, "Fehler!", "Das versenden der E-Mail schlug fehl. Fehlercode: " & $err)
    EndIf

    [/autoit]

    Aber es erscheint immer: "Das versenden der E-Mail schlug fehl. Fehlercode: 50"
    Ich weiß nicht warum, hoffentlich könnt ihr helfen.

  • Tcp größere Datenmenge senden

    • jjj
    • 23. Juni 2013 um 21:31

    Werd ich machen, und gute Idee (das mit dem Toturial)

    Ich würde trotzdem gerne wissen, warum es nicht funktioniert hat alles auf einmal zu senden.

  • Tcp größere Datenmenge senden

    • jjj
    • 23. Juni 2013 um 20:08

    Ich habs jetzt geschafft.

    Sender:

    Spoiler anzeigen

    Global $IP = @IPAddress3

    TCPStartup()

    $Befehl = InputBox("Befehl", "Nachricht: 1;Nachricht" & @LF & "Datei Starten: 2;Dateiname"& @LF & "Datei senden: 3;jetziger Dateiname;späterer Dateiname")
    if $Befehl = 3 Then
    $teil = StringSplit($Befehl, ';', 1)
    $Read = FileRead($teil[2])
    $bin = StringToBinary($Read)
    $Befehl = "3;" & $teil[3] & ";"& $bin
    EndIf

    MsgBox(0, "Sender", $Befehl)
    $Socket = TCPListen($IP, 65432)

    Do
    $Connection = TCPAccept($Socket)
    Until $Connection <> -1

    While 1
    $r = StringLeft($Befehl, 1024)
    $Befehl = StringTrimLeft($Befehl, 1024)
    TCPSend($Connection, $r)
    if $Befehl = "" then exitloop
    WEnd
    TCPShutdown()

    Empfänger:

    Spoiler anzeigen

    TCPStartup()
    $IP = "127.0.0.1"

    $Connection = TCPConnect($IP, 65432)
    If $Connection < 0 Then
    MsgBox(16, "Error", "Konnte keine Verbindung herstellen!")
    _Exit()
    EndIf

    $Befehl = ""
    While 1
    $Befehl &= TCPRecv($Connection, 1024)
    if @error then exitloop
    WEnd

    MsgBox(0, "", "Fertig")
    $teil = StringSplit($Befehl, ';')
    Switch $teil[1]
    Case 1
    $msg = $teil[2]
    Case 2
    $msg = "Datei starten"
    ShellExecute($teil[2], @ScriptDir, "open")
    Case 3
    $msg = "Daten Emfangen"
    ConsoleWrite(BinaryToString($teil[3]) & @LF)
    $q = BinaryToString($teil[3])
    FileWrite($teil[2], $q)
    Case Else
    $msg = "Error"
    EndSwitch

    MsgBox(0, "Emfänger", $msg)

    Func _Exit()
    TCPShutdown()
    Exit
    EndFunc

    Danke an alle. :)

  • Tcp größere Datenmenge senden

    • jjj
    • 23. Juni 2013 um 19:09
    Spoiler anzeigen

    Global $IP = @IPAddress3

    TCPStartup()

    $Befehl = InputBox("Befehl", "Nachricht: 1;Nachricht" & @LF & "Datei Starten: 2;Dateiname"& @LF & "Datei senden: 3;jetziger Dateiname;späterer Dateiname")
    if $Befehl = 3 Then
    $teil = StringSplit($Befehl, ';', 1)
    $Read = FileRead($teil[2])
    $bin = StringToBinary($Read)
    $Befehl = "3;" & $teil[3] & ";"& $bin
    EndIf
    MsgBox(0, "Sender", $Befehl)

    $Socket = TCPListen($IP, 65432)

    Do
    $Connection = TCPAccept($Socket)
    Until $Connection <> -1

    TCPSend($Connection, $Befehl)
    TCPShutdown()

    Spoiler anzeigen

    TCPStartup()
    $IP = "127.0.0.1"

    $Connection = TCPConnect($IP, 65432)
    If $Connection < 0 Then
    MsgBox(16, "Error", "Konnte keine Verbindung herstellen!")
    _Exit()
    EndIf
    $Recv=""
    While Sleep(10) ;wartet drauf bis etwas gesendet wird.
    $rec= TCPRecv($Connection, 1024); $recv mit 1 KB-Paketen füllen...

    ;~ If @error Then ExitLoop
    If $rec = "" Then ExitLoop ;....bis keine mehr kommen

    $Recv&=$rec ;alle Pakete aneinanderhängen
    WEnd
    MsgBox(0, "", "Fertig")
    $teil = StringSplit($Recv, ';')
    Switch $teil[1]
    Case 1
    $msg = $teil[2]
    Case 2
    $msg = "Datei starten"
    ShellExecute($teil[2], @ScriptDir, "open")
    Case 3
    $msg = "Daten Emfangen"
    ConsoleWrite(BinaryToString($teil[3]) & @LF)
    $q = BinaryToString($teil[3])
    FileWrite($teil[2], $q)
    Case Else
    $msg = "Error"
    EndSwitch

    MsgBox(0, "Emfänger", $msg)

    Func _Exit()
    TCPShutdown()
    Exit
    EndFunc


    meistens kommt gar nichts an. (die letzten 10 mal ausprobieren)

  • Tcp größere Datenmenge senden

    • jjj
    • 23. Juni 2013 um 18:44

    jetzt kommen aber nur 1024 Zeichen an!
    Aber Meißtens gar nichts!

  • Tcp größere Datenmenge senden

    • jjj
    • 23. Juni 2013 um 14:59

    wie kommst du auf

    Zitat

    While Sleep(10) ;wartet drauf bis etwas gesendet wird.


    ich hab nichts dazu gefunden, könntest du mir mal den Link dazu schicken?
    Und jetzt passiert gar nichts mehr, an der stelle, an der das Script warten sollte, bis alles angekommen ist, wartet der jetzt wirklich sehr lange, ohne das etwas passiert.

  • Tcp größere Datenmenge senden

    • jjj
    • 23. Juni 2013 um 14:02

    keine Ahnung (schaden tust jedenfalls nicht)! Ich habs jetzt raus genommen, aber es ändert nichts.
    Es kommen immer noch nur ca. 3000 Zeilen an, und nicht 10000.

  • Tcp größere Datenmenge senden

    • jjj
    • 23. Juni 2013 um 11:54

    auch das erhöhen der Byte Zahl hat nichts gebracht

  • Tcp größere Datenmenge senden

    • jjj
    • 23. Juni 2013 um 11:31

    Ich hab den zweiten Vorschlag mal getestet, und 2 mal die gleiche .exe versendet, aber das komische ist: einmal sind 80 Zeilen und einmal 38 Zeilen von insgesamt 10455 Zeilen angekommen. ich habs noch ein par mal öfter ausprobiert und es kommen immer zwischen 20 und 1200 Zeilen an.

  • Tcp größere Datenmenge senden

    • jjj
    • 23. Juni 2013 um 11:01

    Weiß denn wirklich keiner woran das liegt? :(

  • Tcp größere Datenmenge senden

    • jjj
    • 21. Juni 2013 um 17:11

    Ich hab ein Problem mit TCP. Ich habe folgendes geschrieben,

    Spoiler anzeigen


    Global $IP = @IPAddress3

    TCPStartup()

    $Befehl = InputBox("Befehl", "Nachricht: 1;Nachricht" & @LF & "Datei Starten: 2;Dateiname"& @LF & "Datei senden: 3;jetziger Dateiname;späterer Dateiname")
    if $Befehl = 3 Then
    $teil = StringSplit($Befehl, ';', 1)
    $Read = FileRead($teil[2])
    Local $bin = StringToBinary($Read)
    ConsoleWrite($bin & @LF)
    $Befehl = "3;" & $teil[3] & ";"& $bin
    EndIf

    MsgBox(0, "Sender", $Befehl)

    $Socket = TCPListen($IP, 65432)

    Do
    $Connection = TCPAccept($Socket)
    Until $Connection <> -1

    TCPSend($Connection, $Befehl)
    TCPShutdown()

    Spoiler anzeigen


    TCPStartup()
    $IP = "127.0.0.1"

    $Connection = TCPConnect($IP, 65432)
    If $Connection < 0 Then
    MsgBox(16, "Error", "Konnte keine Verbindung herstellen!")
    _Exit()
    EndIf
    $Recv = TCPRecv($Connection, 1000000)
    sleep(1000)
    $teil = StringSplit($Recv, ';')
    Switch $teil[1]
    Case 1
    $msg = $teil[2]
    Case 2
    $msg = "Datei starten"
    ShellExecute($teil[2], @ScriptDir, "open")
    Case 3
    $msg = "Daten Emfangen"
    ConsoleWrite(BinaryToString($teil[3]) & @LF)
    $q = BinaryToString($teil[3])
    FileWrite($teil[2], $q)
    Case Else
    $msg = "Error"
    EndSwitch

    MsgBox(0, "Emfänger", $msg)

    Func _Exit()
    TCPShutdown()
    Exit
    EndFunc

    aber es funktioniert nur manchmal. wenn ich größere Dateien sende, wie compillierte scripte, dann kommt nur ein kleiner teil an.
    Ich hoffe, ihr könnt mir sagen, woran das liegt, und mir eine Lösung geben.

  • fileOpen 16

    • jjj
    • 21. Juni 2013 um 14:22

    Danke, das wars :)

    (glaube ich)

    Spoiler anzeigen


    Global $IP = @IPAddress3

    TCPStartup()

    $Befehl = InputBox("Befehl", "Nachricht: 1;Nachricht" & @LF & "Datei Starten: 2;Dateiname"& @LF & "Datei senden: 3;jetziger Dateiname;späterer Dateiname")
    if $Befehl = 3 Then
    $teil = StringSplit($Befehl, ';', 1)
    $Read = FileRead($teil[2])
    Local $bin = StringToBinary($Read)
    ConsoleWrite($bin & @LF)
    $Befehl = "3;" & $teil[3] & ";"& $bin
    EndIf

    MsgBox(0, "Sender", $Befehl)

    $Socket = TCPListen($IP, 65432)

    Do
    $Connection = TCPAccept($Socket)
    Until $Connection <> -1

    TCPSend($Connection, $Befehl)
    TCPShutdown()

    Spoiler anzeigen


    TCPStartup()
    $IP = "127.0.0.1"

    $Connection = TCPConnect($IP, 65432)
    If $Connection < 0 Then
    MsgBox(16, "Error", "Konnte keine Verbindung herstellen!")
    _Exit()
    EndIf
    $Recv = TCPRecv($Connection, 100000)
    sleep(1000)
    $teil = StringSplit($Recv, ';')
    Switch $teil[1]
    Case 1
    $msg = $teil[2]
    Case 2
    $msg = "Datei starten"
    ShellExecute($teil[2], @ScriptDir, "open")
    Case 3
    $msg = "Daten Emfangen"
    ConsoleWrite(BinaryToString($teil[3]) & @LF)
    $q = BinaryToString($teil[3])
    FileWrite($teil[2], $q)
    Case Else
    $msg = "Error"
    EndSwitch

    MsgBox(0, "Emfänger", $msg)

    Func _Exit()
    TCPShutdown()
    Exit
    EndFunc

    das wars, jetzt läuft alles, wie es soll!
    danke!
    naja fast, es funktioniert nur bei sehr kleinen Dateien, das passt jetzt zwar nichtmehr zum Thema, aber wenn mir jemand sagen könnte, wo ich die Lösung für das Problem finde wäre ich echt dankbar.

  • fileOpen 16

    • jjj
    • 21. Juni 2013 um 08:56

    danke, aber da ich est vor ein par tagen it autoit angefangen habe, verstehe ich nicht all zu viel davon.
    So sieht das bisherige Programm aus:

    Global $IP = @IPAddress3

    TCPStartup()

    $Befehl = InputBox("Befehl", "Nachricht: 1;Nachricht" & @LF & "Datei Starten: 2;Dateiname"& @LF & "Datei senden: 3;jetziger Dateiname;späterer Dateiname")
    if $Befehl = 3 Then
    $teil = StringSplit($Befehl, ';', 1)
    $Read = FileRead($teil[2])
    $Befehl = "3;" & $teil[3] & ";"& $Read
    EndIf

    MsgBox(0, "Sender", $Befehl)

    $Socket = TCPListen($IP, 65432)

    Do
    $Connection = TCPAccept($Socket)
    Until $Connection <> -1

    TCPSend($Connection, $Befehl)
    TCPShutdown()


    und:


    TCPStartup()
    $IP = "127.0.0.1"

    $Connection = TCPConnect($IP, 65432)
    If $Connection < 0 Then
    MsgBox(16, "Error", "Konnte keine Verbindung herstellen!")
    _Exit()
    EndIf
    $Recv = TCPRecv($Connection, 100000)
    sleep(1000)
    $teil = StringSplit($Recv, ';')
    Switch $teil[1]
    Case 1
    $msg = $teil[2]
    Case 2
    $msg = "Datei starten"
    ShellExecute($teil[2], @ScriptDir, "open")
    Case 3
    $msg = "Daten Empfangen"
    FileWrite($teil[2], $teil[3])
    Case Else
    $msg = "Error"
    EndSwitch

    MsgBox(0, "Empfänger", $msg)

    Func _Exit()
    TCPShutdown()
    Exit
    EndFunc


    Funktioniert auch soweit, nur eben nicht für exe, oder jpg Dateien ect.
    im ersten teil bekomme ich das von oben auch eingebaut.

    gibt es keine EINFACHE Lösung, bei der man nur zwei zeilen oder so einfügen muss, damit die gesendete Datei wieder "normal" wird?

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™