Hi,
verwende einfach das flag 2...
_FileListToArray($pfad,'*',2)
Hi,
verwende einfach das flag 2...
_FileListToArray($pfad,'*',2)
i.d.R. werden die Nachrichten an den registrierten Jabber-Server gesendet.
Dieser versucht die Nachricht an den Empfänger weiterzuleiten.
Sollte der Empfänger offline sein wird die Nachricht zwischengespeichert bis der User wieder online ist.
Zumindest ist das auf meinem Jabber-Server so. ![]()
die Bezeichnung des Device ist mir durchaus klar.
Das sind systeminterne Links auf die "Hardware" HDD unabhängig der Partitionen oder so.
Linux behandelt das ähnlich...
Vielleicht hilft Dir zum Verständnis dieser Link.
Auf die Schnelle hab ich nichts besseres gefunden ![]()
http://www.codeproject.com/KB/system/rawsectorio.aspx
auch von mir ein
Herzlich Willkommen ![]()
(wie wird man hier ein Professioneller?) ![]()
AspirinJunkie,
ich habe "nur" geantwortet.
Du hast ja gleich optimiert ![]()
ZitatFinde die Angaben weder in der Registry noch im WMI brower etc
Woher hast Du denn die Pfadangabe?
While True
If ProcessExists ( "firefox.exe" ) Then
ShellExecute ( "Firefox-Haubtscript.exe" )
ExitLoop
EndIf
WEnd
Hallo camulus,
ich denke wir reden aneinander vorbei.
Ich habe in deinen Code 2 Zeilen eingefügt.
Die eine bewirkt, dass dein Child-Gui bereits beim Start mit angezeigt wird.
Die 2. Zeile habe ich in die Funktion gesteckt, die aufgerufen werden soll, wenn trennen angeklickt wird.
Wenn Du auf trennen klickst wird die MsgBox angezeigt.
D.h. dass die Funktion auch aufgerufen wird.
Nachdem ich weder einPasswort habe noch die Lust alle Scriptschritte zu prüfen möchte ich dass Dir überlassen.
Als Handwerkzeug habe ich Dir exemplarisch die Möglichkeit gezeigt mit einer MsgBox zu prüfen, ob Dein Code ausgeführt wird.
Wenn Du das nicht machen willst/kannst, dann können wir dir auch nicht helfen.
ich hab die 2. GUI mal von anfang an shown gesetzt.
mit einer MsgBox siehst Du, dass zu diesem Zeitpunkt die Funktion noch angesprochen wird.
In Ermangelung von Eingabemöglichkeiten musst Du Dich auf die Art weitertasten ...
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Version=beta
#AutoIt3Wrapper_icon=icon3.ico
#AutoIt3Wrapper_outfile=firmaConnect.exe
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_Res_Comment=firma Connect stellt eine VPN Verbindung zu firma her.
#AutoIt3Wrapper_Res_Description=firmaConnect
#AutoIt3Wrapper_Res_Fileversion=3.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Copyright © 2010 IT der firma Pflegeberatung
#AutoIt3Wrapper_Res_Language=1031
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.0.0.0
Author: Boris Wagener
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]FileInstall("firmaVPN.jpg","firmaVPN.jpg",1)
FileInstall("icon3.ico","icon3.ico",1)
FileInstall("Logon.wav","Logon.wav",1)
; 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>
;############################################################################################################################################################
;~ Formular
Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=C:\Users\b.wagener\Desktop\firmaConnect V3\Form1.kxf
$Mainform = GUICreate("firma Connect V3.0", 397, 469, 150, 123, BitOR($WS_CAPTION,$WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS))
GUISetIcon("icon3.ico")
GUISetBkColor(0xFFFFFF)
$fortschritt = GUICtrlCreateProgress(32, 256, 335, 17)
$Pic1 = GUICtrlCreatePic("firmaVPN2.jpg", 8, 8, 380, 132, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$lbl_info = GUICtrlCreateLabel("", 32, 148, 335, 108, BitOR($SS_CENTER,$SS_SUNKEN))
GUICtrlSetFont(-1, 10, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xD7E4F2)
$Group1 = GUICtrlCreateGroup("Verbindungsart:", 40, 280, 313, 65)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$radio_dsl = GUICtrlCreateRadio("DSL/ WLAN", 80, 312, 129, 17)
$radio_umts = GUICtrlCreateRadio("UMTS", 240, 312, 81, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$lbl_passwort = GUICtrlCreateInput("", 144, 368, 161, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
$Label1 = GUICtrlCreateLabel("Passwort:", 80, 368, 62, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$btn_verbinden = GUICtrlCreateButton("Verbinden", 120, 408, 155, 33, $WS_GROUP)
GUICtrlSetOnEvent($btn_verbinden, "VPNConnect")
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
;Form2
$Childform = GUICreate("firma Connect V3.0", 349, 159, 10, 10, BitOR($WS_CAPTION,$WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS), BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
GUISetIcon("I:\firmaConnect V3\icon3.ico")
GUISetBkColor(0xFFFFFF)
$lbl_info2 = GUICtrlCreateLabel("", 24, 12, 295, 84, BitOR($SS_CENTER,$SS_SUNKEN))
GUICtrlSetFont(-1, 10, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xD7E4F2)
$btn_trennen = GUICtrlCreateButton("Trennen", 96, 104, 155, 33, $WS_GROUP)
GUICtrlSetOnEvent($btn_trennen, "VPNDisconnect")
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUISetState(@SW_HIDE)
#EndRegion ### END Koda GUI section ###
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];-------------------------------------------------------------------------------------------------------------------------------------------------------------
;Variablendeklaration
$ProgramNameVersion = "firmaConnect -Köln- " & FileGetVersion(@AutoItExe)
$Testdomain = "www.google.de"
$Testserver = "dc.firma.local"
$User = @UserName
$LogonServer = @LogonServer
Global $Mainform, $fortschritt, $Pic1, $lbl_fortschritt, $lbl_info, $User,$lbl_passwort, $btn_verbinden
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]HotKeySet("{ESC}", "Terminate")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];-------------------------------------------------------------------------------------------------------------------------------------------------------------
;~ If FileExists(@ScriptDir & "\Download\") Then
;~ DirRemove(@ScriptDir & "\Download\", 1)
;~ EndIf
;~ If FileExists(@ScriptDir & "\firmaConnectUpdate.exe") Then
;~ FileDelete(@ScriptDir & "\firmaConnectUpdate.exe")
;~ EndIf
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;Los gehts
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Ausblenden()
;VPN_Test()
Form_Open()
;VPNStatus()
GUISetState(@SW_SHOW, $Childform) ; nur zum Testen eingefügt
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(500)
WEnd
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;############################################################################################################################################################
; Funktionen
;############################################################################################################################################################
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
; Abprüfen einer VPN-Verbindung
Func VPN_Test()
$PingOnServer1 = Ping($Testserver,200)
; 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.")
Sleep(3000)
GUICtrlSetData($lbl_info, @CRLF &@CRLF & "firma Connect wird beendet.")
Sleep(1000)
Terminate()
EndIf
Return
EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Func Form_Open()
$InternetOK = TestOnInternetConnect();
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]If $InternetOK = True Then
[/autoit] [autoit][/autoit] [autoit]Einblenden()
[/autoit] [autoit][/autoit] [autoit]GUICtrlSetState($radio_dsl, $GUI_CHECKED)
[/autoit] [autoit][/autoit] [autoit]ElseIf $InternetOK = False Then
Einblenden()
GUICtrlSetState($radio_umts, $GUI_CHECKED)
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Es besteht keine DSL Verbindung."& @CRLF & @CRLF &"Verbindungsart UMTS wird gesetzt")
Sleep(2000)
EndIf
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Bereit zum Verbinden."& @CRLF & @CRLF & "Bitte geben Sie ihr Passwort ein,"&@CRLF & "und klicken Sie auf Verbinden.")
[/autoit] [autoit][/autoit] [autoit]GUICtrlSetData($fortschritt, 10)
EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];-------------------------------------------------------------------------------------------------------------------------------------------------------------
; Unterfunktion : Internetverbindung testen
Func TestOnInternetConnect()
Local $PingVar,$RoundTrip ; $PingVar ist auch der Rückgabeparameter
GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Ein Moment bitte," & @CRLF & @CRLF& "Internetverbindung wird getestet.")
sleep(1000)
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
if $PingVar <= 0 Then ; Wenn ping nicht erfolgreich war
[/autoit] [autoit][/autoit] [autoit]$PingVar = Ping($Testserver ,100) ; Ping gibt die Antwortzeit in ms zurück
EndIf
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)
; Warum wird hier die For-Schleife nicht abgebrochen ?
Else
GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Internetverbindung ist nicht erfolgt"& @CRLF & @CRLF& "Verbindung wird erneut getestet " & $RoundTrip)
EndIf
Next
GUICtrlSetData($fortschritt, 10)
Return $PingVar ; $PingVar ist der Rückgabeparameter
EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Func VPNConnect()
If BitAND(GUICtrlRead($radio_dsl), $GUI_CHECKED) = $GUI_CHECKED Then
[/autoit] [autoit][/autoit] [autoit]StartVPNConnect()
[/autoit] [autoit][/autoit] [autoit];MapDrive()
GUICtrlSetData($fortschritt, 75)
ECM_Addins()
GUICtrlSetData($fortschritt, 95)
EndIf
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]If BitAND(GUICtrlRead($radio_umts), $GUI_CHECKED) = $GUI_CHECKED Then
StartUMTSInternetConnect()
GUICtrlSetData($fortschritt, 50)
MapDrive()
GUICtrlSetData($fortschritt, 75)
Sleep(500)
ECM_Addins()
GUICtrlSetData($fortschritt, 95)
EndIf
RunWait("gpupdate","",@SW_MINIMIZE)
GUICtrlSetData($fortschritt, 100)
Sleep(500)
GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Verbindungsaufbau abgeschlossen.")
Sleep(2000)
SoundPlay(@ScriptDir & "\logon.wav",1)
;Exit
GUISetState(@SW_HIDE, $Mainform)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]VPNStatus()
Return
EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Func VPNStatus()
GUISetState(@SW_SHOW, $Childform)
GUICtrlSetData($lbl_info2, @CRLF & "Verbindungsgeschwindigkeit wird ermittelt") ; Da ist glatt gelogen abder irgendwas muss ja da stehen.
[/autoit] [autoit][/autoit] [autoit]RunWait("C:\firma\Sysinternals\Bginfo.exe C:\firma\Sysinternals\BGInfo_PC.bgi /accepteula /timer:0")
GUICtrlSetData($lbl_info, @CRLF & @CRLF &"BG Info wird gestartet.")
;#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]$Connection = Ping($Testserver,1000)
[/autoit] [autoit][/autoit] [autoit];Schleife einbauen Timerinit? http://www.autoit.de/index.php?page=Thread&threadID=8900
;If TimerDiff($begin) > 5000 Then
GUICtrlSetData($lbl_info2, @CRLF & "VPN Verbindung zu firma aktiv." & @CRLF & "Die Antwortzeit beträgt:" & @CRLF & $Connection & " ms.")
[/autoit] [autoit][/autoit] [autoit];Hier muss ne Schleife rein
While 1
$Connection = Ping($Testserver,1000)
Sleep (2000)
;Warnmeldung
If $Connection > 350 then
GUICtrlSetData($lbl_info2, @CRLF & "Achtung!" & @CRLF & @CRLF &"Sehr langsame Verbindung!" & @CRLF & "Arbeit nur unter Schwierigkeiten möglich!")
;GUICtrlSetBkColor($lbl_info2, 0xFF0000)
Else
GUICtrlSetData($lbl_info2, @CRLF & "VPN Verbindung zu firma aktiv." & @CRLF & "Die Antwortzeit beträgt:" & @CRLF & $Connection & " ms.")
EndIf
[/autoit] [autoit][/autoit] [autoit]WEnd
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Func VPNDisconnect()
MsgBox(0, '', 'Test') ; nur zum Testen eingefügt
[/autoit] [autoit][/autoit] [autoit]Run("rasdial /DISCONNECT","",@SW_HIDE)
Sleep(1000)
Run("net use /delete * /YES")
Sleep (1000)
Exit
EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Func StartVPNConnect()
Local $PingVar, $RoundTrip, $InitTime, $PID
$passwort = GUICtrlRead($lbl_passwort)
$ConnectionName =('"firma VPN"')
$Testserver = "dc.firma.local"
$rasdial =("rasdial " &$ConnectionName& " " & $User & " " & $passwort & " " &" /DOMAIN:firma")
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]; MsgBox(0,"", $rasdial)
$Connect= RunWait(@ComSpec & " /c " & '"' & $rasdial & '"',"",@SW_HIDE)
;MsgBox(0,"",$Connect)
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)
ProcessClose ($Connect)
Exit
EndIf
GUICtrlSetData($lbl_info, @CRLF & @CRLF &"Bitte warten," & @CRLF & @CRLF & "VPN Verbindung mit firma wird hergestellt.")
Sleep(1000)
$PingVar = Ping($Testserver,1000)
While $PingVar = 0
Sleep(100)
$PingVar = Ping($Testserver,1000) ;sonst ändert sich $pingvar nicht:-)
WEnd
GUICtrlSetData($fortschritt, 20)
Sleep(500)
GUICtrlSetData($fortschritt, 30)
Sleep(500)
GUICtrlSetData($fortschritt, 40)
Return $PingVar
[/autoit] [autoit][/autoit] [autoit]EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
; Unterfunktion : Starten der UMTS-Internet-Verbindung
Func StartUMTSInternetConnect()
Local $PingVar, $RoundTrip, $InitTime, $PID, $passwort, $ConnectionName, $Testserver, $user, $Testdomain
$passwort = GUICtrlRead($lbl_passwort)
$ConnectionName =('"firma VPN"')
$Testserver = "dc.firma.local"
$User = @UserName
$Testdomain = "www.google.de"
$rasdial =("rasdial " &$ConnectionName& " " & $User & " " & $passwort & " " &" /DOMAIN:firma")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Run("C:\Program Files\Option\GlobeTrotter Connect\GlobeTrotter Connect.exe")
GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Bitte stellen Sie die Verbindung" & @CRLF & @CRLF& "über GlobeTrotter Connect her.")
Sleep(1000)
WinWait("GlobeTrotter Connect", "Disconnect")
$PingVar = Ping($Testdomain,1000); solange keine Internetverbindung besteht gehts nicht weiter
[/autoit] [autoit][/autoit] [autoit]While $PingVar = 0;Warten bis Verbindung steht
;MsgBox(0,"Ping" , $PingVar,1)
GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Ein Moment bitte" & @CRLF & @CRLF& "Internetverbindung wird über UMTS hergestellt.")
Sleep(100)
$PingVar = Ping($Testdomain,1000)
WEnd
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];Dann rasdial
RunWait(@ComSpec & " /c " & '"' & $rasdial & '"',"",@SW_HIDE)
If $PingVar > 0 Then
WinSetState("GlobeTrotter Connect","",@SW_MINIMIZE)
;ExitLoop
EndIf
;WEnd
;$UMTSPing = Ping($Testdomain,1000)
GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Verbindungsgeschwindigkeit" & @CRLF & @CRLF& $PingVar & " ms")
sleep(1000)
Return $PID; $PingVar
EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/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];-------------------------------------------------------------------------------------------------------------------------------------------------------------
Func MapDrive()
GUICtrlSetData($lbl_info,@CRLF & @CRLF & "Ein Moment bitte,"& @CRLF & @CRLF & "Ihre Netzwerklaufwerke werden verbunden.")
[/autoit] [autoit][/autoit] [autoit]RunWait(@LogonServer & "\netlogon\logon.bat","",@SW_HIDE)
sleep(1000)
GUICtrlSetData($lbl_info,@CRLF & @CRLF &"Netzwerklaufwerke erfolgreich verbunden.")
Sleep(500)
Return
EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
; Outlook Addins aktivieren
Func ECM_Addins()
If ProcessExists("outlook.exe") Then
GUICtrlSetData($lbl_info,"Outlook ist noch geöffnet, bitte beenden.")
MsgBox(48,"Outlook bitte beenden....","Bitte beenden Sie Outlook, bevor die Anmeldung komplett ausgeführt wird." & @CRLF & @CRLF & "Oder klicken Sie auf OK und outlook wird automatisch beendet")
If ProcessExists("outlook.exe") Then
SplashTextOn("Ein Moment bitte...",@CRLF & "Outlook wird gestoppt.......","-1","100","-1","-1",0,"","","")
Sleep(500)
ProcessClose("outlook.exe")
Sleep(500)
SplashOff()
Else
[/autoit] [autoit][/autoit] [autoit]EndIf
EndIf
GUICtrlSetData($lbl_info,@CRLF &@CRLF & "Outlook AddIns werden aktiviert.")
Sleep(500)
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\AddIns\firma.ECM.OutlookAddIn","LoadBehavior","REG_DWORD","00000003")
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Office\InfoPath\AddIns\firma.ECM.InfoPathAddIN","LoadBehavior","REG_DWORD","00000003")
GUICtrlSetData($lbl_info,@CRLF & @CRLF & "Outlook AddIns aktiv.")
Sleep(500)
GUICtrlSetData($fortschritt, 95)
Return
EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;~ Controls verstecken
Func Ausblenden()
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($radio_dsl, $gui_hide)
GUICtrlSetState($radio_umts, $gui_hide)
EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;Controls einblenden
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($radio_dsl, $gui_show)
GUICtrlSetState($radio_umts, $gui_show)
EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
; Exitus
Func Terminate()
Exit 0
EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
na dann mach doch einfach das Installationsfenster unsichtbar, oder verhindere den Input.
Dann kannst Du dir das "verstecken" sparen ![]()
so?
[autoit]
#include <GUIConstants.au3>
#region - GUI Create
GUICreate('')
GUISetState()
#endregion
Dim $pcname[5] = ['PC1','PC2','PC3','PC4','PC5']
$Progress1 = GUICtrlCreateProgress(10, 168, 302, 16)
for $a = 1 to ubound($pcname)
GUICtrlSetData ( $Progress1, 100/Ubound($pcname) * $a)
Sleep(250)
Next
#region - GUI SelectLoop
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
#endregion
Hallo Ilse,
bevor Du mit den einzelnen Funktionen "hantieren" kannst,
solltest du einige Grundprinzipien lernen.
Da fehlt noch viel.
Du möchtest gern ein Auto fahren, verstehst aber bisher noch nicht was ein Zündschloss ist.
So wird das vermutlich nicht das Ergebnis bringen, dass Du Dir erhoffst ...
Hallo Ilse,
ich möchte Dich bitten Dich zu entscheiden.
Nachdem Dir die grundlegeneden Begriffe und Denkweisen nicht geläufig sind ...
Möchtest Du das programmieren erlernen, oder möchtest Du ein Script erstellt bekommen?
Wenn wir wissen was Du willst, dann wirst Du auch dem entsprechendes Feedback erhalten.
Da Du aber die Hilfe gar nicht / falsch / oder nur halbherzig liest wird es wohl auf die 2. Variante herauslaufen ...
wie soll man eine beantwortete Frage beantworten?
Genau so.
da die ProgressBar immer bis 100 zähle brauchst Du diese Zahl auch als Basis.
Ist aber ein einfacher Dreisatz. ![]()
UBound($array)/100*$i wenn Du $i als Zählvariable für das Array verwendest...
das Zauberwort heißt _ArrayToString() ![]()
dann musst Du das doch zeilenweise einlesen und mit StrinInStr prüfen.
ungefähr so (nicht getestet ...)
[autoit]
$NeueDatei = InputBox("Neu","DateiName","DateiNeu.txt")
$file = FileOpen("test.txt", 0)
If $file = -1 Then Exit MsgBox(0, "Error", "Unable to open file.")
$line = FileRead($file)
$line = StringReplace($line,"VERSION","Test")
$line = StringReplace($line,"GOTO","Web")
FileWrite($NeueDatei,$line)
FileClose($file)
hab den Code mal etwas gekürzt. ![]()
schau Dir doch ab, wie es bei _FileReadtoArray gemacht wird.
Musst doch nur wie slowly schon sagte durch GuiCtrlRead ersetzen ![]()
Func _FileReadToArray($sFilePath, ByRef $aArray)
Local $hFile = FileOpen($sFilePath, $FO_READ)
If $hFile = -1 Then Return SetError(1, 0, 0);; unable to open the file
;; Read the file and remove any trailing white spaces
Local $aFile = FileRead($hFile, FileGetSize($sFilePath))
;~ $aFile = StringStripWS($aFile, 2)
; remove last line separator if any at the end of the file
If StringRight($aFile, 1) = @LF Then $aFile = StringTrimRight($aFile, 1)
If StringRight($aFile, 1) = @CR Then $aFile = StringTrimRight($aFile, 1)
FileClose($hFile)
If StringInStr($aFile, @LF) Then
$aArray = StringSplit(StringStripCR($aFile), @LF)
ElseIf StringInStr($aFile, @CR) Then ;; @LF does not exist so split on the @CR
$aArray = StringSplit($aFile, @CR)
Else ;; unable to split the file
If StringLen($aFile) Then
Dim $aArray[2] = [1, $aFile]
Else
Return SetError(2, 0, 0)
EndIf
EndIf
Return 1
EndFunc ;==>_FileReadToArray
Hallo Ilse,
$file = FileOpen("test2.txt", 0) ; Datei wird angesprochen. Dabei wird für die Datei ein sogenanntes "Handle" übergeben an $file
[/autoit] [autoit][/autoit] [autoit]InputBox("Neu","Neue Datei") ; Abfrage eines Strings, der den Dateinamen der neu zu speichernden Datei enthalten soll. Nur worin wird der zwischengespeichert bis er gebraucht wird... ?
; Deine InputBox müsste also eine Variable habe, der es den String "neuer Dateiname" auch reinschreiben kann --> $neue_Datei = InputBox("Neu","Neue Datei")
If $file = -1 Then ; Abfrage wie in der Hilfe zu sehen, ob das ansprechen der angegebenen Datei erfolgreich war. (ist die Datei überhaupt vorhanden, oder ist sie durch einen anderen Prozess gesperrt, etc
MsgBox(0, "Error", "Unable to open file.") ; Ausgabe einer Fehlermeldung bei Fehler
Exit ; Beenden des Scriptes bei Fehler
EndIf ; Ende der If-Anweisung
While 1 ; Start einer Schleife mit der Bedingung : Laufe solange 1=1 ist
$line = FileReadLine($file) ; Lese ab der ersten Zeile eine Zeile aus der in Variable $file angegebenen Datei in die Variable $line !!!
If @error = -1 Then ExitLoop ; Wenn letzte Zeile erreicht, dann Schleife beenden
$Wort1 = StringReplace($line,"Petra","Web.de") ; speichere die Änderung durch StringReplace in einer neuen Variable namens $Wort1 !!!
$Wort2 = StringReplace($line,"Lisa","Gmx.de") ; speichere die Änderung durch StringReplace in einer neuen Variable namens $Wort2 !!!
Wend
MsgBox(0,"Fertig","Datei wurde angepasst") ; MessageBox mit Text ...
[/autoit] [autoit][/autoit] [autoit]#cs
so, nun dazu, warum das so nicht geht.....
- 1. der neue Dateiname wird weder in einer Variablen vorgehalten noch direkt beim Erstellen der neuen Datei abgefragt z.B.: FileWrite(InputBox("Neu","Neue Datei"),$file)
- 2. die Änderungen des Textes durch StringReplace werden in neuen Variablen gespeichert, die dann nicht mehr verwendet werden
- 3. es wird in diesem Script nichts zum Schluß gespeichert. FileWrite ...
#ce
[/autoit] [autoit][/autoit] [autoit][/autoit]dann liegt es nicht am Script.
ich habe das gepostete selbst probiert unter Win 7 64bit.