Ich wollte am Ende der Logdatei den nächsten Eintrag anhängen.
Evtl. eine Zeile frei lassen und dann den nächsten Eintrag eintragen.
Beiträge von hexpirator
-
-
Hallo Leute.
Ich bin kein Neuling bei AutoIt, habe aber vor 4 Jahren das letzte Mal etwas damit programmiert.
Meine Frage wäre, wie ich es hinbekomme in einer Textdatei die nächste leere Zeile zu finden
und da die nächste Log-Info abzulegen?
Würde mich freuen, wenn mir da jemand einen Denkanstoß geben könnte.
Ich muss einmal in 24h ein Programm neustarten und dokumentieren, dass der Start erfolgreich war.Vielen Dank euch schonmal im Voraus.
-
Super Hilfe hier!!!
Vielen Dank!Eine Frage habe ich noch. Wenn ich eine Standart-Zeit anzeigen lassen will, wie könnte ich das tun?
Sagen wir mal: Startzeit um 6:30 Uhr und Endzeit 16:00.Gruß, Hexpirator
So ich habe das jetzt so gelöst.
[autoit]#include <ButtonConstants.au3>
[/autoit][autoit][/autoit][autoit]
#include <DateTimeConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Screeny", 186, 112, 470, 404)
GUISetBkColor(0x000000)
Global $inp_Startzeit = GUICtrlCreateDate("", 16, 32, 57, 21,$DTS_TIMEFORMAT)
GUICtrlSendMsg($inp_Startzeit, $DTM_SETFORMATW, 0, "HH:mm")
GUICtrlSetColor(-1, 0xE3E3E3)
Global $inp_Endzeit = GUICtrlCreateDate("", 112, 32, 57, 21,$DTS_TIMEFORMAT)
GUICtrlSendMsg($inp_Endzeit, $DTM_SETFORMATW, 0, "HH:mm")
GUICtrlSetColor(-1, 0xE3E3E3)
Global $Button1 = GUICtrlCreateButton("Starten", 16, 64, 153, 33)
Global $Label1 = GUICtrlCreateLabel("Startzeit", 16, 8, 42, 17)
GUICtrlSetColor(-1, 0xE3E3E3)
Global $Label2 = GUICtrlCreateLabel("Endzeit", 112, 8, 39, 17)
GUICtrlSetColor(-1, 0xE3E3E3)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###Global $anf_zeit
[/autoit]
Global $end_zeit
;vesuch
WinWaitActive("Screeny", "", 10)
ControlSend("Screeny","",$inp_Startzeit,"06")
send ("{RIGHT}")
ControlSend("Screeny","",$inp_Startzeit,"30")
Send("{TAB}")
ControlSend("Screeny","",$inp_Endzeit,"16")
send ("{RIGHT}")
ControlSend("Screeny","",$inp_Endzeit,"00")
ControlFocus("Screeny","",$inp_Startzeit)
send ("{LEFT}")Ich bin mir sicher, dass es dafür auch eine einfachere Lösung gibt, aber viele Wege führen nach Rom.
-
So bin nun soweit gekommen,
[autoit]#include <ButtonConstants.au3>
[/autoit][autoit][/autoit][autoit]
#include <DateTimeConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Screeny", 186, 112, 470, 404)
GUISetBkColor(0x000000)
Global $inp_Startzeit = GUICtrlCreateDate("", 16, 32, 57, 21,$DTS_TIMEFORMAT)
GUICtrlSendMsg($inp_Startzeit, $DTM_SETFORMATW, 0, "HH:mm")
GUICtrlSetColor(-1, 0xE3E3E3)
Global $inp_Endzeit = GUICtrlCreateDate("", 112, 32, 57, 21,$DTS_TIMEFORMAT)
GUICtrlSendMsg($inp_Endzeit, $DTM_SETFORMATW, 0, "HH:mm")
GUICtrlSetColor(-1, 0xE3E3E3)
Global $Button1 = GUICtrlCreateButton("Starten", 16, 64, 153, 33)
Global $Label1 = GUICtrlCreateLabel("Startzeit", 16, 8, 42, 17)
GUICtrlSetColor(-1, 0xE3E3E3)
Global $Label2 = GUICtrlCreateLabel("Endzeit", 112, 8, 39, 17)
GUICtrlSetColor(-1, 0xE3E3E3)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###$anf_zeit = GUICtrlRead($inp_Startzeit)
[/autoit][autoit][/autoit][autoit]
$end_zeit = GUICtrlRead($inp_Endzeit)While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
;Case $inp_Startzeit;Case $inp_Endzeit
[/autoit][autoit][/autoit][autoit]Case $Button1
[/autoit][autoit][/autoit][autoit]
GUICtrlRead($inp_Startzeit)
GUICtrlRead($inp_Endzeit)
GUIDelete ($Form1)
ExitLoop
;GUISetState(@SW_MINIMIZE, $Form1)
EndSwitch
WEndMsgBox(64,"",GUICtrlRead($inp_Startzeit))
[/autoit][autoit][/autoit][autoit]
MsgBox(64,"",GUICtrlRead($inp_Endzeit));Anfangs- und Endzeiten eingeben
[/autoit][autoit][/autoit][autoit]
;Global $anf_zeit = InputBox("Startzeit","Startzeit festlegen. Format ---> HH:MM","06:30")
;Global $end_zeit = InputBox("Endzeit","Endzeit festlegen. Format ---> HH:MM","16:00");Daten aus der InputBox auslesen und Doppelpunkt entfernen
[/autoit][autoit][/autoit][autoit]
$anf_zeit = StringReplace($anf_zeit, ":","") ; Ergebnis: $anf_zeit 0630
$end_zeit = StringReplace($end_zeit, ":",""); Ergebnis: $end_zeit 1600MsgBox(64,"anfang",$anf_zeit)
[/autoit][autoit][/autoit][autoit]
MsgBox(64,"endzeit",$end_zeit)While 1
[/autoit][autoit][/autoit][autoit];Aktuelle Zeit holen
[/autoit][autoit][/autoit][autoit]
$Zeit = @HOUR & @MIN; Entscheidung
[/autoit][autoit][/autoit][autoit]
If $Zeit < $anf_zeit Or $Zeit >= $end_zeit Thennachtmodus()
[/autoit][autoit][/autoit][autoit]Else
[/autoit][autoit][/autoit][autoit]tagmodus()
[/autoit][autoit][/autoit][autoit]EndIf
[/autoit][autoit][/autoit][autoit]WEnd
[/autoit][autoit][/autoit][autoit];EndFunc
[/autoit][autoit][/autoit][autoit]
; ab hier die Funktionen die ich nutze
Func nachtmodus()Sleep(1000)
[/autoit][autoit][/autoit][autoit]
;Sleep (60000)
MsgBox(64,"Nachtmodus","Es ist Nacht und draußen ist es dunkler als am Tag.")EndFunc
[/autoit][autoit][/autoit][autoit]Func tagmodus()
[/autoit][autoit][/autoit][autoit]Local $aPos = MouseGetPos()
[/autoit][autoit][/autoit][autoit]
MouseMove($aPos[0]+1, $aPos[1]) ; Move the mouse cursor to the x, y position
Sleep(5)
MouseMove($aPos[0]-1, $aPos[1]) ; Move the mouse cursor to the x, y position
;Sleep(600000)
Sleep(1000)
MsgBox(64,"Tagmodus","Es ist Tag und im Sommer schein dann auch mal die Sonne.")EndFunc
[/autoit][autoit][/autoit][autoit][/autoit]Mein Problem ist nun, dass ich eingeben kann was ich will, trotzdem wir die voreingestellte zeit ausgegeben.
Kann einer mir das nachvollziehbar erläutern?
Danke im Voraus. -
Danke Lottich.
Manchmal ist die Lösung so einfach. Wenn man es weiß.eine frage habe ich allerdings noch.
Und zwar, wie kann ich nach der Eingabe der Zeiten und beim Druck auf den Button das Fenster schließen, aber die unterfunktionen weiter laufen lassen? -
Hallo Oscar.
[autoit]
Danke für den Quellcode.
Ich möchte jedoch nicht einfach deinen Quelltext kopieren, sondern selber nachvollziehen, was ich mache.
Wenn ich das hier in der MSGBOX auslesen lasse, dann stehen in den Variablen eine 3 und eine 4 und keine Uhrzeit.
Kann mir vielleicht jemand auf die Sprünge Helfen, was ich da falsch mache?#include <ButtonConstants.au3>
[/autoit][autoit][/autoit][autoit]
#include <DateTimeConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Screeny", 186, 112, 470, 404)
GUISetBkColor(0x000000)
Global $inp_Startzeit = GUICtrlCreateDate("2014/12/11 06:34:13", 16, 32, 57, 21, BitOR($DTS_UPDOWN,$DTS_TIMEFORMAT))
GUICtrlSendMsg($inp_Startzeit, $DTM_SETFORMATW, 0, "HH:mm")
GUICtrlRead($inp_Startzeit)
GUICtrlSetColor(-1, 0xE3E3E3)
Global $inp_Endzeit = GUICtrlCreateDate("2014/12/11 06:34:20", 112, 32, 57, 21, BitOR($DTS_UPDOWN,$DTS_TIMEFORMAT))
GUICtrlSendMsg($inp_Endzeit, $DTM_SETFORMATW, 0, "HH:mm")
GUICtrlRead($inp_Endzeit)
GUICtrlSetColor(-1, 0xE3E3E3)
Global $Button1 = GUICtrlCreateButton("Button1", 16, 64, 153, 33)
Global $Label1 = GUICtrlCreateLabel("Startzeit", 16, 8, 42, 17)
GUICtrlSetColor(-1, 0xE3E3E3)
Global $Label2 = GUICtrlCreateLabel("Endzeit", 112, 8, 39, 17)
GUICtrlSetColor(-1, 0xE3E3E3)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;MsgBox(64,"",$inp_Startzeit)
;MsgBox(64,"",$inp_Endzeit)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $inp_Startzeit
GUICtrlRead($inp_Startzeit)
Case $inp_Endzeit
GUICtrlRead($inp_Endzeit)
Case $Button1
ExitLoop
EndSwitch
WEndMsgBox(64,"",$inp_Startzeit)
[/autoit]
MsgBox(64,"",$inp_Endzeit) -
Hallo Oscar. Du hattest absolut Recht irgendwie habe ich dein o. gepostetes Script nicht ganz zerbröseln können. Ich hab es mir gerade nochmal angeschaut. jetzt habe ich es kapiert.
Danke nochmal.
-
danke für eure Hilfe.
[autoit]
Ich habe jetzt eine Gui erstellt und komme mit der Formatierung nicht klar.
[/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\reimed1\desktop\autoit_scripte\form1.kxf
$Form1_1 = GUICreate("Screeny", 530, 186, 311, 389)
$i_sStunden = GUICtrlCreateInput("6", 56, 72, 83, 24, BitOR($ES_CENTER,$ES_NUMBER,$WS_BORDER,$WS_CLIPSIBLINGS), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1, 2)
GUICtrlSetFont(-1, 10, 400, 0, "Lucida Sans Unicode")
$Updown_sStunden = GUICtrlCreateUpdown($i_sStunden)
GUICtrlSetLimit(-1, 23, 0)
GUICtrlSetTip(-1, "Start Stunde")
$i_sMinuten = GUICtrlCreateInput("30", 152, 72, 81, 24, BitOR($ES_CENTER,$ES_NUMBER,$WS_BORDER,$WS_CLIPSIBLINGS), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1, 2)
GUICtrlSetFont(-1, 10, 400, 0, "Lucida Sans Unicode")
$Updown_sMinuten = GUICtrlCreateUpdown($i_sMinuten)
GUICtrlSetLimit(-1, 59, 0)
GUICtrlSetTip(-1, "30")
$i_eStunden = GUICtrlCreateInput("16", 296, 72, 81, 24, BitOR($ES_CENTER,$ES_NUMBER,$WS_BORDER,$WS_CLIPSIBLINGS), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1, 2)
GUICtrlSetFont(-1, 10, 400, 0, "Lucida Sans Unicode")
$Updown_eStunden = GUICtrlCreateUpdown($i_eStunden)
GUICtrlSetLimit(-1, 23, 0)
$i_eMinuten = GUICtrlCreateInput("0", 392, 72, 81, 24, BitOR($ES_CENTER,$ES_NUMBER,$WS_BORDER,$WS_CLIPSIBLINGS), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1, 2)
GUICtrlSetFont(-1, 10, 400, 0, "Lucida Sans Unicode")
$Updown_eMinuten = GUICtrlCreateUpdown($i_eMinuten)
GUICtrlSetLimit(-1, 59, 0)
$gr_Startzeit = GUICtrlCreateGroup("Startzeit", 32, 24, 225, 97)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$gr_Endzeit = GUICtrlCreateGroup("Endzeit", 272, 24, 225, 97)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$l_sStunden = GUICtrlCreateLabel("Stunden", 56, 50, 44, 17)
$l_sMinuten = GUICtrlCreateLabel("Minuten", 152, 50, 42, 17)
$l_eStunden = GUICtrlCreateLabel("Stunden", 296, 50, 44, 17)
$l_eMinuten = GUICtrlCreateLabel("Minuten", 392, 50, 42, 17)
$btn_OK = GUICtrlCreateButton("OK", 200, 136, 129, 33)
Dim $Form1_1_AccelTable[1][2] = [["{ENTER}", $btn_OK]]
GUISetAccelerators($Form1_1_AccelTable)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
MsgBox(0,"",$GUI_EVENT_CLOSE)
Exit
Case $btn_OK
ExitLoopEndSwitch
[/autoit][autoit][/autoit][autoit]
WEndGUIDelete("Screeny")
[/autoit]Ich wüsste gerne wie man die Zehlen statt 6 uhr 06 Uhr anzeigen und in der Variable abspeichern kann.
Bin langsam am verzweifeln.Danke im Voraus für eure Hilfe.
-
Ich bin echt überwältigt von eurer Hilfsbereitschaft!
Vielen Dank dafür Leute. Ich habe das letzte mal vor 5 jahren etwas mit autoit programmiert und dachte ich habe es noch drauf.
So kann man sich täuschen.Großen Dank an Alina. Das bringt mich schon weiter.
-
Hallo Leute.
Ich habe mal wieder eine Frage zu meinem Programmschnipsel.
Ich möchte dass sich die Maus zur eingestellten Uhrzeit von Zeit zu Zeit bewegt.
Außerhalb dieser Uhrzeit soll das nicht mehr passieren. Quasi Sleep-Modus.
Hier ist mein Programm nur irgendwie funktioniert das nicht so wie ich es will.
[autoit]#include <Date.au3>
[/autoit][autoit][/autoit][autoit]Global $anfangszeit
[/autoit][autoit][/autoit][autoit]
Global $endzeit
$anfangszeit = InputBox("Startzeit","Startzeit festlegen","6:30")
$endzeit = InputBox("Endzeit","Endzeit festlegen","16:00")Global $Zeit = @HOUR & ":" & @MIN
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
MsgBox(0,"",$Zeit)_Main()
[/autoit][autoit][/autoit][autoit]Func _Main()
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]EndFunc
[/autoit][autoit][/autoit][autoit]_MouseMove()
[/autoit][autoit][/autoit][autoit]Func _MouseMove()
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit]
Local $aPos = MouseGetPos()
MouseMove($aPos[0]+1, $aPos[1]+1) ; Move the mouse cursor to the x, y position
MouseMove($aPos[0]-1, $aPos[1]-1) ; Move the mouse cursor to the x, y position
Sleep(200)
;Sleep (300000)
$Zeit = @HOUR & ":" & @MIN
If $Zeit < $anfangszeit Or $Zeit >= $endzeit ThenIf $Zeit
[/autoit][autoit][/autoit][autoit]
Do$Zeit = @HOUR & ":" & @MIN
[/autoit][autoit][/autoit][autoit]
MsgBox(0,"",$Zeit)
Sleep (5000)Until $Zeit < $anfangszeit Or $Zeit >= $endzeit
[/autoit][autoit][/autoit][autoit]EndIf
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
;_MouseMove()WEnd
[/autoit][autoit][/autoit][autoit]EndFunc
[/autoit]Könnte mir vielleicht jemand da etwas aus der Patsche helfen?
Danke im Voraus, Hexpirator
-
In meiner Hilfe steht das gleiche. Unfassbar!
Das Problem ist nur, dass wenn ich die Dateiendung auf .PNG ändere, nichts angezeigt wird.
Fehlt mir vielleicht irgendein Plugin?Gruß
-
100%tig das was ich meinte.
Vielen Dank!
Aber gibt es eine Möglichkeit das ganze zu realisieren ohne eine *jpg zu erstellen? Ich meine ohne Qualitätsverluste?
Gruß.
-
Hallo Leute.
Folgendes Problem:
ich möchte den aktuellen Bildschirmausdruck in einer GUI anzeigen lassen, als hätte man die "Druck"-Taste gedrückt und das Bild in Paint eingefügt.Mit dem Unterschied, dass das Bild um die Hälfte verkleinert werden sollte.
Geht sowas überhaupt?
Gruß.
-
Wenn du Massendateien umbenennen möchtest, dann eignet sich "Ant Renamer" perfekt dazu. (Siehe Google)
Da kann man unendlich viel einstellen und man sieht auch sofort die Vorschau, wie die Dateien nach dem Umbenennen aussehen werden.
Gruß.
-
Cool Das liebe ich an diesem Forum.
Du stellst eine Frage und wirst mit Antworten erschlagen.
Danke Leute.
-
Oh oh. Da hab ich mir ja was eingebrockt.
Ob ich das alleine hinbekomme?
-
Hallo Leute.
Folgende Frage.
Ihr habt es bestimmt schon mal bei WinAmp oder Skype gesehen, dass die Fenster, wenn sie an den Rand des Monitors bewegt werden, wie magnetisch an den Rand springen.
Wie kann man so etwas realisieren?
Schönen Gruß.
-
Cool Danke.
Es funktioniert wunderbar.
Vielen vielen Dank nochmal an euch beide!
-
Hallo Auto Bert.
Vielen Dank für die Antwort. Das funktioniert ja schon mal super. Allerdings ist das Originalfile über 40000 Zeilen lang. Da kommt das Script nicht klar.
Was ich nun machen müsste ist, die Spalte, wo ' "This keep out area is possible' vorkommt ab einer Zeichenlänge von sagen wir mal 15 Zeichen zu löschen.
Im Grunde genommen geht es mir nur um diese Spalte.
Der Hintergrund ist, dass wenn in dieser Spalte zu viele Zeichen sind, dann stürzt mein Programm zur Darstellung der Positionen ab.Hast du oder sonst jeman da vielleicht eine Idee?
Schönen Gruß und frohes neues Jahr.
-
Hallo Leute.
Folgendes Problem:
Ich habe eine .PCB-Datei, die wie folgt aufgebaut ist:
Spoiler anzeigen
S!LINE!257!1740 14 0!683.8!1684.3!565.7!1566.2!0.0!!!!!PLACE_BOUND_TOP!PRNC2975!C700!
S!TEXT!260!1744 1!746.8!1656.8!270.000!NO!LEFT!20 0 50.0 38.2 0.000 13.0 63.0 0.0!+!!!ASSEMBLY_TOP!PRNC2975!C700!
S!TEXT!260!1745 1!794.0!1733.5!270.000!NO!LEFT!20 0 50.0 38.2 0.000 13.0 63.0 0.0!+!!!SILKSCREEN_TOP!PRNC2975!C700!
S!TEXT!260!1746 1!-32.8!2879.7!270.000!NO!LEFT!20 0 50.0 38.2 0.000 13.0 63.0 0.0!"This keep out area is possible!!!ASSEMBLY_TOP!PRNC2975!C700!
S!TEXT!260!1747 1!-95.7!2879.7!270.000!NO!LEFT!20 0 50.0 38.2 0.000 13.0 63.0 0.0!to remove, when the elco is not!!!ASSEMBLY_TOP!PRNC2975!C700!
S!TEXT!260!1748 1!-158.7!2879.7!270.000!NO!LEFT!20 0 50.0 38.2 0.000 13.0 63.0 0.0!sealed between component and!!!ASSEMBLY_TOP!PRNC2975!C700!
S!TEXT!260!1749 1!-221.7!2879.7!270.000!NO!LEFT!20 0 50.0 38.2 0.000 13.0 63.0 0.0!PCB by gluing, coating, agglutination!!!ASSEMBLY_TOP!PRNC2975!C700!
S!TEXT!260!1750 1!-284.7!2879.7!270.000!NO!LEFT!20 0 50.0 38.2 0.000 13.0 63.0 0.0!or an other sealing method.!!!ASSEMBLY_TOP!PRNC2975!C700!Das Problem ist nun, wenn ich diese Datei mittels meinem Script einlese, dann werden einige Strings einfach verschluckt. Ich habe schon die Vermutung, dass es am ' " '-Zeichen liegt. Kann das sein, dass _stringbetween damit Probleme hat?
die Datei habe ich angehägt.
Hier ist mein Script, das Probleme macht. Danke schonmal im Voraus für eure Tipps.
Spoiler anzeigen
[autoit]#include <String.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Array.au3>
#Include <File.au3>
Global $Path
Dim $aDest
Dim $aDatei
_Laden()Func _Laden()
[/autoit] [autoit][/autoit] [autoit]
$Path = FileOpenDialog("Bitte PCB-Datei wählen.", @DesktopDir & "\", "PCB-File (*.pcb)", 1 + 4 )
If @error = 1 Then MsgBox(0,"","Keine Datei ausgewählt.")
If @error = 2 Then MsgBox(0,"","Falscher Dateifilter")
_FileReadToArray($Path,$aDatei)For $i =1 To $aDatei[0]
[/autoit] [autoit][/autoit] [autoit]Local $aArray1 = _StringBetween($aDatei[$i], '!', '!')
[/autoit] [autoit][/autoit] [autoit]_ArrayDisplay($aArray1, 'Default Search')
[/autoit] [autoit][/autoit] [autoit]
NextEndFunc ;==>_Laden
[/autoit]Ach ja, die TXT muss in PCB umbenannt werden.
Gruß.