AHK + Dateikommentar = komfortables Lesezeichen

German support forum

Moderators: sheep, Hacker, Stefan2, white

Post Reply
User avatar
ate
Senior Member
Senior Member
Posts: 274
Joined: 2003-12-17, 22:48 UTC

AHK + Dateikommentar = komfortables Lesezeichen

Post by *ate » 2011-03-24, 20:51 UTC

Hi !

Ich wende mich mal mit der Bitte um Hilfe an die Autohotkey-Freunde hier im Forum.

Manchmal benötige ich ein "Lesezeichen" in einer Dateiliste im TC. Das funktioniert recht einfach über die Farbzuweisung bei einem entsprechendem Eintrag im Dateikommentar.

So habe ich bei mir eingerichtet, dass bei einem Dateikommentar mit !!! die betreffende Datei Rot eingefärbt wird. Lösche ich die 3 Ausrufezeichen, hat die Datei wieder die normale vorherige Farbe.

Nun wollte ich das ganze etwas automatisieren (ohne gleich Twinkey oder ähnliches zu benutzen), also mit einem Klick das farbliche Markieren per Dateikommentar anschalten und ausschalten. Das Skript soll also drei Ausrufezeichen in den Dateikommentar eintragen, aber nur, wenn es in diesem Fenster nicht schon drei Ausrufezeichen gibt (dann halt diese Zeichen löschen).

Das Anlegen des Spezialdateikommentars selbst ist ja noch recht einfach (z.B. send, ^{Z}{!}{!}{!}{F2} ). Das funktioniert auch, wenn schon ein Dateikommentar vorhanden ist, denn der vorhandene Eintrag wird ja nicht überschrieben, sondern ergänzt.
Aber wie kann ich mit dem gleichen Skript das Dateikommentarfenster auf das Vorhandensein dieser !!! prüfen und (nur) diese ggf. löschen lassen?

Leider sind meine ahk-Kenntnisse äußerst mangelhaft ... aber für die Profis dürfte das eher eine Fingerübung sein (hoffe ich jedenfalls).

Vielen Dank für jede Hilfe

User avatar
Hacker
Moderator
Moderator
Posts: 11281
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker » 2011-03-24, 21:52 UTC

ate,
Etwa so:

Code: Select all

#IfWinActive, ahk_class TTOTAL_CMD
F11::
	PostMessage, 1075, 2700
	WinWaitActive, File comment ahk_class TCmtEditForm
	ControlGetText, Comment, TMemo1
	IfNotInString, Comment, !!!
		Comment = %Comment% !!!
	Else
		StringReplace, Comment, Comment, !!!, , All
	ControlSetText, TMemo1, %Comment%
	Send, {F2}
Return
HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.

User avatar
ate
Senior Member
Senior Member
Posts: 274
Joined: 2003-12-17, 22:48 UTC

Post by *ate » 2011-03-25, 17:15 UTC

Hacker,

so ähnlich (die konvertierte EXE des Scripts sollte sich nach der Aktion wieder schließen, also nicht dauernd im Tray bleiben) - und leider funktionierte es bei mir zunächst nicht richtig.

Ich habe mal "File comment" mit "Dateikommentar" ersetzt (denn das steht ja bei mir im Fenstertitel) und dann klappte es. Scheinbar kann man aber auf die Angabe des Fenstertitels in diesem Fall auch komplett verzichten (WinWaitActive, ahk_class TCmtEditForm klappt ebenso).

Probehalber habe ich dann auch mal die Zeile F11:: durch send, ^{Z} ersetzt und damit kann ich die Exe nun auch als Button-Lösung oder über einen benutzerdefinierten und mit Hotkey versehenen Befehl im TC verwenden.

Zusammengefasst: Vielen Dank für die super Hilfe. Ich hätte sonst Wochen gebraucht (und es wohl doch nicht hinbekommen).

User avatar
Hacker
Moderator
Moderator
Posts: 11281
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker » 2011-03-25, 20:04 UTC

ate,
Als Button oder Hotkey dann halt:

Code: Select all

PostMessage, 1075, 2700, , , A
WinWaitActive, ahk_class TCmtEditForm
ControlGetText, Comment, TMemo1
IfNotInString, Comment, !!!
   Comment = %Comment% !!!
Else
   StringReplace, Comment, Comment, !!!, , All
ControlSetText, TMemo1, %Comment%
Send, {F2}
Es sollte dort nicht sowohl Send, ^z als auch PostMessage vorhanden sein, da beide dasselbe tun.

HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.

User avatar
ate
Senior Member
Senior Member
Posts: 274
Joined: 2003-12-17, 22:48 UTC

Post by *ate » 2011-03-26, 19:48 UTC

So klappt's. Danke nochmal.

User avatar
ate
Senior Member
Senior Member
Posts: 274
Joined: 2003-12-17, 22:48 UTC

Post by *ate » 2012-11-20, 22:53 UTC

Ich hätte mal eine aktuelle Nachfrage:

Ich bin gerade beim Umstellen auf die 64-Bit-Version des TC.
Nun funktioniert die aus dem AHK-Script erstellte EXE leider nicht mehr, wenn ich sie unter TC64 aufrufe. Unter dem 32-Bit-TC in Win7(64Bit) ging es noch ohne Probleme.

Ich stehe momentan etwas auf den Schlauch (ist ja auch schon spät) ... muss ich das Script noch verändern, oder sind die Bezeichnungen im TC vielleicht anders geworden, oder ist das eine 32/64Bit-Geschichte in AHK?

Vielleicht kann mir ja nochmal einer der AHK-Spezialisten helfen?

User avatar
ate
Senior Member
Senior Member
Posts: 274
Joined: 2003-12-17, 22:48 UTC

Post by *ate » 2012-11-21, 16:49 UTC

Hab's heute selbst rausgefunden ...

Falls es jemand interessiert: "TMemo1" muss durch "Edit1" ersetzt werden (andere Bezeichnungen im 8'er TC).

Post Reply