Fetten Text erkennen

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

KHA
Posts: 403
Joined: 21 Aug 2018, 11:11

Fetten Text erkennen

11 Sep 2018, 07:35

Hi,
AHK soll also quasi den Fetten Text in Zwischenablage erkennen und mit den [bold] [/bold] Tags umgeben. Geht das mit AHK?
LG
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: Fetten Text erkennen

11 Sep 2018, 11:22

Ja es geht mit AHK.
Der Schwierigkeitsgrad hängt davon ab welches das Quellprogramm ist.
Nicht jedes Programm speichert ab ob der Text fett ist oder nicht und nicht jedes Programm benutzt dafür ein Format welches standardmäßig von Windows definiert ist.
Von daher wäre es erstmal wichtig zu wissen von welchem Programm du das machen willst (es ist auch OK wenn es mehrere sind).
zudem wäre es interessant zu wissen was passiert wenn du von diesem Programm in ein anderes Programm die Daten schickst (z.b Libre Office -> Microsoft Word) sind die Daten dann immer noch so aus wie vorher?
Recommends AHK Studio
KHA
Posts: 403
Joined: 21 Aug 2018, 11:11

Re: Fetten Text erkennen

11 Sep 2018, 13:01

Hi nnnik,
das Quellprogramm ist Adobe Reader, wenn ich Text von Adobe Reader in die Zwischenablage speichere und anschließen in Word einfüge, sin die Textstellen auch Fett hervorgehoben. Bis jetzt habe ich das über Word mit Hilfe eines Macros erledigt. Wenn AHK es kann, dann kann ich mir diesen Schritt in Zukunft sparen :)
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: Fetten Text erkennen

12 Sep 2018, 14:15

Du musst per DllCall auf das Clipboard zugreifen und dann das RTF Format aus dem Clipboard holen und mit AHK umschreiben.
Ich kann im Moment das Skript nicht schreiben aber hier ist die grobe Idee in pseudocode:

Aufgabe 1: am Anfang des Skripts -> RegisterClipboardFormat(DllCall) für das RTF Format aufrufen, den erhaltenen Wert speichern

Aufgabe 2: wenn du formatierten Text aus der Zwischenablage holen willst ->
Schritt 1: OpenClipbaord(DllCall)
Schritt 2: GetClipbordData(DllCall) mit dem vorher erhaltenen Wert für das RTF Format
Schritt 3: Die Daten die GetClipboardData zurückgibt per StrGet in AHK text umwandeln und abspeichern
Schritt 4: CloseClipboard(DllCall)

Aufgabe 3: Nachdem du Formatierten Text aus der Zwischenablage geholt hast musst du das RTF Format einlesen, Den Text raussuchen und die fetten Bereiche mit umklammern, und den neuen text in die Zwischenablage speichern.
Recommends AHK Studio

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: gsxr1300 and 62 guests