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

Beiträge von Camulus

  • wohin mit der Funktion

    • Camulus
    • 26. Januar 2012 um 16:27

    O.k. das nächste mal.
    Hatte ich vorher nicht gesehen.

  • wohin mit der Funktion

    • Camulus
    • 26. Januar 2012 um 15:29

    Also um das "pushen" zu erklären.
    Ich dachte ich hätte die Lösung gefunden und hab das in den Thread reingeschrieben und ihn als gelöst markiert. Funtioniert hatte es aber nicht, deswegen hab ich den Betrag wieder "geleert" und den Thread wieder auf offen gesetzt.
    Wenn jetzt manche Leute meinen sie müssten deswegen den Thread ignorieren dann sollen sie das tun. Mir schien das die beste Möglichkeit zu sein. Ich finde solche "Du hast gepusht jetzt red ich nicht mehr mit dir" Beiträge genauso "sinnfrei". Es könnte ja durchaus möglich sein dass der Verfasser garnicht die Absicht hatte zu pushen!
    Nichts desto trotz lass ich mich auch gerne belehren. Wie hätte ich es denn sonst in so einem fall machen sollen?

    @Protex:
    Rufe ich den Pingtest so wie es ist nicht als letztes auf?
    Es ist ja zumindest das letzte was ohne Usereingabe passiert. Momentan ist es so dass die Eingabefelder erscheinen und der Cursor anfängt zu blinken und dann rennt im 5 Sekunden Abstand der Test los.
    Wenn die User jetzt ihre Credentials eingeben ruckelt alles halt ein bißchen und das würde ich gerne verhindern. Wenn ich den Test jetzt ans Ende setze (nach dem Verbindungsaufbau) ist mein $childform nicht mehr aktiv und der Button (trennen) funktioniert nicht mehr.

    Aufräumen? Wie würdest du es denn "aufbauen". Ich dachte es wäre so übesichtlich oder zumindest nachvollziehbar.

  • wohin mit der Funktion

    • Camulus
    • 26. Januar 2012 um 13:57

    -ist doch noch nicht gelöst.

  • wohin mit der Funktion

    • Camulus
    • 26. Januar 2012 um 13:39

    Hi,

    ich habe gerade in meinem Script einen Fehler entdeckt:

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=world.ico
    #AutoIt3Wrapper_Outfile=exe\FirmaConnect.exe
    #AutoIt3Wrapper_Res_Comment=Firma Connect stellt eine VPN Verbindung zu Firmaher.
    #AutoIt3Wrapper_Res_Description=FirmaConnect
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=Copyright © 2010 IT
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 1.0.0.0
    Author: Boris Wagener

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

    Script Function:
    Template AutoIt script.

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

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

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

    FileInstall("PKV.jpg", "C:\Firma\FirmaConnect\PKV.jpg", 1)
    FileInstall("world.ico", "C:\Firma\FirmaConnect\world.ico", 1)
    FileInstall("Logon.wav", "C:\Firma\FirmaConnect\Logon.wav", 1)

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

    ; Script Start - Add your code below here

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

    #include <Inet.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include <Process.au3>
    #include <date.au3>
    #include <GuiEdit.au3>

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

    ;############################################################################################################################################################

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

    ; Wechsle in den OnEvent Modus
    Opt("GUIOnEventMode", 1)

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Variablendeklaration
    $ProgramNameVersion = "FirmaConnect -Köln- " & FileGetVersion(@AutoItExe)
    $Testdomain = "www.google.de"
    $Testserver = "dc.firma.intern"
    $User = @UserName
    $LogonServer = @LogonServer

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

    $FileName = @ScriptDir & "\Logon_" & @YEAR & @MON & @MDAY & "_" & @HOUR & @MIN & @SEC & ".log"

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

    ; Die werden alle gebraucht und müssen vorher deklariert werden weil die GUIs in Functions ereugt werden
    Global $Mainform, $Childform, $fortschritt, $Pic1, $lbl_fortschritt, $lbl_info, $Label2,$Label3, $Einwahluser, $Input_user, $lbl_info2, $User, $lbl_passwort, $btn_verbinden, $btn_trennen, $Label1, $Group1, $chk_showpw, $lbl_ip
    ;Variablen in CheckOnProgUpdate
    ;~ Global $ProgramNameVersion, $FileName
    ;~ Global $DownloadDir = @ScriptDir & "\Download\firmaConnect.exe"

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

    ;~ #include "CheckOnProgUpdate.au3"

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

    #include "WriteLogData.au3"

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

    ;ESC bricht alles ab
    HotKeySet("{ESC}", "_Terminate")

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    If FileDelete(@ScriptDir & "\*.log") = 1 Then
    _WriteLogData("Alte LOG Datei wurde erfolgreich gelöscht.")
    EndIf

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

    ;Verknüpfung austauschen
    ;~ das kann in der nächsten Version wieder raus
    ;~ FileDelete( @DesktopDir & "\firmaConnect.lnk")
    ;~ FileCreateShortcut("C:\firma\firmaConnect\firmaConnect.exe", @DesktopDir & "\firmaConnect.lnk",@ScriptDir,"","", "C:\firma\firmaConnect\world.ico")

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    _WriteLogData("Programm : " & @ScriptName & ". Version=" & FileGetVersion(@ScriptName) & " mit Datum=" & FileGetTime(@ScriptName, 1, 1))
    _WriteLogData("firma Benutzer : " & @UserName)
    _WriteLogData("LogonServer : " & @LogonServer)
    _WriteLogData("LogonDomain : " & @LogonDomain)
    _WriteLogData("LogonDNSDomain : " & @LogonDNSDomain)
    _WriteLogData("Desktopverzeichnis: " & @DesktopCommonDir)
    _WriteLogData("---------------------------------------------------------------------")

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Los gehts
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;Main GUI aufrufen
    _Mainform()

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

    ;ChildGui aufrufen, GuiSetState (@SW_HIDE), also versteckt. Diese GUI muss von Anfang an mitlaufen.
    _Childform()

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

    ;Controls ausblenden bis Internetverbindung überbrüft ist
    _Ausblenden()

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

    ; Prüfen ob schon eine PN Verindung besteht
    _VPNTest()

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

    ; Internet Verbindung testen, Controls einblenden, RadioButtos setzen, auf Passwort warten.
    ;Hier geht es erst weiter wenn der Verbinden Button gedruckt wird.
    ; ab dann _VPNConnect()
    _Startup()

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

    ;Antwortzeit der Verbindung ermitteln und in $Childgui anzeigen.
    _VPNStatus()

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

    ;Nicht die Reihenfolge er Function Aufrufe ändern!!!

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

    ;Hauptprogramm:-)
    While 1
    Sleep(500)
    WEnd

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;############################################################################################################################################################
    ; Funktionen
    ;############################################################################################################################################################
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Mainform erstellen und anzeigen
    Func _Mainform()
    #Region ### START Koda GUI section ### Form=C:\Users\b.wagener\Desktop\firmaConnect V3\Form1.kxf
    $Mainform = GUICreate("firmaConnect 1.0", 397, 387, 273, 123)
    GUISetIcon(@ScriptDir & "\icon3.ico", -1)
    GUISetBkColor(0xFFFFFF)
    $Pic1 = GUICtrlCreatePic("firma.jpg", 72, 0, 254, 87, BitOR($GUI_SS_DEFAULT_PIC,$WS_CLIPSIBLINGS))
    $fortschritt = GUICtrlCreateProgress(32, 192, 335, 17, 0)
    $lbl_info = GUICtrlCreateLabel("", 32, 84, 335, 108, BitOR($SS_CENTER,$SS_SUNKEN))
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xD7E4F2)
    $lbl_passwort = GUICtrlCreateInput("", 158, 256, 161, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
    $Label1 = GUICtrlCreateLabel("Passwort:", 58, 256, 62, 20, 0)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $btn_verbinden = GUICtrlCreateButton("Verbinden", 120, 328, 155, 33, BitOR($BS_DEFPUSHBUTTON,$BS_PUSHLIKE,$BS_NOTIFY))
    GUICtrlSetOnEvent($btn_verbinden, "_VPNConnect")
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $chk_showpw = GUICtrlCreateCheckbox("Passwort anzeigen", 158, 288, 161, 17)
    GUICtrlSetOnEvent($chk_showpw, "_showpw")
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Input_user = GUICtrlCreateInput("", 158, 226, 161, 21);, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
    $Label2 = GUICtrlCreateLabel("Benutzername:", 58, 226, 93, 20, 0)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label3 = GUICtrlCreateLabel("Abbrechen mit [ESC]", 136, 368, 121, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    GUISetState(@SW_SHOW)
    _WriteLogData("Mainform erstellt")

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

    EndFunc ;==>_Mainform
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Childform erstellen und anzeigen
    Func _Childform()

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

    $Childform = GUICreate("VPN- Status", 264, 116, 10, 10, BitOR($WS_CAPTION, $WS_POPUP, $WS_BORDER, $WS_CLIPSIBLINGS), BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE))
    GUISetIcon("C:\firma\firmaConnect\world.ico")
    GUISetBkColor(0xFFFFFF)
    $lbl_info2 = GUICtrlCreateLabel("", 8, 4, 247, 52, BitOR($SS_CENTER, $SS_SUNKEN))
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $btn_trennen = GUICtrlCreateButton("Trennen", 72, 80, 123, 25, $WS_GROUP)
    GUICtrlSetOnEvent($btn_trennen, "_VPNDisconnect")
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $lbl_ip = GUICtrlCreateLabel("", 8, 56, 245, 20, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    GUISetState(@SW_HIDE)
    _WriteLogData("Childform erstellt")
    EndFunc ;==>_Childform
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;~ Controls verstecken
    Func _Ausblenden()

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

    GUICtrlSetState($fortschritt, $gui_hide)
    GUICtrlSetState($lbl_fortschritt, $gui_hide)
    GUICtrlSetState($btn_verbinden, $gui_hide)
    GUICtrlSetState($lbl_passwort, $gui_hide)
    GUICtrlSetState($Label1, $gui_hide)
    GUICtrlSetState($Group1, $gui_hide)
    GUICtrlSetState($chk_showpw, $gui_hide)
    GUICtrlSetState($Label2, $gui_hide)
    GUICtrlSetState($Input_user, $gui_hide)
    GUICtrlSetState($Label3, $gui_hide)
    _WriteLogData("Controls ausgeblendet.")
    EndFunc ;==>_Ausblenden
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Controls einblenden

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

    Func _Einblenden()
    GUICtrlSetState($fortschritt, $gui_show)
    GUICtrlSetState($lbl_fortschritt, $gui_show)
    GUICtrlSetState($Label1, $gui_show)
    GUICtrlSetState($lbl_passwort, $gui_show)
    GUICtrlSetState($btn_verbinden, $gui_show)
    GUICtrlSetState($Group1, $gui_show)
    GUICtrlSetState($chk_showpw, $gui_show)
    GUICtrlSetState($Label2, $gui_show)
    GUICtrlSetState($Input_user, $gui_show)
    GUICtrlSetState($Label3, $gui_show)
    _WriteLogData("Controls eingeblendet.")

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

    EndFunc ;==>_Einblenden
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _Startup()

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

    ;Test ob eine Internetverbindung besteht
    $InternetOK = _TestOnInternetConnect();

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

    ;Wenn ja Controls einblenden und Eingabe abwarten
    If $InternetOK = True Then
    _Einblenden()

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

    ;Wenn nicht auch einblenden und Verbindungsart auf UMTS setzen.
    ElseIf $InternetOK = False Then
    ;_Einblenden()

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Es besteht keine Internet Verbindung." & @CRLF & @CRLF & "Bitte stellen Sie erst eine Internetverbindung her.")
    _WriteLogData("Keine Internetverbindung, .")
    Sleep(3000)
    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "firmaConnect wird beendet." & @CRLF & @CRLF & "")
    Sleep(3000)
    _Terminate()
    EndIf

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

    GUICtrlSetData($lbl_info, @CRLF & "Bereit zum Verbinden." & @CRLF & @CRLF & "Bitte geben Sie Benutzername und Passwort ein," & @CRLF & "und klicken Sie auf Verbinden oder drücken Sie Enter.")
    GUICtrlSetState($Input_user, $GUI_FOCUS)

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

    EndFunc ;==>_Startup

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Abprüfen einer VPN-Verbindung

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

    Func _VPNTest()
    $PingOnServer1 = Ping($Testserver, 1000)

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

    ; Wenn die VPN-Verbindung nicht besteht wird das Unterprogramm StartVPNConnect aufgerufen
    If $PingOnServer1 > 0 Then
    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Es besteht bereits eine VPN Verbindung.")
    _WriteLogData("VPN verbiondung besteht bereits. Antwortzeit: " & $PingOnServer1)
    Sleep(3000)
    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "firma Connect wird beendet.")
    Sleep(1000)
    _Terminate()
    EndIf

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

    EndFunc ;==>_VPNTest
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Unterfunktion : Internetverbindung testen

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

    Func _TestOnInternetConnect()
    Local $PingVar, $RoundTrip ; $PingVar ist auch der Rückgabeparameter

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Ein Moment bitte," & @CRLF & @CRLF & "Internetverbindung wird getestet.")
    Sleep(1000)

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

    For $RoundTrip = 1 To 3
    ; !!! Hier sollte nicht nur eine! Domain abgefragt werden
    $PingVar = Ping($Testdomain, 1000) ;Ping gibt die Antwortzeit in ms zurück

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

    If $PingVar <= 0 Then ; Wenn ping nicht erfolgreich war
    $PingVar = Ping($Testserver, 100) ; Ping gibt die Antwortzeit in ms zurück
    EndIf

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

    If $PingVar > 0 Then ; Wenn ein ping (Domäne oder Host)erfolgreich war
    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Internetverbindung besteht." & @CRLF & @CRLF & "Die Antwortzeit beträgt " & $PingVar & " ms.")
    Sleep(500)
    _WriteLogData("Intenetverbindung besteht. Antwortzeit: " & $PingVar)
    Else
    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Internetverbindung ist nicht erfolgt" & @CRLF & @CRLF & "Verbindung wird erneut getestet " & $RoundTrip)
    EndIf

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

    Next

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

    Return $PingVar ; $PingVar ist der Rückgabeparameter
    EndFunc ;==>_TestOnInternetConnect
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _VPNConnect()

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

    ;Fortschritt anziegen:-)
    GUICtrlSetData($fortschritt, 10)
    ;If BitAND(GUICtrlRead($radio_dsl), $GUI_CHECKED) = $GUI_CHECKED Then
    _StartVPNConnect()
    GUICtrlSetData($fortschritt, 20)
    ;_GetUserAD()
    GUICtrlSetData($fortschritt, 30)
    ;~ _Update()
    Sleep(500)
    GUICtrlSetData($fortschritt, 40)
    _MapDrive()
    GUICtrlSetData($fortschritt, 50)
    GUICtrlSetData($fortschritt, 60)

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Abschliessende Einstellungen.")
    GUICtrlSetData($fortschritt, 90)
    ;EndIf

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

    ;Wenn UMTS RadioButton aktiv ist
    ;If BitAND(GUICtrlRead($radio_umts), $GUI_CHECKED) = $GUI_CHECKED Then
    ; _StartUMTSInternetConnect()
    ; GUICtrlSetData($fortschritt, 20)
    ; Sleep(2000)
    ; _GetUserAD()
    ; GUICtrlSetData($fortschritt, 30)
    ;~ _Update()
    ; Sleep(500)
    ; GUICtrlSetData($fortschritt, 40)
    ; _MapDrive()
    ; GUICtrlSetData($fortschritt, 50)
    ; Sleep(500)
    ; GUICtrlSetData($fortschritt, 60)
    ; GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Abschliessende Einstellungen.")
    ; GUICtrlSetData($fortschritt, 90)
    ;EndIf

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

    ;gpupdate und BG info
    _WriteIPLOG()
    Run("gpupdate", "", @SW_HIDE)
    GUICtrlSetData($fortschritt, 100)
    Sleep(500)
    _WriteLogData("gpudate gestartet")
    ;tadaaaaaa
    SoundPlay(@ScriptDir & "\logon.wav", 1)
    ;Exit

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

    GUISetState(@SW_HIDE, $Mainform)
    _WriteLogData("Verbinidungsaufbau abgeschlossen.")

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

    ;$childform zur aktiven GUI machen

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

    GUISetState(@SW_SHOW, $Childform)
    GUICtrlSetData($lbl_ip, "IP Adresse: " & @IPAddress1)

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

    HotKeySet("{ESC}", "_nichts")
    GUISwitch($Childform)

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

    EndFunc ;==>_VPNConnect
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _StartVPNConnect()
    ;~ VPN verbindung aufbauen
    GUICtrlSetState($btn_verbinden, $GUI_DISABLE)
    GUICtrlSetState($lbl_passwort, $GUI_DISABLE)
    GUICtrlSetState($chk_showpw, $GUI_DISABLE)

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

    ;Variablendeklaration
    Local $PingVar, $RoundTrip, $InitTime, $PID
    $passwort = GUICtrlRead($lbl_passwort)
    $ConnectionName = ("firma-VPN-Verbindung")
    $Testserver = "dc.firma.intern"
    $Einwahluser = GUICtrlRead($Input_user)

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Ein Moment bitte," & @CRLF & @CRLF & "VPN Verbindung mit firma wird hergestellt.");& @CRLF & "und mit Server erbunden")

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

    $Connect = RunWait("rasdial " & $ConnectionName & " " & $Einwahluser & " " & $passwort & " /domain:coo.local", "", @SW_DISABLE)

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

    _WriteLogData("Rasdial ausgeführt.")

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

    ;Runwait liefert im Fehlerfall 0 zurück.Der exitcode für cmd ist aber 0 also <>0:-)

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

    If $Connect <> 0 Then
    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Bei der Verbindung trat ein Fehler auf." & @CRLF & @CRLF & "Bitte versuchen Sie es erneut.")
    Sleep(3000)
    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "firma Connect wird beendet")
    Sleep(2000)
    _WriteLogData("verbindung fehlgeschlagen. firmaConnect wir beendet")
    ProcessClose($Connect)
    Exit
    EndIf

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Bitte warten," & @CRLF & @CRLF & "VPN Verbindung mit firma wird hergestellt.")
    Sleep(1000)

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

    $PingVar = Ping($Testserver, 1000)
    $InitTime = TimerInit()
    While $PingVar = 0
    Sleep(100)
    ;Abbruch wenn nach 15 sekunden keine Antwort vom DC
    If TimerDiff($InitTime) > 15000 Then

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

    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Verbindungsfehler (Passwort falsch?)" & @CRLF & @CRLF & "Bitte versuchen Sie es erneut.")
    Sleep(10000)
    ProcessClose($Connect)
    Exit
    EndIf

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

    $PingVar = Ping($Testserver, 1000) ;sonst ändert sich $pingvar nicht:-)
    WEnd

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

    ;Was fürs Auge
    GUICtrlSetData($fortschritt, 20)
    Sleep(250)
    GUICtrlSetData($fortschritt, 30)

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

    Return $PingVar

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

    EndFunc ;==>_StartVPNConnect
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;Netzlaufwerke verbinden
    Func _MapDrive()
    ;$LogonServer = "\\dc.firma.intern"
    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Ein Moment bitte," & @CRLF & @CRLF & "Ihre Netzwerklaufwerke werden verbunden.")
    FileCopy(@LogonServer & "\netlogon\login-berlin.bat", @ScriptDir & "\login.bat")
    RunWait(@ScriptDir & "\login.bat", "", @SW_HIDE)

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

    For $RoundTrip = 1 to 3

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

    $Drive = DriveGetDrive( "network" )
    If NOT @error Then
    GUICtrlSetData($lbl_info,@CRLF & @CRLF & "Netzlaufwerke erfolgreich verbunden.")
    Else
    GUICtrlSetData($lbl_info,@CRLF & @CRLF & "Netzlaufwerke noch nicht verbunden." &@CRLF & @CRLF & "Bitte warten...")
    RunWait(@ScriptDir & "\login.bat","",@SW_HIDE)
    EndIf
    Next

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

    _WriteLogData("Netzlaufwerke verbunden.")
    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Netzwerklaufwerke erfolgreich verbunden.")
    Sleep(500)
    Return

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

    EndFunc ;==>_MapDrive
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _VPNStatus()
    ;~ schreibt Texte und macht das Textfeld in der Childform bunt, damit die Leute immmer sehen wie schnell sie verbunden sind
    $Connection = Ping($Testserver, 1000)

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

    While $Connection = 0
    GUICtrlSetBkColor($lbl_info2, 0xFFFFFF)
    GUICtrlSetData($lbl_info2, @CRLF & "Verbindungsgeschwindigkeit wird ermittelt.")
    Sleep(1000)
    $Connection = Ping($Testserver, 1000)
    WEnd

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

    GUICtrlSetData($lbl_info2, "VPN Verbindung zu firma hergestellt." & @CRLF & "Die Antwortzeit beträgt:" & @CRLF & $Connection & " ms.")

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

    While 1

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

    $Connection = Ping($Testserver, 1000)
    Sleep(5000)
    If $Connection > 350 Then
    GUICtrlSetData($lbl_info2, "Achtung!" & @CRLF & "Sehr langsame Verbindung!" & @CRLF & "Arbeit nur unter Schwierigkeiten möglich!")
    GUICtrlSetBkColor($lbl_info2, 0xFF0000)
    _WriteLogData("UMTS Geschwindingkeitswarnung. Antwortzeit: " & $Connection)

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

    ElseIf $Connection > 200 Then
    GUICtrlSetBkColor($lbl_info2, 0xFFFF00)
    GUICtrlSetData($lbl_info2, "VPN Verbindung zu firma hergestellt." & @CRLF & "Die Verbindungsgeschwindigkeit ist:" & @CRLF & "gut")

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

    ElseIf $Connection < 200 Then
    GUICtrlSetBkColor($lbl_info2, 0x66FF00)
    GUICtrlSetData($lbl_info2, "VPN Verbindung zu firma hergestellt." & @CRLF & "Die Verbindungsgeschwindigkeit ist:" & @CRLF & "Sehr gut")

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

    ;Warnmeldung wenn Verbindungsgeschwindigkeit zu langsam

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

    EndIf

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

    WEnd

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

    EndFunc ;==>_VPNStatus
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;VPN Verbindung trennen und Netzlaufwerke trennen
    Func _VPNDisconnect()
    GUICtrlSetBkColor($lbl_info2, 0xFFFFFF)
    GUICtrlSetData($lbl_info2, "VPN Verbindung zu firma wird getrennt." & @CRLF & @CRLF & "Netzlaufwerke werden getrennt.")

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

    Run("rasdial /DISCONNECT", "", @SW_HIDE)
    _WriteLogData("Verbindung getrennt.")
    Sleep(1000)
    Run("net use /delete * /YES", "", @SW_HIDE)
    _WriteLogData("Netzlaufwerke getrennt.")
    Sleep(1000)

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

    Sleep(1500)
    ;Files wieder löschen.
    ;_DeleteFiles()
    WinSetState("GlobeTrotter Connect", "", @SW_SHOW)
    ControlClick("GlobeTrotter Connect", "", 1017)
    Sleep(1000)

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

    WinClose("GlobeTrotter Connect")
    Sleep(500)
    ProcessClose("GlobeTrotter Connect.exe")
    Sleep(500)
    GUICtrlSetData($lbl_info2, "Trennung erfolgt." & @CRLF & @CRLF & "Programm wird beendet.")
    Exit
    EndFunc ;==>_VPNDisconnect
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Exitus
    Func _Terminate()
    Exit 0
    _WriteLogData("firmaConnect beendet")
    EndFunc ;==>_Terminate
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    Func _nichts()
    ; die sit eine Nichtfunktion:-)
    ;wird gebraucht um das HotKeySet ESC = _Termiate wieder zurückzusetzen.
    ;Damit die das $childform nicht "versehentlich mit ESC schliessen...
    EndFunc ;==>_nichts
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _showpw()
    ;~ zeigt das Passwort in Klartext an
    If GUICtrlRead($chk_showpw) = $GUI_CHECKED Then
    _GUICtrlEdit_SetPasswordChar($lbl_passwort)
    GUICtrlSetState($lbl_passwort, $GUI_FOCUS)
    Else
    _GUICtrlEdit_SetPasswordChar($lbl_passwort, "*") ; hier das "*" verändern
    GUICtrlSetState($lbl_passwort, $GUI_FOCUS)
    EndIf
    _WriteLogData("Passwort angezeigt.")

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

    EndFunc ;==>_showpw
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _DeleteFiles()

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

    ;~ weg mit dem alten Zeuch
    FileDelete(@ScriptDir & "\*.jpg")
    _WriteLogData("JPGs wurden gelöscht")
    FileDelete(@ScriptDir & "\*.wav")
    _WriteLogData("WAV wurde gelöscht")

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

    EndFunc ;==>_DeleteFiles
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;----------------------------------------------------------------------------------------------------------------------------------

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

    Func _WriteIPLOG()

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

    ;~ Erstellt die IPinfo.txt. Wird für BGINfo benötigt
    Local $LogData = "IPinfo.txt"

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

    if not FileExists($LogData) Then
    $FileCreateOK = _FileCreate($LogData)
    Else
    FileDelete($LogData)
    EndIf

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

    $LogFileID = FileOpen($LogData,1)

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

    FileWrite($LogFileID,@IPAddress1)

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

    FileClose($LogFileID)

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

    EndFunc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _esc($s)
    Return StringReplace($s, '"', '""', 0, 1)
    EndFunc ;==>_esc
    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------

    [/autoit]


    Das alles baut eine VPN Verbindung auf, mappt Laufwerke und zeigt dann in einem kleinen Fenster ($Childform)die Verbindungs"qualität" an.
    Diese "Qualität" ermittle ich mit der Funtion _VPNStatus in Zeile 129. Jetzt hab icvh gemerkt dass die da eigentlcih falsch ist. So wird alles ein bißchen ruckelig.
    ich hab auch versucht die woanders aufzurufen aber bekomme es nicht hin dass dann die Childform aktiv ist. Es geht zwar aber dann funktioniert der trennen Button nicht mehr.

    _VPNStatus muss ja "immer" laufen wenn der Verbindungsaufbau abgeschlossen ist.
    Aber wo rufe ich die am schlausten auf?

  • MapDriveAdd mit Kontrolle der AD Gruppenzugehörigkeit.

    • Camulus
    • 25. Januar 2012 um 18:45

    ini Datei hab ich auch schon gedacht für die ganzen Variablen die von Firma zu Firma unterschiedlich sind, ist aber noch Beta:-)

  • MapDriveAdd mit Kontrolle der AD Gruppenzugehörigkeit.

    • Camulus
    • 25. Januar 2012 um 18:06

    Also momentan liegt die Batch auf dem Logonserver in netlogon Verzeichnis.
    Dieses Datei rufe ich dann auf:

    [autoit]

    RunWait(@LogonServer & "\netlogon\logon.bat","",@SW_HIDE)

    [/autoit]

    Das funktioniert soweit auch. Allerdings nicht immer zuverlässig. gerade bei UMTS verbindungen gibt es da schonmal Probleme.
    Der Plan ist jetzt das alles in eine Schleife zu packen die nach den Ausführen überprüft ob die Netzlaufwerke da sind, und wenn nicht es eben nochmal ausführt. Maximal drei mal. Wenns dann immer noch nicht geklappt hat gibts ne entsprechende Meldung.

    Um dem UMTS Problem aus dem Weg zu gehen haben wir überlegt die Batch Datei erst ins @scriptidr zu kopieren und dann lokal auszufühen.

    Wenn ich eine ini- Datei irgendwo im Netz liegen habe hab ich ja letztendlich wieder das selbe Problem. Ob das jetzt wirklich an einer wackeligen verbindung liegt muss natürlich noch getestet werden.

  • MapDriveAdd mit Kontrolle der AD Gruppenzugehörigkeit.

    • Camulus
    • 25. Januar 2012 um 17:30

    Danke dir.
    Das ist eine von mehreren Möglicgkeiten die gerade diskutiert werden. Ob es das wird weiss man noch nicht.

    Das alles soll in ein Tool das die VPN Verbindung aufbaut und dann Laufwerke mappt. Momentan wird alles über eine Batchdatei gemappt.
    Der Nachteil es über Auoit direkt zu machen wäre dass wenn sich änderungen ergeben eine neue Exe raus muss.

    Es sei denn ihr habt noch bessere Ideen :D

  • UMTS verbindung unter Windows 7 mit PIN abfrage

    • Camulus
    • 25. Januar 2012 um 17:28

    Genau das ist der Grund.
    Rasdial haben alle.

    Ich hab für unsere Firma ein Tool gestrickt mit dem sich unsere User einwählen könne. Dann werden Laufwerke gemappt usw.
    Dann sind wir aber mittleriweile mit unserem Mutterunternehmen und allen Schwestern zusammengezogen und sind jetzt eine große glückliche Familie. Jetzt hat man das noble Ziel einTool für alle.
    Ein paar Sachen sind halt von Firma zu Firma verschieden und völlig einheitlich sind wir noch nicht.

    Bei uns zum Beispiel wird die PIN abfrage nicht deaktiviert. Soll sie auch nicht. Beim Mutterverband ist es mal so mal so.

    Die Alternative wäre vielleicht noch ein einheitlicher UMTS Client den ich dann mit Autoit steuern kann.

  • UMTS verbindung unter Windows 7 mit PIN abfrage

    • Camulus
    • 25. Januar 2012 um 16:13

    hab ich beides nicht.
    Ist ja nur eine Mobile Breitbandverbindung. Alles was ich hab ist eine Einwahlnummer von Vodafone

  • MapDriveAdd mit Kontrolle der AD Gruppenzugehörigkeit.

    • Camulus
    • 25. Januar 2012 um 16:12

    dann guck ich mir das mal an!
    Danke!

  • UMTS verbindung unter Windows 7 mit PIN abfrage

    • Camulus
    • 25. Januar 2012 um 15:28

    also mit

    [autoit]

    ShellExecute("rasdial.exe", '"Vodafone Mobile Connect" "1234"')

    [/autoit]


    funtioniert es nicht.

  • UMTS verbindung unter Windows 7 mit PIN abfrage

    • Camulus
    • 25. Januar 2012 um 14:51
    Zitat

    Afaik reicht es, den PIN als Parameter mitzugeben.

    [autoit]

    ShellExecute("rasdial.exe", '"Vodafone Mobile Connect" "1234"')

    [/autoit]

    Wenn nicht, dann befrag einfach mal google zum Thema "rasdial umts pin"

    Parameter probier ich mal aus. Danke.
    Google hab ich schon gefragt aber nix gefunden. Oder die Antwort überlesen.

  • MapDriveAdd mit Kontrolle der AD Gruppenzugehörigkeit.

    • Camulus
    • 25. Januar 2012 um 14:45

    Wir nutzen zur Zeit eine batch Datei um laufwerke zu mappen:
    So soeht die aus:

    [autoit]

    REM @echo off

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

    net use /delete * /YES

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

    net use G: \\Firmanname.local\dfs\Abteilung /persistent:no

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

    net use H: \\Firmanname.local\dfs\Home$\%username% /persistent:no

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

    net user /DOMAIN %username% | find "G-Betriebsrat"
    if not errorlevel = 1 (
    net use O: \\Firmenname.local\dfs\Betriebsrat /persistent:no
    )

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

    net user /DOMAIN %username% | find "IT-Abt"
    if not errorlevel = 1 (
    net use S: \\Firmanname.local\dfs\Software /persistent:no
    )

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

    net user /DOMAIN %username% | find "G-Buchhaltung"
    if not errorlevel = 1 (
    net use L: \\DATEVSERVER\Windvsw1 /persistent:no

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

    net use M: \\DATEVSERVER\Windvsw2 /persistent:no

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

    )

    [/autoit]


    G-betriebsrat, ITAbt und G-Buchhaltung sind AD Gruppen.
    Kann man sowas mit DriveMappadd abbilden? So dass die Gruppenzugehörigkeit überprüft wird?

  • UMTS verbindung unter Windows 7 mit PIN abfrage

    • Camulus
    • 25. Januar 2012 um 14:41

    und wo gebe ich die PIN ein?

  • UMTS verbindung unter Windows 7 mit PIN abfrage

    • Camulus
    • 25. Januar 2012 um 14:16

    Hi,

    weiss jemand von euch wie ich ein Script bauen kann das eine UMTS Verbindung unter Windows 7 mit PIN abfrage aufbaut?
    Hintergund ist mien VPN Tool, dass soll bei Bedarf per Klick eine Verbindung aufbauen. Ich weiss:-) das geht von hause aus mit einem Klick aber da drum herum passiert dann noch etwas mehr und unsere User sollen so wenig wie möglich selber machen "müssen"

  • Dateien auswählen und in eine ini schreiben

    • Camulus
    • 24. November 2011 um 13:23

    Das mit dem Array hat sich erledigt..vorerst:-)
    Wer die Hilfe lesen kann ist klar im Vorteil :whistling:

  • Dateien auswählen und in eine ini schreiben

    • Camulus
    • 24. November 2011 um 11:24

    Hi,

    es geht langsam aber sicher voran:
    So soehts momentan aus:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Outfile=OTRS-Backup.exe
    #AutoIt3Wrapper_Au3Check_Parameters= -q
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.2.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

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

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

    ; Script Start - Add your code below here
    ;############################################################################################################################################################

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

    ; Wechsle in den OnEvent Modus
    Opt("GUIOnEventMode", 1)

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

    ;~ GUICtrlSetOnEvent($btn_AddFile, "_AddFile")

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

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=C:\Users\b.wagener\Desktop\OTRS Update Tool\Mainform.kxf

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

    Global $index = 1
    Global $IniPath = @ScriptDir & "\Config.ini"

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

    $Form1 = GUICreate("OTRS BackupRestore", 824, 781, 192, 124)
    GUISetOnEvent(-3, 'E')
    GUISetIcon(@ScriptDir & "\BackupandRestoreOTRS.ico")
    GUISetBkColor(0xFFFFFF)
    $Label1 = GUICtrlCreateLabel("OTRS Pfad", 168, 120, 73, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $btn_OTRSPfad = GUICtrlCreateButton("Suchen", 520, 120, 131, 25, $WS_GROUP)
    GUICtrlSetOnEvent($btn_OTRSPfad, "_AddOTRSDir")
    $Label2 = GUICtrlCreateLabel("Backup Pfad", 168, 166, 84, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $btn_backupPfad = GUICtrlCreateButton("Suchen", 520, 166, 131, 25, $WS_GROUP)
    GUICtrlSetOnEvent($btn_backupPfad, "_AddBackupDir")
    $btn_AddDir = GUICtrlCreateButton("Hinzufügen", 136, 600, 131, 25, $WS_GROUP)
    GUICtrlSetOnEvent($btn_AddDir, "_AddDir")
    $btn_AddFile = GUICtrlCreateButton("Hinzufügen", 560, 600, 131, 25, $WS_GROUP)
    GUICtrlSetOnEvent($btn_AddFile, "_AddFile")
    $Label5 = GUICtrlCreateLabel("Verzeichnisse", 40, 220, 92, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $Label6 = GUICtrlCreateLabel("Dateien", 440, 220, 53, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $Input_OTRSPfad = GUICtrlCreateInput("Bitte OTRS Programmpfad eingeben", 264, 120, 241, 21)
    $Input_backuppfad = GUICtrlCreateInput("Bitte Backuppfad eingeben", 264, 168, 241, 21)
    $Button2 = GUICtrlCreateButton("((Backup", 232, 688, 150, 50, $WS_GROUP)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial")
    $Button3 = GUICtrlCreateButton("((Restore", 425, 687, 150, 50, $WS_GROUP)
    GUICtrlSetFont(-1, 14, 800, 0, "Arial")
    $list_dir = GUICtrlCreateListView("Path", 40, 240, 350, 350)
    $list_files = GUICtrlCreateListView("Path", 440, 240, 350, 350)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\BackupandRestoreOTRS.jpg", 0, 0, 100, 100, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $btn_hilfe = GUICtrlCreateButton("?", 776, 8, 40, 40, $WS_GROUP)
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    IniCheck() ; Scriptstart prüfung ob einträge vorhanden sind

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

    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func IniCheck()
    If Not FileExists($IniPath) Then Return ; Datei ist nicht vorhanden

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

    Local $IniRead = IniReadSection($IniPath, 'FILE')
    If @error Then Return ;section konnte nicht gelesen werden
    $index = $IniRead[0][0] +1
    For $i = 1 To $IniRead[0][0]
    GUICtrlCreateListViewItem($IniRead[$i][1], $list_files)
    Next

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

    Local $IniRead_dir = IniReadSection($IniPath, 'DIR')
    If @error Then Return ;section konnte nicht gelesen werden
    $index_dir = $IniRead_dir[0][0] +1
    For $i = 1 To $IniRead_dir[0][0]
    GUICtrlCreateListViewItem($IniRead_dir[$i][1], $list_dir)
    Next

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

    EndFunc ;==>IniCheck
    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _AddFile()
    $Path1 = FileOpenDialog("Suchen...", @HomeDrive, "Alle Dateien (*.*)", 3)
    If $Path1 Then
    IniWrite($IniPath, "FILE", $index, $Path1)
    GUICtrlCreateListViewItem($Path1, $list_files)
    $index += 1
    EndIf
    EndFunc ;==>_AddFile
    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _AddDir()
    $verzeichnis= Iniread(@scriptdir&"\Config.ini", "DIR", "Pfad", "")
    $Path2 = FileSelectFolder("Verzeichnis", $verzeichnis)
    If $Path2 Then
    IniWrite($IniPath, "DIR", $index, $Path2)
    GUICtrlCreateListViewItem($Path2, $list_dir)
    $index += 1
    EndIf
    EndFunc
    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _AddOTRSDir()
    $verzeichnis= Iniread(@scriptdir&"\Config.ini", "OTRS_DIR", "Pfad", "")
    Global $OTRSPfad = FileSelectFolder("Verzeichnis", $verzeichnis)
    If $OTRSPfad Then
    IniWrite($IniPath, "OTRS_DIR", "Pfad", $OTRSPfad)
    GUICtrlSetData($Input_OTRSPfad,$OTRSPfad)

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

    EndIf
    EndFunc
    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _AddBackupDir()
    $verzeichnis= Iniread(@scriptdir&"\Config.ini", "Backup_DIR", "Pfad", "")
    Global $BackupPfad = FileSelectFolder("Verzeichnis", $verzeichnis)
    If $BackupPfad Then
    IniWrite($IniPath, "Backup_DIR","Pfad", $BackupPfad)
    GUICtrlSetData($Input_backuppfad,$BackupPfad)

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

    EndIf
    EndFunc
    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _Backup()

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

    EndFunc
    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _Restore()
    EndFunc
    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func E()
    Exit
    EndFunc ;==>E
    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    While 1 * Sleep(10)
    WEnd
    ;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    [/autoit]

    Jetzt hab ich aber zwei Fragen:
    -Kann man die Spaltenbreite in Listview einstellen? Also dass die Spalte direkt so breit ist wie das ListView?
    - Wonach muss ich denn Suchen um meine Backuo und restore Functions zu füllen?
    geplant ist sowas:

    [autoit]

    DirCopy("C:\OTRS\otrs4win\Scripts", "C:\Backup_Update\OTRS\otrs4win\Scripts",1)

    [/autoit]


    Aber C:\OTRS\otrs4win\Scripts wäre ja dann ein Eintrag aus der ini- Datei. Wie bekomm eich es dazu alle Einträge aus einer bestimmten Sektion auszulesen?

    Das geht doch bestimmt mit einer Schleife und EOF oder sowas inder Art?
    Kann mir einer sagen wo ich das finde? Oder gehts vioelleicht noch einfacher als ich es mir vorstelle?

    EDIT:
    ich taste mich langsam ran:-)

    Spoiler anzeigen
    [autoit]

    Func _Backup()
    Local $IniRead = IniReadSection($IniPath, 'FILE')
    If @error Then Return ;section konnte nicht gelesen werden
    $index = $IniRead[0][0] +1
    For $i = 1 To $IniRead[0][0]
    ;~ GUICtrlCreateListViewItem($IniRead[$i][1], $list_files)
    MsgBox(0,"",$IniRead[$i][1])
    Next

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

    EndFunc
    ;------------

    [/autoit]

    Aber ich kapier überhaupt nicht wie das mit dem Array funktioniert :cursing: ?( 8|

    Kann mir da mal jemand auf die Sprünge helfen?

  • Dateien auswählen und in eine ini schreiben

    • Camulus
    • 22. November 2011 um 15:55

    Danke!!!
    Mit deiner Hilfe kann ich meine wirren Ideen bestimmt verwirklichen :thumbup:

    Ich bastel mal weiter und schrei dann bald wieder :whistling:

  • Dateien auswählen und in eine ini schreiben

    • Camulus
    • 22. November 2011 um 13:53

    kann es sein dass eine ini-Datei nicht das richtige ist?
    Ich hab gerade mal nachgelsen... wirklich sinnvoll ist eine ini Datei ja nicht..das hatte ich anders in Erinnerung. 8|

    Oder wäre das eher was für _SQLite???

  • Dateien auswählen und in eine ini schreiben

    • Camulus
    • 22. November 2011 um 13:40

    Ich wollte den Inhalt der ini Datei (Sektion) dann in das Edit Schreiben.
    Das war zumidest der Plan :whistling:

    Der fromme Wunsch ist dass man sich die x- Dateien zusammenklickt die man sichern will und die dann nachher mit FileCopy und DirCopy in ein backup- verzeichnis verschiebt.

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™