Kompletten Text oder Wert mit AHK kopieren

Hallo@all

Wie kann ich einen Text oder Wert der zwischen zwei Tags steht mit Autohotkey
in die Zwischenablage kopieren.
Beispiel:
Ich habe eine.txt wo in der 2ten Zeile, ab Position 56 der Tag [size] steht.
Alles was danach kommt soll bis zum [/size]
kopiert werden.
[size] AHK kopier mich in die Zwischenablage [/size]
Da der Satz bzw. Wert immer unterschiedlich lang ist kann ich keine einzelnen Zeichen auszählen lassen.
Es muss also das jeweilige Tag mit in den Code gesetzt werden.
littlepinguin hat mir vor kurzem schon einen Ansatz hierfür gegeben.
Aber ich weiß nicht wie ich das machen soll.
!A::
Send ^c
ClipWait
FileReadLine, Zeilevar, % clipboard, 2
StringMid, Zeitvar, Zeilevar, 56
clipboard := Zeitvar
Return

Hat jemand eine Idee?

hi,

schau dir mal StringGetPos an, oder direkt InStr wie es empfohlen wird.

Hübsch wäre es mit RegExMatch. Mich kann man damit allerdings jagen.
Sind so Probleme bei dir absehbar, wäre es sicher kein Fehler sich mit regular Expressions im allgemeinen zu beschäftigen.

grüße
lipi

Kannst du mir bitte einen Beispiel Code geben?
Wo muss ich den [Tag] in dem Code platzieren?
Oder muss es ein komplett neuer sein?

hi,

Wenn du sowas öfter brauchst, würde es dir helfen, wenn du sagst, wo du was nicht verstehst und Links auch anklickst (da gibt’s Beispiele).
Die AHK Hilfe finde ich recht gut.

Das sind eigentlich schöne Übungsaufgaben bei denen man sich ein Grundverständnis aneignen könnte.

Sonst:

!A::								
 Send ^c
 ClipWait ;Dateipfad der markierten Datei befindet sich im CB		
 FileReadLine, Zeilevar, % clipboard, 2	;Zeile 2 auslesen
 StartPos := InStr(Zeilevar, "[size]", 0) + 6	;Startpossition ist der Beginn von [size] + 6 = das Zeichen nach [size]
 Zeichen := InStr(Zeilevar, "[/size]", 0) - StartPos	;Textlänge entspricht der Position von [/size] abzüglich der Startposition
 StringMid, Ausgabe, Zeilevar, StartPos, Zeichen
 MsgBox % Ausgabe
Return

grüße
lipi

2 Like

Hallo lipi
Danke für den Code.
Es ist nicht so wie du denkst.
Ich habe mir schon vorher die deutsche Erklärung von AHK angeschaut.
Auch die Beispiele.
Das gute an AHK ist, daß es mehrere Wege zum Ergebnis gibt.
Bloß, wenn man das Puzzle nicht zusammen setzen kann, und nur Fehlermeldungen bekommt, braucht man halt Leute, so wie du,
die einem dann helfen können.
Die einen können besser coden und anderen halt besser kleine Brötchen backen. :slight_smile:

Danke noch mal für deine Hilfe.
Gruss
NeuDropper

Die Stringsuche ist allerdings kein spezielles AHK-Spezifikum, sondern ein Generelles beim Programmieren - und instr und ein darauffolgendes substr (oder wie auch immer) sind weit verbreitete Instrumente hierfür.
(auch wenn ich „string in ahk suchen“ google und „instr()“ das erste Ergebnis ist)

@lipi
Kurze Rückmeldung
Code ist top!
Brauchte nur noch die Startposition und die letzte Zeile ändern.
Jetzt landet es direkt in die Zwischenablage.
Nochmals,Danke.

Gruss
NeuDropper

hi,

Das übliche Problem besteht darin, die Funktionen überhaupt zu finden, wenn mans nicht gelernt hat oder es aus Erfahrung schon kennt.

subStr gibt’s auch. Würde mir sogar besser gefallen, wenn die Variablen da stehen, wo sie hin gehören.

wie kommts? sind mehrere [size]-Tags vorhanden?
nur interessenhalber.

grüße
lipi

Hallo lipi
In dem Text ist die Schriftgröße im Tag hinterlegt.
[size=9px] oder [size=13pt] oder [size=large].
Das musste nur dazu gezählt werden.

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Nachrichten mehr erlaubt.