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

Beiträge von wwasow

  • Eingebundene Dateien verwenden

    • wwasow
    • 13. März 2018 um 07:46

    Aaach jetzt funktioniert es!

    Mit Unterordner (der unbedingt bereits vorhanden sein muss) klappt es jetzt :)


    Kann mir noch jemand erklären, was der Unterschied zwischen der FileInstall Methode und dem Res Add Files im Wrapper ist?

  • Eingebundene Dateien verwenden

    • wwasow
    • 13. März 2018 um 07:38

    Hi gmmg,

    danke für deine schnelle Antwort :)
    Allerdings ist das Packen selbst ja nicht mein Problem, das klappt einwandfrei.

    Die Frage ist, wie kann ich die eingebundenen 7ZIP Dateien irgendwo hin packen (z.B. mit FileInstall) und dann dort darauf zugreifen.

    Obiges Beispiel von mir packt die 7ZIP Files leider nirgendwo hin und ich weiß nicht wieso..

  • Eingebundene Dateien verwenden

    • wwasow
    • 12. März 2018 um 08:03

    Hi Leute,

    ich bin mit meinem Thema allmählich am verzweifeln, ist es wahrscheinlich doch total leicht zu lösen.

    Trotzdem habe ich nach fast 2h googlen mein Problem nicht in den Griff bekommen.

    Ganz einfach, ich erstelle eine Anwendung, die Dateien von A nach B kopiert und anschließend zippt.

    Das klappt auch alles einwandfrei.

    Allerdings möchte ich die 7ZIP Files auch einbinden, sodass ich nur eine EXE zur Verfügung stellen muss.

    Aus dem Skript heraus soll dann auf die eingebundenen 7ZIP Files für den ZIP-Vorgang zugegriffen werden.

    Erst hatte ich die Files im Wrapper unter "Res Add Files" angegeben. Nach einigem recherchieren bin ich dann auf die FileInstall Funktion gestoßen.

    Das Einbinden klappt auch, das EXE File ist anschließend entsprechend größer.


    Ich habe gelernt, dass das direkte Ausführen aus dem Memory nicht ganz trivial, aber möglich ist. Also bleibt noch, die Files z.B. in das aktuelle Verzeichnis oder nach TEMP zu entpacken und dort aufzurufen.

    Was ich jedoch nicht herausfinden konnte, wie ich auf die eingebundenen Files zugreifen kann. Es wird einfach immer nach den 7ZIP Files im aktuellen Verzeichnis gesucht. Sind sie dort nicht schon vorhanden, klappt das zippen nicht.


    Wenn ich versuche, die Files in das aktuelle Verzeichnis via FileInstall zu "installieren" klappt es ebenso wenig.

    AutoIt
    ;EXTRACT 7ZIP FILES TO SCRIPT DIR
    FileInstall("7z.exe",@ScriptDir & "\7z.exe", 1)
    FileInstall("7z.dll",@ScriptDir & "\7z.dll", 1)
    
    Local $vZIPcommand = "7z a -r -t7z -mx0 -xr!backup -mx=9 -m0=lzma2 -aoa -ms=on -mhe=on -p'werwerwer' "& $vHostname & "_" &  $vTimeStamp & ".7z " & $vTarget
    RunWait(@ComSpec & " /c " & $vZIPcommand, @ScriptDir)

    Mir ist die Sache echt peinlich denn es kann doch nicht so schwer sein, auf eingebundene Files zuzugreifen ?(

    Kann mir bitte jemand einen Tipp geben, was ich falsch mache? :(

  • ControlGetText --> wie ist die richtige Form?

    • wwasow
    • 17. Juli 2009 um 08:21

    Ja geil, das is es :)

    Super!!

    Vielen Dank Stefan!


    Jetzt muss ich das nurnoch in ein anderes Feld hinter anderen Text reinkopiern :)
    Mal schaun ob ich das hinbekomm *g*

  • ControlGetText --> wie ist die richtige Form?

    • wwasow
    • 17. Juli 2009 um 08:02
    Zitat von ojo

    ControlGetText ("Inventarerfassung","","[CLASSNN:TBDEdit5]")

    Ansonsten poste mal Screenshot von dem Fenster. Kann es sein, dass das gffs eine Combobox oder ein Listview ist? Dann ist Dein Control erst dann richtig ausgelesen, wenn Du nicht in das Eingabe Feld klickst, sondern (bei Combobox) auf den Pfeil.

    Wieder ein leerer String :(

    Es handelt sich lediglich um ein normales Textfeld.
    Aber kann es sein, dass es damit zu tun hat, dass das Textfeld auf dem TabControll liegt?

    [Blockierte Grafik: http://www.abload.de/thumb/windowcapture34hnqp.png]

  • ControlGetText --> wie ist die richtige Form?

    • wwasow
    • 17. Juli 2009 um 07:33

    Hey ich krieg jetzt immerhin eine "0" zurück :)

    Nur leider steht in dem Feld nich 0 sondern 766 *g*

  • ControlGetText --> wie ist die richtige Form?

    • wwasow
    • 17. Juli 2009 um 06:43

    Hi Stefan,

    danke für deine Antwort :)

    Leider krieg ich trotzdem einen leeren String zurück :(

  • ControlGetText --> wie ist die richtige Form?

    • wwasow
    • 16. Juli 2009 um 14:49

    Hallo zusammen,

    ich hab ein Problem mit dieser ControlGetText Geschichte.
    Ich möchte aus einer externen Anwendung den Inhalt aus einer Textbox auslesen.
    Zum testen lass ich mir das Ergebnis in einer Msgbox ausgeben.

    Ich bekomm immer einen leeren String (also @error = 1) zurück.

    Die Hilfe find ich eigentlich nur verwirrend, da dort x verschiedene Möglichkeiten beschrieben sind wie man das Feld eindeutig identifizieren kann.
    Allerdings krieg ich mit keiner Methode den Inhalt her :(

    Deshalb hier mal die Informationen die mir das Info Tool gibt.. vielleicht kriegt ja einer von Euch die richtige Codezeile zusammengebastelt..

    >>>> Window <<<<
    Title: Inventarerfassung
    Class: TdlgAsset
    Position: 244, 149
    Size: 791, 725
    Style: 0x96C00000
    ExStyle: 0x00000101
    Handle: 0x0136080C

    >>>> Control <<<<
    Class: TDBEdit
    Instance: 5
    ClassnameNN: TDBEdit5
    Advanced (Class): [CLASS:TDBEdit; INSTANCE:5]
    ID: 19402684
    Text: 766
    Position: 99, 226
    Size: 220, 21
    ControlClick Coords: 95, 9
    Style: 0x540100C0
    ExStyle: 0x00000200
    Handle: 0x01280FBC


    Schonmal vielen Dank für jede Hilfe :)

  • Minimize to Tray

    • wwasow
    • 8. Mai 2009 um 05:49

    Hi Greenhorn,

    einen kleinen Schritt bin ich weiter (danke :) ), aber egal was ich mach, die Anwendung wird immer kurz gestartet und sofort wieder beendet 8|
    Man sieht weder die GUI noch ein TrayIcon.. geht alles ratzfatz *g*

    Um dieses Programm handelt es sich..
    [ offen ] Pingen und Logfile bei Statusänderung schreiben


    Gruß, Raylow

  • Minimize to Tray

    • wwasow
    • 6. Mai 2009 um 06:57

    Hi Greenhorn,

    danke für den Hinweis.
    Bin leider trotzdem nich wesentlich weiter gekommen *g*

    C:\Program Files\AutoIt3\Include\ModernMenu.au3(23,72) : ERROR: $SRCCOPY previously declared as a 'Const'
    If Not IsDeclared("SRCCOPY") Then Global Const $SRCCOPY = 0x00CC0020
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(30,75) : ERROR: $WM_DRAWITEM previously declared as a 'Const'
    If Not IsDeclared("WM_DRAWITEM") Then Global Const $WM_DRAWITEM = 0x002B
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(31,81) : ERROR: $WM_MEASUREITEM previously declared as a 'Const'
    If Not IsDeclared("WM_MEASUREITEM") Then Global Const $WM_MEASUREITEM = 0x002C
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(33,68) : ERROR: $WM_USER previously declared as a 'Const'
    If Not IsDeclared("WM_USER") Then Global Const $WM_USER = 0x0400
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(34,71) : ERROR: $WM_TIMER previously declared as a 'Const'
    If Not IsDeclared("WM_TIMER") Then Global Const $WM_TIMER = 0x0113
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(44,71) : ERROR: $SM_CXSMICON previously declared as a 'Const'
    If Not IsDeclared("SM_CXSMICON") Then Global Const $SM_CXSMICON = 49
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(45,77) : ERROR: $SM_CXMENUCHECK previously declared as a 'Const'
    If Not IsDeclared("SM_CXMENUCHECK") Then Global Const $SM_CXMENUCHECK = 71
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(56,78) : ERROR: $DT_VCENTER previously declared as a 'Const'
    If Not IsDeclared("DT_VCENTER") Then Global Const $DT_VCENTER = 0x00000004
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(57,76) : ERROR: $DT_BOTTOM previously declared as a 'Const'
    If Not IsDeclared("DT_BOTTOM") Then Global Const $DT_BOTTOM = 0x00000008
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(58,83) : ERROR: $DT_SINGLELINE previously declared as a 'Const'
    If Not IsDeclared("DT_SINGLELINE") Then Global Const $DT_SINGLELINE = 0x00000020
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(59,76) : ERROR: $DT_NOCLIP previously declared as a 'Const'
    If Not IsDeclared("DT_NOCLIP") Then Global Const $DT_NOCLIP = 0x00000100
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(61,69) : ERROR: $COLOR_MENU previously declared as a 'Const'
    If Not IsDeclared("COLOR_MENU") Then Global Const $COLOR_MENU = 4
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(62,76) : ERROR: $COLOR_MENUTEXT previously declared as a 'Const'
    If Not IsDeclared("COLOR_MENUTEXT") Then Global Const $COLOR_MENUTEXT = 7
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(63,78) : ERROR: $COLOR_HIGHLIGHT previously declared as a 'Const'
    If Not IsDeclared("COLOR_HIGHLIGHT") Then Global Const $COLOR_HIGHLIGHT = 13
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(64,85) : ERROR: $COLOR_HIGHLIGHTTEXT previously declared as a 'Const'
    If Not IsDeclared("COLOR_HIGHLIGHTTEXT") Then Global Const $COLOR_HIGHLIGHTTEXT = 14
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(65,77) : ERROR: $COLOR_GRAYTEXT previously declared as a 'Const'
    If Not IsDeclared("COLOR_GRAYTEXT") Then Global Const $COLOR_GRAYTEXT = 17
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(210,77) : ERROR: $WM_MOUSEMOVE previously declared as a 'Const'
    If Not IsDeclared("WM_MOUSEMOVE") Then Global Const $WM_MOUSEMOVE = 0x0200
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files\AutoIt3\Include\ModernMenu.au3(212,77) : ERROR: $WM_LBUTTONUP previously declared as a 'Const'
    If Not IsDeclared("WM_LBUTTONUP") Then Global Const $WM_LBUTTONUP = 0x0202
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    H:\_AutoIt\ping_assi.au3 - 18 error(s), 0 warning(s)


    WTF? 8|

    Hab die ModernMenu included.. sonst nüscht...

  • Minimize to Tray

    • wwasow
    • 5. Mai 2009 um 14:11

    Hallo zusammen,

    leider ist mir dieses Thema noch etwas unklar.

    Ich möchte meine Anwendung (welche normal kein Trayicon besitzt) durch einen Klick auf den Minimieren Button
    in den Tray minimieren (keine Anzeige mehr in der Taskleiste).

    Hab meiner GUI am Anfang noch Folgendes mitgegeben..

    [autoit]


    Opt("TrayIconHide", 1) ;Icon beim Start verstecken
    Opt("TrayMenuMode",1) ;WENN das Tray angezeigt wird, Standardtraymenüeinträge (Script pausieren/beenden) nicht anzeigen

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

    GUISetOnEvent($GUI_EVENT_MINIMIZE,"Form1_1Minimize") ;wenn Minimieren-Button gedrückt wird Funktion "Form1_1Minimize" ausführen

    [/autoit]

    Das mit dem Minimieren in den Tray funzt einwandfrei.
    Nur was ich nich versteh, wo muss ich was tipseln, damit die Anwendung bei einem Single-Click auf das Trayicon wieder angezeigt wird?? ?(

    Also Trayicon ausblenden und in Taskleiste wieder einblenden..


    Viiiieeelen Dank Leute :)

  • Pingen und Logfile bei Statusänderung schreiben

    • wwasow
    • 30. April 2009 um 11:17

    Sooo ich dachte ich geb der Community mal bissl was zurück ;)
    Hier die aktuelle Version..
    Der Code is sicherlich noch verbesserungsfähig (gell funkey :rolleyes: ) aber es läuft 8)


    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #cs-----------------------------------------------------------------------------------------------------------
    | Author: Raylow (Special thx to "funkey" --> http://www.autoit.de)
    | Date: 23.04.2009
    | Script Version: 2.1.0.1
    |
    |
    #ce-----------------------------------------------------------------------------------------------------------

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

    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=Netzwerkverbindung.ico
    #AutoIt3Wrapper_Res_Description=Application to ping a host periodically
    #AutoIt3Wrapper_Res_Fileversion=2.1.0.1
    #AutoIt3Wrapper_Res_Icon_Add=paste.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    #include <GUIConstantsEx.au3>
    #include <ButtonConstants.au3>
    #include <File.au3>
    #include <windowsconstants.au3>

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

    Global $ping = -1, $pingCopy = -2
    Global $intervall = "10"
    Global $date= @YEAR & "-" & @MON & "-" & @MDAY
    Global $stopped = 0 ;wird das Pingen nicht gestoppt bevor die Anwendung beendet wird, ist $stopped = 0. Wenn $stopped = 0 ist, wird der Stopvorgang beim beenden der Anwendung geloggt
    Global $path = ""
    $StartFolder = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"

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

    Opt("GUIOnEventMode", 1)

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

    $Form1_1 = GUICreate("Ping-Assi", 247, 145, 240, 300)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1_1Close")
    GUISetState(@SW_SHOW)

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

    $Label1 = GUICtrlCreateLabel("Host to ping", 8, 8, 80, 17)
    $Label2 = GUICtrlCreateLabel("Intervall", 160, 8, 38, 17)
    $Label3 = GUICtrlCreateLabel("Logfile Path", 8, 58, 98, 17)

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

    Global $Input1 = GUICtrlCreateInput($Input1, 8, 24, 105, 21)
    ControlFocus($Form1_1, "",$Input1)
    Global $Input2 = GUICtrlCreateInput($intervall, 160, 24, 32, 21)
    Global $Input3 = GUICtrlCreateInput("", 8, 74, 194, 21)

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

    Global $Button1 = GUICtrlCreateButton("Start", 8, 104, 114, 30, $BS_DEFPUSHBUTTON)
    GUICtrlSetOnEvent(-1, "Button1Click")
    Global $Button2 = GUICtrlCreateButton("Stop", 126, 104, 114, 30)
    GUICtrlSetOnEvent(-1, "Button2Click")
    GUICtrlSetState($Button2, $GUI_DISABLE)
    Global $Button3 = GUICtrlCreateButton("...", 205, 74, 35, 21)
    GUICtrlSetOnEvent(-1, "Button3Click")
    Global $Button4 = GUICtrlCreateButton("", 115, 24, 35, 21, $BS_ICON)
    GUICtrlSetImage($Button4, @ScriptFullPath, -5, 0)
    GUICtrlSetOnEvent(-1, "Button4Click")
    Global $Button5 = GUICtrlCreateButton("?", 225, 8, 15, 17)
    GUICtrlSetOnEvent(-1, "Button5Click")

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

    While 1
    Sleep(5000)
    WEnd

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

    Func Button5Click()
    MsgBox(64, "About Ping-Assi", "This programm was written by Raylow ([email='raylow.com@gmail.com'][/email]). Special thx to "funkey" --> http://www.autoit.de")
    ControlFocus($Form1_1, "",$Input1)
    EndFunc

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

    Func Button4Click()
    GUICtrlSetData($Input1, ClipGet())
    EndFunc

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

    Func Button3Click()
    Dim $fileName

    If GUICtrlRead($Input1) = "" Then
    $var = FileSaveDialog("Save logfile..", $StartFolder, "Logfile (*.*)", 16, "log.txt")
    Else
    $var = FileSaveDialog("Save logfile..", $StartFolder, "Logfile (*.*)", 16, StringReplace(GUICtrlRead($Input1), ".", "_") & ".txt")
    EndIf


    If @error Then

    Else
    GUICtrlSetData($Input3, $var)
    EndIf
    EndFunc

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

    Func Button1Click()
    If GUICtrlRead($Input1) <> "" Then
    Global $IP = StringReplace(GUICtrlRead($Input1), ".", "_")
    If GUICtrlRead($Input3) = "" Then
    Global $logfile = $IP & ".txt"
    Else
    Global $logfile = GUICtrlRead($Input3)
    EndIf

    Local $IPAdresse = GUICTrlRead($Input1)
    $ping = Ping($IPAdresse, 1800)
    _FileWriteLog($logfile, '----- ' & 'STARTED' & ' -----')
    _FileWriteLog($logfile, $IPAdresse & ' | ' & $ping)
    $pingCopy = $ping

    AdlibEnable('_Zyklus', GUICtrlRead($Input2 *1000))
    GUICtrlSetState($Button1, $GUI_DISABLE)
    GUICtrlSetState($Button2, $GUI_ENABLE)
    GUICtrlSetState($Button3, $GUI_DISABLE)
    GUICtrlSetState($Button4, $GUI_DISABLE)
    GUICtrlSetState($Input1, $GUI_DISABLE)
    GUICtrlSetState($Input2, $GUI_DISABLE)
    GUICtrlSetState($Input3, $GUI_DISABLE)
    Else
    MsgBox(16,"Missing Input","Be sure to set the host to ping and an intervall!")
    EndIf
    EndFunc

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

    Func Button2Click()
    _FileWriteLog($logfile, '----- ' & 'STOPPED' & ' -----')
    $stopped = 2
    AdlibDisable()
    GUICtrlSetState($Button1, $GUI_ENABLE)
    GUICtrlSetState($Button2, $GUI_DISABLE)
    GUICtrlSetState($Button3, $GUI_ENABLE)
    GUICtrlSetState($Button4, $GUI_ENABLE)
    GUICtrlSetState($Input1, $GUI_ENABLE)
    GUICtrlSetState($Input2, $GUI_ENABLE)
    GUICtrlSetState($Input3, $GUI_ENABLE)
    EndFunc

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

    Func _Zyklus()
    Local $IPAdresse = GUICTrlRead($Input1)
    $ping = Ping($IPAdresse)
    $stopped = 1
    If $ping <> $pingCopy Then _FileWriteLog($logfile, $IPAdresse & ' | ' & $ping)
    $pingCopy = $ping
    EndFunc

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

    Func Form1_1Close()
    If $stopped = 1 Then
    _FileWriteLog($logfile, '----- ' & 'STOPPED' & ' -----')
    Else

    EndIf

    Exit
    EndFunc

    [/autoit]
  • Pingen und Logfile bei Statusänderung schreiben

    • wwasow
    • 27. April 2009 um 11:26

    Super, vielen Dank für deine Hilfe!!

  • Pingen und Logfile bei Statusänderung schreiben

    • wwasow
    • 27. April 2009 um 08:50

    Funzt einwandfrei! Danke :thumbup:

    Wie kann ich denn in das Logfile hinter die Uhrzeit noch die angepingte IP reinschreiben (aus Input1)?
    Inhalt des Logfiles scheint ja $test zu sein...

  • Pingen und Logfile bei Statusänderung schreiben

    • wwasow
    • 27. April 2009 um 07:28

    Soo da meld ich mich nochmal :)

    Leider hab ich grad festgestellt, dass das Logfile nur erstellt wird, wenn der Host erreichbar ist. Solange er nicht erreichbar ist, erstellt er keine Logdatei 8|

  • Pingen und Logfile bei Statusänderung schreiben

    • wwasow
    • 23. April 2009 um 13:55

    Ui, auch nich schlecht :thumbup:

  • Pingen und Logfile bei Statusänderung schreiben

    • wwasow
    • 23. April 2009 um 13:08

    Wow, genial!! Vielen Dank!!!

    Werd das noch bissl weiterbasteln und wenn ich fertig bin ma hier posten.. falls es noch andere interessiert :)

  • Pingen und Logfile bei Statusänderung schreiben

    • wwasow
    • 23. April 2009 um 12:38

    Leider klappt das mit der GUI nich ganz wie ich mir das vorgestellt hab... bzw. garnich *g*

    Die GUI reagiert fast garnich und geloggt wird wohl auch nichts mehr..

    Button1 soll die Schleife starten und laufen lassen solange $stop ungleich 1 ist.
    Button2 soll die Schleife stoppen indem $stop auf 1 gesetzet wird..
    Ich weiß, nich sonderlich schön, aber das war so meine erste Idee *g*

    P.S.: wie kann ich denn meinen Code so verkürzen (Spoiler), wie Du das gemacht hast Funkey?


    [autoit]


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

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

    Local $ip = '192.168.2.1'
    Local $logfile = "log.txt"
    Local $test, $testCopy, $msg, $stop
    Local $intervall = "10000"

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

    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=form1.kxf
    $Form1_1 = GUICreate("Form1", 415, 186, 239, 155)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1_1Close")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1_1Minimize")
    GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1_1Maximize")
    GUISetOnEvent($GUI_EVENT_RESTORE, "Form1_1Restore")
    $Label1 = GUICtrlCreateLabel("Host", 8, 8, 26, 17)
    GUICtrlSetOnEvent(-1, "Label1Click")
    $Input1 = GUICtrlCreateInput($ip, 8, 24, 121, 21)
    GUICtrlSetOnEvent(-1, "Input1Change")
    GUICtrlSetOnEvent(-1, "Updown1Change")
    $Input2 = GUICtrlCreateInput($intervall, 168, 24, 33, 21)
    GUICtrlSetOnEvent(-1, "Input2Change")
    $Button1 = GUICtrlCreateButton("Button1", 32, 96, 105, 49, 0)
    GUICtrlSetOnEvent(-1, "Button1Click")
    $Button2 = GUICtrlCreateButton("Button2", 184, 96, 97, 49, 0)
    GUICtrlSetOnEvent(-1, "Button2Click")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    Sleep(100)
    WEnd

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

    Func Button1Click()

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

    While $stop <> "1"
    $test = Ping($Input1)
    If $test <> $testCopy Then _FileWriteLog($logfile,$test)
    $testCopy = $test
    Sleep($Input2)
    WEnd

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

    EndFunc

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

    Func Button2Click()
    $stop = "1"
    EndFunc

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

    Func Form1_1Close()
    EXIT
    EndFunc

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

    Func Form1_1Maximize()

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

    EndFunc
    Func Form1_1Minimize()

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

    EndFunc
    Func Form1_1Restore()

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

    EndFunc

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

    Func Input1Change()

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

    EndFunc

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

    Func Input2Change()

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

    EndFunc

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

    Func Label1Click()

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

    EndFunc

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

    Func Updown1Change()

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

    EndFunc

    [/autoit]
  • Pingen und Logfile bei Statusänderung schreiben

    • wwasow
    • 23. April 2009 um 11:39

    Hi Funkey,

    danke für Deine Antwort.
    Genau das wars :thumbup:

    Dass das so simpel is... echt klasse :)

    Mal schaun ob ich da noch bissl was GUIges drumrum gebastelt bekomm :)

  • Pingen und Logfile bei Statusänderung schreiben

    • wwasow
    • 23. April 2009 um 11:11

    Hallo zusammen,

    hab vor einer Stunde mit AutoIt angefangen weil ich folgendes verwirkliche möchte.

    Eine Anwendung die eine IP-Adresse anpingt (im Intervall von 10 Sekunden) und nur loggt, wenn sich die Erreichbarkeit ändert.
    Sprich, wenn der PC von erreichbar auf unerreichbar wechselt oder andersrum (sonst wird das Logfile zu dick)..


    Folgende Probleme hab ich..

    - wenn sich der Status ändert, erscheinen immernoch die selben MsgBoxen (mit dem alten Status)
    - nur beim ersten Durchlauf wird geloggt, danach nicht mehr (obwohl die MsgBox angezeigt wird 8| )


    [autoit]


    $ip = "192.168.2.1"
    $var = Ping("192.168.2.1",800)
    $intervall = 10000
    $file1 = FileOpen("test.txt", 1)
    $date = @YEAR & @MON & @MDAY
    $time = @HOUR & ":" & @MIN & ":" & @SEC

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

    Do
    If $var Then
    Msgbox(0,"Status","Online, roundtrip was:" & $var)
    FileWriteLine($file1, $date & " " & $time & " - " & $ip & " - " & $var)
    FileClose($file1)
    Else
    Msgbox(0,"Status","An error occured with number: " & @error)
    FileWriteLine($file1, $date & " " & $time & " - " & $ip & " - " & $var)
    FileClose($file1)
    EndIf

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

    Sleep($intervall)
    Until $ip = ""

    [/autoit]


    Schonmal vielen Dank für jede Hilfe :)


    Grüße, Alex

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™