 |
AutoHotkey Community Wir helfen uns gegenseitig aus der Patsche
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
macmewes
Anmeldedatum: 04.07.2006 Beiträge: 35
|
Verfasst am: Sa Okt 21, 2006 10:37 am Titel: Loopen und Parsen - bestimmte Dinge Suchen |
|
|
Moin, moin ...
ich hätte da mal ein Problem.
| Code: |
!e::
clipboard =
Send, {CTRLDOWN}c{CTRLUP}
ClipWait
;MsgBox, %clipboard%
; Zwischen "have" und "registered" ergibt Lizenznehmer.
Word01 = have
Word02 = registered
Loop, Parse, clipboard , %A_Space%
{
IfInString, A_LoopField, %Word01%
{
;MsgBox, %A_Index% is %A_LoopField%
Start = %A_Index%
}
IfInString, A_LoopField, %Word02%
{
;MsgBox, %A_Index% is %A_LoopField%
Ende = %A_Index%
}
}
Start += 1
Ende -= 1
Zwischen = %Ende%
EnvSub, Zwischen , %Start%
|
Ich möchte mir über ALT+E etwas in die Zwsichenablage kopieren und das als MsgBox rauskriegen, was zwischen den Worten "have" und "registered" steht.
Ich weiß aus obigem Code, wo ich anfangen und aufhören muß. Start stellt A_Index für den Anfang des Loops und Ende ist halt das letzte A_Index. Das kann durchaus unterschiedlich sein, also zwischen 1 und 5, manchmal 6 Begriffen.
Hier ist mein gedanklicher PseudoCode
Wenn A_Index=Start ist, dann übergebe den Variablen Lizenz%A_Index% den Wert %A_Loopfield% solange bis A_Index=Ende ist.
Nehmen wir an, daß Start=3 und Ende=5 und muß ich %Zwischen%-mal loopen und dann sollte am Ende
Lizenz3 = bla
Lizenz4 = fasel
Lizenz5 = blubb
stehen.
Kann mir jemand bei diesem Konstrukt helfen?
Vielen Dank
Martin
[/code] _________________ bis dahin
Martin |
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1896 Wohnort: Österreich
|
Verfasst am: Sa Okt 21, 2006 11:48 am Titel: |
|
|
Also ich würds über folgenden Ansatz machen:
| Code: | Word1 = have
Word2 = registered
StartPos := InStr(Clipboard, Word1) + StrLen(Word1)
StringMid, Output, Clipboard, %StartPos%, % InStr(Clipboard, Word2) - StartPos
msgbox %output% | Dabei wird die Endposition des ersten Wortes genommen und bis vor den Anfang des zweiten Wortes ausgelesen...
Thalon _________________ Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe |
|
| Nach oben |
|
 |
macmewes
Anmeldedatum: 04.07.2006 Beiträge: 35
|
Verfasst am: Sa Okt 21, 2006 11:55 am Titel: |
|
|
Hallo,
perfekt ...
Danke _________________ bis dahin
Martin |
|
| Nach oben |
|
 |
BoBo Gast
|
Verfasst am: Sa Okt 21, 2006 12:13 pm Titel: |
|
|
Oder StringSplit über das Leerzeichen. Nur der Form halber angemerkt. Thalons Beispiel würde ich jedoch selbst bevorzugen.
| Code: | Loop, Read, MyFile.txt
{
StringSplit, Field, A_LoopReadLine, %A_Space%
If Field%A_index% = have ; das nächste Feld ist es!
.
.
.
} |
|
|
| Nach oben |
|
 |
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|