Wie wär's mit den SciTE Docs?
http://www.scintilla.org/SciTEDoc.html - Abschnitt: Defined variables in properties files
Beiträge von i2c
-
-
-
Such vlt. mal in der Registry nach der exe.
-
Hab's nocin einer frischen AutoIt Installation getestet, funktioniert.

- das Skriptmuss im UNterordner LUA liegen
- das Skript muss mit dem selben Namen in die SciTEStartup.lua am Ende eingetragen werden
- das Skript reagiert nur auf Speicherereignisse von .au3 Dateien
- bestehende Timestamps werden ersetzt. Gibt es keinen, wird einer am Dateianfang gesetzt.ZitatGibt es eigentlich einen Befehl, damit ich aus dem LuaScript heraus in die Console schreiben kann?
print("Hallo Welt") -
Hast du SciTE neu gestartet?
-
Schöne Idee
.
Eine mögliche LUA Lösung. Zugegeben, sehr simpel gehalten."C:\Program Files\AutoIt3\SciTE\LUA\SaveWithTimestamp.lua"
Code
Alles anzeigenfunction OnBeforeSave(fname) local ext = props['FileExt'] local au3_ext = 'au3' if ext == au3_ext then InsertTimestamp(fname) end end function InsertTimestamp(fname) local s = editor:GetText() local t = "#Region - Timestamp\r\n;"..os.date("%Y-%m-%d %H:%M:%S").."\r\n#EndRegion" local a,b = editor:findtext("#Region - TimeStamp", SCFIND_REGEXP) local x,y = editor:findtext("#EndRegion", SCFIND_REGEXP) editor:BeginUndoAction() if a then if y then editor:SetSel(a,y) editor:ReplaceSel(t) end else editor:SetText(t .. "\r\n\r\n" .. s) end editor:EndUndoAction() end"an C:\Program Files\AutoIt3\SciTE\LUA\SciTEStartup.lua anhängen"
edit: SciTE danach neu starten.
-
name22s Skript generiert für alle ausgewählten Dateien die FileInstall() Zeilen und legt sie in die Zwischenablage. Du musst sie dann nurnoch in dein Skript pasten.
-
Erstellt ein IE_Objekt, navigiert zu autoit.de und scrollt zum Footer.
Spoiler anzeigen
[autoit]#include <IE.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>$oIE = ObjCreate("Shell.Explorer")
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Form1", 800, 600)
$GUIActiveX = GUICtrlCreateObj($oIE, 8, 8, 784, 584)
GUISetState(@SW_SHOW)$oIE.navigate("http://autoit.de")
[/autoit] [autoit][/autoit] [autoit]
_IELoadWait($oIE)Do
[/autoit] [autoit][/autoit] [autoit]
$oObj = _IEGetObjById($oIE, "footer")
Sleep(200)
Until IsObj($oObj)
$oObj.scrollIntoView()While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd -
-
Meine persönliche Kurzdefinition von "lernen": Man speichert Informationen ab um sie zu einem späteren Zeitpunkt wieder abrufen zu können.
Deine ANwendung wird nie auf eine heisse Herdplatte fassen und den Schmerz als "Bähbäh-Erfahrung" abspeichern können. Ein "lernendes" Programm kann nur dann etwas lernen, wenn es wess welche INformatonen es speichern soll. Das kannst nur du als Programmierer festlegen. Damit ist die Lernfähigkeit schonmal auf einen bestimmten Rahmen begrenzt. Selbst wenn es dann aus den gemachten "Erfahrungen" neue Lernmethoden entwickeln soll, benötgt es dafür immernoch einer gewissen VOrgabe durch den Programmierer.
Um diesen stupiden Weg mit den IFs zu verlassen würde ich einen egenen, simplen Interpreter vorschlagen. nformatonen sammeln -> auswerten -> möglche AKtionen/Methoden in einer simlen Skriptsprache abspeichern. Für sowas würde sich eigentlich auch XML anbieten.
-
Auch wenn mir heute der Sinn nicht wirklich nach Geburtstag steht, bringt mich das hier doch zum Grinsen.
Danke euch allen für die lieben Glückwünsche
!Alles wird gut ... früher oder später.
XP-User und yxyx wünsch ich an dieser Stelle auch gleich alles Gute und viel Glück und Gesundheit für's nächste Lebensjahr.
-
So weit weg von einer guten Idee ist die Logfile doch garnicht.
Dein Programm soll doch ausschliesslich Gewohnheiten des Benutzers aufzeichenen, auswerten und auf eine vorgegebene Weise darauf reagieren. Wozu muss das Programm dann den eigenen Code modifizieren und neu kompilieren, wie im Startpost beschrieben?
Der Weg über das Afzeichnen von vordefinierte Aktionen (starten von Browsern, Spielen, Anwendungen oder tägliches öfnen bestimmter Websites), deren Speicherung und eine regelmässige Auswertung der Warscheinlichkeit einer möglichen Aktion inerhalb eines festgelegten Zeitraums und deren Ausführung erfüllt doch genau den von dir gewünshten Zweck .?!
-
-
Schau dir mal das Skript von eukalypts an: Videovorschau-Bild
-
(da sind 120 GB drauf gewesen, das noch einmal zu downlöden ist nicht unbedingt angenehm
)Hoffe mal das dies klappt, denn 160 GB (hab noch mal geguckt) sind mir viel Wert
(Sie haben tatsächlich einen Wert in 4-Stelligem Betrag :D)
*hust* ... zuviel InformationDie Platte vorher ins Eisfach packen hat auch oft schon geholfen, warum....keine Ahnung?
Weil Festplatten nach der Ausbildung von Kondenzwasser bekanntlich am besten laufen.
http://www.cgsecurity.org/wiki/TestDisk_DE
Viel Glück beim retten! -
Dann setzt du halt das SplashTextOn() vor die erste Aktion und das SplashOff() hinter die letzte. Wohin genau musst du schon selbst entscheiden. Ohne Skript kann man das schwer einschätzen.
-
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>
#include <Constants.au3>#region - GUI Create
[/autoit] [autoit][/autoit] [autoit]
GUICreate('ich fang gleich an was zu machen :)', 600, 200)
GUISetState()
#endregion - GUI Create
Sleep(2000)
_machwas()#region - GUI SelectLoop
[/autoit] [autoit][/autoit] [autoit]
While 1
Sleep(100)
WEnd
#endregion - GUI SelectLoopFunc _machwas()
[/autoit]
SplashTextOn("", "Moment bitte ...", @DesktopWidth, @DesktopHeight - 1, -1, $DLG_NOTITLE)
Sleep(3000)
SplashOff()
Exit
EndFunc ;==>_machwas -
Wurde ja schon fast alles genannt. Was mir nach schnellem überfliegen noch fehlt ...
Spoiler anzeigen
Bitwise Tunnelier
Cyberduck
EasyBCD
Mono
Monodevelope
Gtk+
Gtk# for .Net
Medieval CUE Splitter
MySQL Workbench
Nettalk portable
Netbeans
Python
Speedfan
TortoiseSVN
Vistumbler
Wascana IDE
ZendServer CE -
Ich benutze diese UDF nicht, daher ohne Gewähr:
Spoiler anzeigen
[autoit]$aResult = _EzMySql_GetTable2d("SELECT Keyword,Link FROM Views WHERE ID > 0;")
[/autoit]
$error = @error
If IsArray($aResult) Then
_ArrayDisplay($aResult)
For $i = 0 To UBound($aResult)-1
;mach was
Next
Else
MsgBox(0, "Fehler", $error)
EndIf -
Eine anständige Kommunikation zwischen AutoIt und Npp hab ich auch noch nicht zu Stande gebracht.
In den letzten Tagen hab ich immer mal wieder mit der PythonScript Impletierung aus Post#17 rumgespielt.
Damit liessen sich die abrevs relativ leicht umsetzten. Das einzige was mich da etwas erschlägt ist der extreme
Funktionsumfang des Scintilla Objekts. Muss zu meiner SChande gestehen das ich damit noch nicht gearbeitet habe.abbrev.py
Codeabbrev = ['hallo','welt'] def charAdded(args): currentWord = editor.getCurrentWord() if currentWord in abbrev: notepad.messageBox("Abbrev gefunden: "+currentWord) editor.callback(charAdded, [SCINTILLANOTIFICATION.CHARADDED])
Fehlt nur das Einlesen der Abbrevs aus der passenden SciTE Datei, das Styling und das Ersetzen.
Wenn man die selben Dateien wie SciTE verwendet, dann sollte dein Manager doch eigentlich ohne
grossartige Änderungen funktionieren (hab nicht in den Code geschaut)Für eine Funktionsvervollständigung wäre das Prinzip ja eigentlich ähnlich. Wort auslesen, per regexp in
der Datei suchen, autocomplete öffnen ... Hab nur noch nicht ganz durchschaut, was alles nötig ist um
die Vorschläge einzublenden. Ich hoffe ja das findet sich ein kleines LUA Beispiel.