wie weit bist du denn schon?
schau doch mal
ProcessClose ( "process")
[/autoit][autoit]TCPAccept ( mainsocket )
[/autoit][autoit]TCPConnect ( IPAddr, port )
[/autoit]usw...
wie weit bist du denn schon?
schau doch mal
ProcessClose ( "process")
[/autoit][autoit]TCPAccept ( mainsocket )
[/autoit][autoit]TCPConnect ( IPAddr, port )
[/autoit]usw...
das geht immer so schnell. soll kein glauben ich habe nicht gesucht...
vielen vielen Dank !! klappt.
häää wieso das denn?
Ist das nicht am einfachsten, wenn man das mit einer GPO direkt machst? Oder versteh ich da was falsch?
Franz
ich haben eine GUICtrlCreateEdit box. Und möchte die Zeilen zählen, in denen etwas geschrieben ist. Hat das schon jemand gemacht?
vielen Dank schonmal.
Franz
Ich bin eigentlich kein Freund, wenn der Source Code nicht veröffentlich wird.
Das entspricht meiner Meinung nicht dem Sinn dieses Forum´s.
Aber trotzdem ein Verbesserungsvorschlag von mir. Es lassen sich mehrere Instanzen der Datei starten. Das könnte man doch verhindern ! Macht doch wenig Sinn.
Und was wirklich nervig ist der Standardmäßig eingeschaltete Autostart !!
Und bei mir wird beim Update Versuch die Ini gelöscht und damit alle neuen Sender gekillt. Und dannach ist das blöde Win_Autostart auch wieder an.
Ok genug gemeckert, sonst ganz witzig!
Franz
Danke,
wenn man immer wüsste nach was man suchen muß.
Franz
Hi,
diese function wird von meinen Hauptprogramm aus gestartet:
[autoit]Func _optionen()
$ins = iniread("sms.ini", "options", "absender", "not found")
$ins2 = iniread("sms.ini", "options", "passwort", "not found")
$Form1_1 = GUICreate("login ändern", 291, 150, 274, 220)
$Label1 = GUICtrlCreateLabel("Login", 32, 24, 30, 17)
$Label2 = GUICtrlCreateLabel("Passwort", 32, 64, 47, 17)
$opt_login = GUICtrlCreateInput("", 104, 24, 137, 21)
GUICtrlSetData(-1, $ins)
$opt_passwd = GUICtrlCreateInput("", 104, 64, 137, 21)
GUICtrlSetData(-1, $ins2)
$bt_speichern = GUICtrlCreateButton("speichern", 168, 96, 75, 25, 0)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $bt_speichern
IniWrite("sms.ini", "options", "absender", Guictrlread($opt_login))
IniWrite("sms.ini", "options", "passwort", Guictrlread($opt_passwd))
MsgBox(64,"success","erfolgreich gespeichert!")
_Main()
Case $GUI_EVENT_CLOSE
EndSwitch
WEnd
EndFunc ;=== _optionen
Allerdings wenn ich dann die Werte speichere bleibt diese GUI im Hintergrund geöffnet und einfach das neue Hauptmenue wird "drüber"geblendet. Wie beende ich diese Func ohne aber die _Main Funktion zu schließen? Exitloop funktioniert nicht und exit beendet alles.
Kann mir jemand einen tipp geben?
ja das hatte ich auch erst gedacht, aber dann ist die Ausgabe 2008/08/05. Dachte es geht einfacher, denn jetzt muss ich ja mit
[autoit]$sNewDate = _DateAdd( 'd',-14, _NowCalcDate())
$sDate = Stringreplace ( $sNewDate, "/", "")
noch die / entfernen.
Ok so geht´s. Danke
Ich steh gerade aufm Schlauch.
Ich wollte mit
[autoit]$Date = @YEAR & @MON & @MDAY - 14
[/autoit]
für den heutigen Tag immer 14 Tage abziehen.
jetzt sind da zwei Probleme:
1. die Ausgaben soll so 20080805 sein. Aber in diesem Fall ist das Ergebniss 2008085, weil 19 - 14 halt 5 und nicht 05 ist.
2. wenn es z.B. der der 10te ist und ich 14 abziehe das ergbniss 200808-4
Ist vermutlich ziemlich einfach, aber ich komme einfach nicht drauf. :wacko:
Danke
Franz
also für mysql gibt es auch eine udf. Hast Du die schon probiert?
:pinch: ist das rot
Also hier geht´s ja nur um die Optik oder ? nicht böse gemeint, aber besonders schön finde ich es nicht.
sehr genial und total praktisch !!
Opt("WinTitleMatchMode", 4)
do
If WinExists("","suchtext") Then
MouseClick("left", 0, 500, 2)
$var = WinWaitClose ( "" , "suchtext" )
EndIf
until $var = 1
So ungefähr sollte der erste Teil funktionieren. Aber ungetestet !!
Das andere finde ich auch seltsam erklärt.
#include <Process.au3>
[/autoit][autoit][/autoit][autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $button1
_RunDOS ( "c:\diedatei.exe" )
EndSwitch
WEnd
So müsste das ungefähr aussehen.
aber mit + zwischen den keys soll er die tasten doch gleichzeitig drücken oder?
probier doch mal
[autoit]send ("^h1^h")
[/autoit]wenn es ein echtes + sein soll musst Du ihm {+} geben.
wenn das noch zu schnell ist vielleicht einfach
[autoit]
send("^")
sleep(100)
send("h")
sleep(100)
;usw....
nicht schön aber laaaaangsamer.
Hi,
schöner und vor allem schneller(weil man keine 10 Sekunden warten muß) wäre:
[autoit]
if winexists ("Fenster titel blabla ") Then
; hier kommt der der code für den click auf ok.
EndIf
Kostenlose Alternative, die du auch auf DOS/Windows anwenden kannst: qparted - wohl auf jeder Linux-LiveCD vorhanden. Da Partitionierungsaufgaben ja nicht jeden Tag anstehen, reicht es doch aus zu diesem Zweck von der CD zu starten.
ich kenn das unter den Namen gparted. Und das tool funktioniert Super. Habe das schon mehrfach benutzt, allerdings nur von CD.
hier jetzt mein "fertiger" Code mit dem ich mir mit eurer Hilfe viel Arbeit gespart habe:
bestimmt nicht besonders sauber, aber ist eben mein erstes Script.
Auch wenn es vermutlich niemand (außer mir) brauchen kann.
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.12.0
Author: fpr
Version: 1.0
Script Function:
Generiert Signaturen für Inpro Makros
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#include<Array.au3>
[/autoit] [autoit][/autoit] [autoit]$sPath = FileSelectFolder("choose Folder", "\") ; der Ordner, der durchsucht werden soll
$sExt = InputBox("Extension", ".dot", ".dot") ; Dateiendung der gewünschten Dateien (z.B. alle Txt-Dateien)
$sDate = Inputbox("Alle Dateien die neuer sind als:", "(Format: YYYYMMDDhhmmss)","20080801000000"); Alle Dateien die neuer sind als dieses Datum/Uhrzeit (Format: YYYYMMDDhhmmss)
; Array mit funktion füllen.
$array = _GetFilesFolder_Rekursiv($sPath, $sExt, 0, $sDate)
; Zür Prüfung Array darstellen.
_ArrayDisplay($array)
Opt("WinWaitDelay",100)
Opt("WinTitleMatchMode",2)
Run('D:\Programme\Microsoft Office\OFFICE11\WINWORD.EXE')
WinWait("Microsoft Word","")
If Not WinActive("Microsoft Word","") Then WinActivate("Microsoft Word","")
WinWaitActive("Microsoft Word","")
; Schleife mit array
For $i = 1 to Ubound($array) -1
; MsgBox(0, 'Ergebnis Splitten', 'Wert Nr.:' & $i & ' = ' & $array[$i])
sleep(1500)
send("!df")
WinWait("Öffnen","")
If Not WinActive("Öffnen","") Then WinActivate("Öffnen","")
WinWaitActive("Öffnen","")
send($array[$i]&"{ENTER}") ; Datei aus array öffnen
sleep(500)
if winexists ("Sicherheitswarnung") Then
winwait("Sicherheitswarnung")
If Not WinActive("Sicherheitswarnung","") Then WinActivate("Sicherheitswarnung","")
WinWaitActive("Sicherheitswarnung","")
send("a") ; wenn sicherheitswarnung existiert "a" drücken
EndIf
WinWait("- Microsoft Word","")
If Not WinActive("- Microsoft Word","") Then WinActivate("- Microsoft Word","")
WinWaitActive("- Microsoft Word","")
sleep(1500)
Send("{ALTDOWN}{F11}{ALTUP}") ; Visual Basic starten
WinWait("Microsoft Visual Basic","")
If Not WinActive("Microsoft Visual Basic","") Then WinActivate("Microsoft Visual Basic","")
WinWaitActive("Microsoft Visual Basic","")
Send("!xd") ; Signatur Fenster öffnen
WinWait("Digitale Signatur","")
If Not WinActive("Digitale Signatur","") Then WinActivate("Digitale Signatur","")
WinWaitActive("Digitale Signatur","")
send("w{END}{ENTER}") ; Signatur wählen
WinWait("Digitale Signatur","")
If Not WinActive("Digitale Signatur","") Then WinActivate("Digitale Signatur","")
WinWaitActive("Digitale Signatur","")
send("{TAB}{ENTER}") ; Signatur bestätigen
WinWait("Microsoft Visual Basic","")
If Not WinActive("Microsoft Visual Basic","") Then WinActivate("Microsoft Visual Basic","")
WinWaitActive("Microsoft Visual Basic","")
send("!{F4}") ; Visual Baisc beenden
WinWait("Microsoft Word","")
If Not WinActive("Microsoft Word","") Then WinActivate("Microsoft Word","")
WinWaitActive("Microsoft Word","")
send("!dcj") ; Datei speichern und mit "j" bestätigen
sleep(1500)
if winexists ("Microsoft Office Word") Then
winwait("Microsoft Office Word")
If Not WinActive("Microsoft Office Word","") Then WinActivate("Microsoft Office Word","")
WinWaitActive("Microsoft Office Word","")
send("{ENTER}")
EndIf
WinWait("Microsoft Word","") ; warten bis Datei gespeichert und geschlossen.
If Not WinActive("Microsoft Word","") Then WinActivate("Microsoft Word","")
WinWaitActive("Microsoft Word","")
Next
MsgBox(0, 'Ergebnis', 'Es wurden :' & $array[0] & ' Dateien bearbeitet')
Func _GetFilesFolder_Rekursiv($sPath, $sExt = '*', $iDir = -1, $sDate = -1, $iRetType = 0, $sDelim = '0')
If StringLen($sDate) <> 14 Then $sDate = @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC
Global $oFSO = ObjCreate('Scripting.FileSystemObject')
Global $strFiles = ''
Switch $sDelim
Case '1'
$sDelim = @CR
Case '2'
$sDelim = @LF
Case Else
$sDelim = @CRLF
EndSwitch
If ($iRetType < 0) Or ($iRetType > 1) Then $iRetType = 0
If $sExt = -1 Then $sExt = '*'
If ($iDir < -1) Or ($iDir > 1) Then $iDir = -1
_ShowSubFolders($oFSO.GetFolder($sPath), $sExt, $iDir, $sDate, $sDelim)
If $iRetType = 0 Then
Local $aOut
$aOut = StringSplit(StringTrimRight($strFiles, StringLen($sDelim)), $sDelim, 1)
If $aOut[1] = '' Then
ReDim $aOut[1]
$aOut[0] = 0
EndIf
Return $aOut
Else
Return StringTrimRight($strFiles, 1)
EndIf
EndFunc ;==>_GetFilesFolder_Rekursiv
Func _ShowSubFolders($Folder, $Ext = '*', $Dir = -1, $sDate = -1, $Delim = @CRLF)
If Not IsDeclared("strFiles") Then Global $strFiles = ''
If ($Dir = -1) Or ($Dir = 0) Then
For $file In $Folder.Files
If $file.DateLastModified > $sDate Then
If $Ext <> '*' Then
If StringRight($file.Name, StringLen($Ext)) = $Ext Then _
$strFiles &= $file.Path & $Delim
Else
$strFiles &= $file.Path & $Delim
EndIf
EndIf
Next
EndIf
For $Subfolder In $Folder.SubFolders
If $Subfolder.DateLastModified > $sDate Then
If ($Dir = -1) Or ($Dir = 1) Then $strFiles &= $Subfolder.Path & '\' & $Delim
EndIf
_ShowSubFolders($Subfolder, $Ext, $Dir, $sDate, $Delim)
Next
EndFunc ;==>_ShowSubFolders
Hi,
@TO: Eines habe ich ganz vergessen. Für solche Suchdinge kann man auch wunderbar den TotalCommander nutzen. Der liefert alles gratis mit.
Mega
Aber dann habe ich die Dateinamen und Folder noch nicht in autoit.
Die Suchfunktion nach Dateityp recursiv und neues als Datum X bekommt man doch sogar mit windows boardmitteln hin.
Franz
Hi probiers mal mit:
[autoit]_RunDOS('Explorer "' & $picdir & '"')
[/autoit]achso
[autoit]#include <process.au3>
[/autoit]nicht vergessen
Franz