Hallo,
am einfachsten ist es die Daten mit FileGetShortcut einzulesen, die Verknüpfung zu löschen und mit FileCreateShortcut eine neue Verknüpfung mit den geänderten Daten zu erstellen!
Hallo,
am einfachsten ist es die Daten mit FileGetShortcut einzulesen, die Verknüpfung zu löschen und mit FileCreateShortcut eine neue Verknüpfung mit den geänderten Daten zu erstellen!
Hallo,
ich weiss nicht ob es schon jemand gemerkt hat aber die max. SMS-Länge bei smsgott.de ist auf 147 Zeichen beschränkt!
Hallo,
ich behaubte mal das dein Board nicht das gleiche ist wie das hier! Das von dir ist von PHPKIT, dass hier ist von WoltLab.
Der Spoiler ist ein sogenannter BBCode, einfach mal mit Google nach spoiler bbcode phpkit suchen!
Hallo,
es gibt auch einen OnEvent-Modus. In der Hilfe unter "GUI Reference" -> "OnEvent Mode"!
@it: *to lahm*, @Mega war mal wieder schneller!
Hallo,
man braucht doch nur die Punkte zu zählen und wenn es mehr als einer ist den String als ungültig zu erklären.
[autoit]Global $Str[5]
$Str[0] = 'abc"cvghaj.doc' ; ungültig wegen
$Str[1] = 'ahjdg&dlmsh.xls'; ungültig wegen
$Str[2] = 'abc.def.doc' ; ungültig wegen
$Str[3] = 'abcdef.doc' ; gültig
$Str[4] = 'c:\test.doc' ; gültig
For $i = 0 To UBound($Str) - 1
ConsoleWrite($Str[$i] & " : " & ValidFileName($Str[$i]) & @CRLF)
Next
Func ValidFileName($String)
StringReplace($String, ".", ".")
Return Not ((@extended > 1) Or StringRegExp($String, '[$%"&\[\#~]', 0))
EndFunc
Hallo,
so wird es zu einem Fehler kommen! Bei Arrays beginnt der Index mit 0!
global $checkbox[20] , $top = 70
for $i = 0 to 19
$checkbox[$i] = GUICtrlCreateCheckbox("Das ist die" & $i + 1 & ". Checkbox",70,$top)
$top += 30
Next
Hallo,
die Auswertung der Zahlen funktioniert noch nicht richtig, s. Anhang!
Das Ergebnis ist 5 5 5 2, also hätte in Zeile 2 schon eine und in Zeile 4 drei grüne Lampen leuchten müssen!
_ArrayMin, _ArrayMax, _ArrayMinIndex und _ArrayMaxIndex beziehen sich auf den Inhalt eines Array nicht auf dien Anzahl der Elemente!
_ArrayMin gibt den kleinsten Wert im Array zurück
_ArrayMax gibt den grössten Wert m Array zurück
_ArrayMinIndex gibt die Nummer des Elements mit dem kleinsten Wert im Array zurück
_ArrayMaxIndex gibt die Nummer des Elements mit dem grössten Wert im Array zurück
Hallo,
der Fehler liegt an der For-Schleife, _ArrayMax gibt den größten Wert im Array zurück und nicht die Anzahl der Element!
Schreib mal die For-Anweisung so:
[autoit]For $i = 0 To Ubound($array_alt) - 1
[/autoit]@1: Ausserdem muss sichergestellt sein das $array_neu mindesten soviel element hat wie $array_alt, ansonsten gibt die Schleife immer den Fehler zurück!
Hallo,
wenn Du den String
der bei dir ja in $frta[2] steht mit
$split = StringSplit($frta[2],";")
[/autoit]zerlegst steht in
[autoit]$split[0] = 14 ;Anzahl der Teilstrings
$split[1] = "K"
$split{2] = "380"
$split[3] = "D--01/9005547731"
$split[4] = "9"
$split[5] = "20070501"
$split[6] = "20070501"
$split[7] = "20070531"
$split[8] = "31"
$split[9] = ""
$split[10] = "5608421124"
$split[11] = ""
$split[12] = ""
$split[13] = ""
$split[14] = ""
Was willst Du mit
[autoit]StringInStr($frta[2], $split[6])
[/autoit]den erreichen?
Hallo,
warum zerlegst Du nicht einfach die Zeile mit StringSplit?
[autoit]$split = StringSplit($frta[2],";")
[/autoit]Dann befindet sich in $split[6] das 1. gesuchte Datum und in $split[7] das 2. Datum.
Hallo,
Du musst die Datei im Binary-Mode, mit FileOpen, öffnen!
Hallo,
normalerweise wird die Formatierung aus dem Editor übernommen, einfach im Editor alles markieren und kopieren, danach hier einfügen und fertig!
Hallo,
vllt. hilft dir ja der Beitrag Incremental Backup ....
Hallo,
wenn esi in ein Array eingelesen wird, gehts so:
[autoit]_FileReadToArray($szFileName, $aszReNr)
If IsArray($aszReNr) Then
$szParam1 = $aszReNr[1] & ".." & $aszReNr[Floor($aszReNr[0]/2)] ; 1. Hälfte
$szParam2 = $aszReNr[Floor($aszReNr[0]/2)+1] & ".." & $aszReNr[$aszReNr[0]] ; 2. Hälfte
MsgBox(0, "", "1. Hälfte: " & $szParam1 & @CRLF & "2. Hälfte: " & $szParam2)
EndIf
Du kannst die Angaben aber auch direkt aus der Datei lesen:
[autoit]$cLines = _FileCountLines($szFileName)
If $cLines > 0 Then
$szParam1 = FileReadLine($szFileName,1) & ".." & FileReadLine($szFileName,Floor($cLines/2))
$szParam1 = FileReadLine($szFileName,Floor($cLines/2)+1) & ".." & FileReadLine($szFileName,$cLines)
MsgBox(0, "", "1. Hälfte: " & $szParam1 & @CRLF & "2. Hälfte: " & $szParam2)
EndIf
Alina, ich wünsche Dir alles erdenklich Gute zum Geburtstag!
:baloon: :birthday: :baloon:
:tassen: :tassen: :tassen: :tassen: :tassen:
Hallo,
Ich würde es so lösen:
#Region converted Directives from D:\Scripts_KBHSRV\Export_SAP.au3.ini
#AutoIt3Wrapper_aut2exe=C:\Programme\AutoIt3\Aut2Exe\Aut2Exe.exe
#AutoIt3Wrapper_outfile=\\kbhsrv.eurotours.lan\e$\Scripts\Export_SAP.exe
#AutoIt3Wrapper_Res_Comment=(C) Garnreiter
#AutoIt3Wrapper_Res_Description=Export SAP Daten
#AutoIt3Wrapper_Res_Fileversion=5.0.0.1
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=(C) Garnreiter
#AutoIt3Wrapper_Run_AU3Check=1
#EndRegion converted Directives from D:\Scripts_KBHSRV\Export_SAP.au3.ini
;
#comments-start
CopyRight 2007 (c) Garnreiter
Version 5.0.0.1
#comments-end
Opt("WinWaitDelay", 100)
Opt("WinTitleMatchMode", 4)
Opt("WinDetectHiddenText", 1)
Opt("MouseCoordMode", 0)
#include <file.au3>
Global $root = IniRead(@ScriptDir & "\Export.ini", "PFADE", "root", "keine Pfad konfiguriert") ; E:\
Global $PFAD = IniRead(@ScriptDir & "\Export.ini", "SAP", "pfad", "keine Pfad konfiguriert"); Exportpfad für die Weiterverarbeitung SAP
Global $VON = IniRead(@ScriptDir & "\Export.ini", "SAP", "von", "keine Pfad konfiguriert"); derzeit kein eintrag
Global $BIS = IniRead(@ScriptDir & "\Export.ini", "SAP", "bis", "keine Pfad konfiguriert"); derzeit kein eintrag
Global $CRS = IniRead(@ScriptDir & "\Export.ini", "PFADE", "CRS", "keine Pfad konfiguriert"); Pfad zur Weiterverarbeitungsmaschine
Global $JACDAT = IniRead(@ScriptDir & "\Export.ini", "PFADE", "JACDAT", "keine Pfad konfiguriert"); Programmdatenpfad
Global $JACOFC = IniRead(@ScriptDir & "\Export.ini", "PFADE", "JACOFC", "keine Pfad konfiguriert"); ProgrammPfad
Global $pw = IniRead(@ScriptDir & "\Export.ini", "PW", "pw", "NotFound"); Passwort
Global $MAN = IniRead(@ScriptDir & "\Export.ini", "MANDANT", "MAN", "keine Pfad konfiguriert"); Mandant
$PID = ProcessExists("Jackv30.exe") ; Will return the PID or 0 if the process isn't found.
If $PID Then ProcessClose($PID)
_FileWriteLog($root & "\log\SAP_Export.log", "SAP Export Beginn")
Run($JACOFC & "\Jackv30.exe", $JACDAT); Programm start
;---------------- Passwortabfrage----------------------------------------
WinWait("Paßwort", "Sollten die obigen L")
If Not WinActive("Paßwort", "Sollten die obigen L") Then WinActivate("Paßwort", "Sollten die obigen L")
WinWaitActive("Paßwort", "Sollten die obigen L")
Sleep(2000)
ControlSend("Paßwort", "Sollten die obigen L", 303, "admin")
ControlSend("Paßwort", "Sollten die obigen L", 100, $pw)
ControlClick("Paßwort", "Sollten die obigen L", 301)
;~ Erscheint das folgende Fenster immer ?
;~ WinWait("Rückfrage", "&Ja") ; wenn Fenster immer erscheint aktivieren
WinWait("Rückfrage", "&Ja", 10) ; wenn Fenster immer erscheint deaktivieren
If WinExists("Rückfrage", "&Ja") Then
WinWait("Rückfrage", "&Ja")
If Not WinActive("Rückfrage", "&Ja") Then WinActivate("Rückfrage", "&Ja")
WinWaitActive("Rückfrage", "&Ja")
ControlClick("Rückfrage", "&Ja", 6)
Else
Sleep(1)
EndIf
;---------------- Passwortabfrage Ende-----------------------------------
WinWait("Jack / X6.03", "Buchhaltung")
If Not WinActive("Jack / X6.03", "Buchhaltung") Then WinActivate("Jack / X6.03", "Buchhaltung")
WinWaitActive("Jack / X6.03", "Buchhaltung")
;---------------- SAP Export Aufruf--------------------------------------
Send("{ALTDOWN}{F5}{ALTUP}")
WinWait("Vorgangsexport - MIS / SAP", "Beträge ohne Kommaze")
If Not WinActive("Vorgangsexport - MIS / SAP", "Beträge ohne Kommaze") Then WinActivate("Vorgangsexport - MIS / SAP", "Beträge ohne Kommaze")
WinWaitActive("Vorgangsexport - MIS / SAP", "Beträge ohne Kommaze")
ControlClick("Vorgangsexport - MIS / SAP", "", 3926)
ControlSend("Vorgangsexport - MIS / SAP", "Beträge ohne Kommaze", 3921, $MAN)
ControlSend("Vorgangsexport - MIS / SAP", "Beträge ohne Kommaze", 3922, $MAN)
ControlSetText("Vorgangsexport - MIS / SAP", "Beträge ohne Kommaze", 3928, $PFAD ) ; Pfad angabe wohin er exportieren soll
ControlCommand("Vorgangsexport - MIS / SAP", "Beträge ohne Kommaze", 1068, "Check", "")
ControlSend("Vorgangsexport - MIS / SAP", "Beträge ohne Kommaze", 3944, $VON) ; Von wann
ControlSend("Vorgangsexport - MIS / SAP", "Beträge ohne Kommaze", 3946, $BIS) ; Bis wann
ControlClick("Vorgangsexport - MIS / SAP", "Beträge ohne Kommaze", 1)
WinWait("Rückfrage", "Wollen Sie die Daten")
If Not WinActive("Rückfrage", "Wollen Sie die Daten") Then WinActivate("Rückfrage", "Wollen Sie die Daten")
WinWaitActive("Rückfrage", "Wollen Sie die Daten")
ControlClick("Rückfrage", "Wollen Sie die Daten", 6)
;---------------- SAP Exportaufruf Ende-----------------------------------
; Process Balken "Export in eine Datei"
WinWait("Export in eine Datei", "",7)
If WinExists("Export in eine Datei", "") Then WinWaitClose("Export in eine Datei", "")
; Process Balken "Exportieren Satzart 21"
WinWait("Exportieren", "", 10)
If WinExists("Exportieren", "") Then WinWaitClose("Exportieren", "")
; Process Balken "Exportieren der VA-Eingangsrechnungen"
WinWait("Exportieren", "", 10)
If WinExists("Exportieren", "") Then WinWaitClose("Exportieren", "")
; Hinweis GUI wieviel Daten exportiert sind"
WinWait("Hinweis", "", 10)
If WinExists("Hinweis", "") Then
$handle = WinGetHandle("Hinweis", "")
ControlClick($handle, "", 2)
EndIf
WinWait("Jack / X6.03","Buchhaltung")
If Not WinActive("Jack / X6.03","Buchhaltung") Then WinActivate("Jack / X6.03","Buchhaltung")
WinWaitActive("Jack / X6.03","Buchhaltung")
#comments-start ; alte version
;~ While 1
;~ Sleep(200)
;~ If Not WinExists("Export in eine Datei", "") Then
;~ ExitLoop
;~ EndIf
;~ WEnd
;~ While 1
;~ Sleep(200)
;~ If Not WinExists("Exportieren Satzart 21", "") Then
;~ ExitLoop
;~ EndIf
;~ WEnd
;~ While 1
;~ Sleep(200)
;~ If not WinExists("Exportieren der VA-Eingangsrechnungen", "") then
;~ ExitLoop
;~ EndIf
;~ WEnd
;~ While 1
;~ Sleep(200)
;~ If WinExists("Hinweis", "") Then
;~ ExitLoop
;~ EndIf
;~ WEnd
;~ $handle = WinGetHandle("Hinweis", "")
;~ ControlClick($handle, "", 2)
;~ WinWait("Jack / X6.03", "Buchhaltung")
;~ If Not WinActive("Jack / X6.03", "Buchhaltung") Then WinActivate("Jack / X6.03", "Buchhaltung")
;~ WinWaitActive("Jack / X6.03", "Buchhaltung")
#comments-end
$PID = ProcessExists("Jackv30.exe") ; Will return the PID or 0 if the process isn't found.
If $PID Then ProcessClose($PID)
_FileWriteLog($root & "\log\SAP_Export.log", "SAP Export Ende")
Exit
Hallo,
funktionieren dürfte keine deiner bei Funktionen, weil der Typ "String" nicht gültig ist, der Typ für Strings heisst "str"!
Hallo und :willkommen:,
da die Rede von Prozeduren ist gehe mal davon aus das Du aus der Pascal/Delphi-Welt kommst!
Mit Func hast den Nagel auf den Kopf getroffen, dass ist im Prinzip das gleiche wie Prozeduren in Pascal/Delphi und können auch genauso aufgerufen werden. Über Call werden Funktionen nur aufgerufen der Funktionsname in einer Variable gespeichert ist.
dim $a = 15,
; VNC-Login ra =START=
$text = "r" & $a
run("C:\Programme\RealVNC\VNC4\vncviewer.exe")
WinWaitActive("VNC Viewer : Connection Details", "", 5)
Opt("WinWaitDelay", 2000)
send ($text, 1)
send ("{ENTER}")
If WinExists("VNC Viewer : Authentication [No Encryption]") Then
vnclogin()
Else
if WinWaitActive("VNC Viewer : Error", "", 5) then
WinClose ( "VNC Viewer : Error")
EndIf
EndIf
; VNC-Login ra =END=
Func vnclogin ()
WinWaitActive("VNC Viewer : Authentication [No Encryption]", "", 5)
send ("vnc_passwort")
send ("{ENTER}")
WinWaitActive($text, "", 2)
send ("^+!{DEL}")
Opt("MouseCoordMode", 0)
MouseClick("left", 718, 435, 2, 10)
send ("admin")
send ("{TAB}")
send ("administrator_passwort")
send ("{TAB}")
send ($text, 1)
send ("{ENTER}")
WinWaitActive($text, "", 5)
EndFunc
Hallo,
erkläre doch mal bitte genau was das Programm überhaupt machen soll, ich vermute nämlich das es bestimmt eine bessere Möglichkeit gibt als über Notepad.exe und Zwischenablage zu arbeiten. Mich jedesmal durch deinen Code zu hangeln ist mir bei deinem Programmierstil etwas zu mühsam. ![]()