123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535 |
- ;_____________________________________________________________________________
- ;
- ; Word Functions
- ;_____________________________________________________________________________
- ;
- ; 2005 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
- Name "Word Functions"
- OutFile "WordFunc.exe"
- Caption "$(^Name)"
- XPStyle on
- RequestExecutionLevel user
- Var INI
- Var HWND
- Var STATE
- !include "WinMessages.nsh"
- !include "WordFunc.nsh"
- Page Custom ShowCustom LeaveCustom
- Function ShowCustom
- InstallOptions::initDialog "$INI"
- Pop $hwnd
- InstallOptions::show
- Pop $0
- FunctionEnd
- Function LeaveCustom
- ReadINIStr $0 $INI "Settings" "State"
- StrCmp $0 0 Enter
- GetDlgItem $1 $HWND 1202
- EnableWindow $1 1
- GetDlgItem $1 $HWND 1203
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1204
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1206
- EnableWindow $1 1
- GetDlgItem $1 $HWND 1205
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1206
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- ReadINIStr $0 $INI "Field 1" "State"
- StrCmp $0 "1. WordFind (Find word by number)" 0 WordFind2Send
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:-4"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Word):"
- goto WordFindSend
- WordFind2Send:
- StrCmp $0 " (Delimiter exclude)" 0 WordFind3Send
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:E-2{"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Before{ or }after delimiter):"
- goto WordFindSend
- WordFind3Send:
- StrCmp $0 " (Sum of words)" 0 WordFind4Send
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:#"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Sum of words):"
- goto WordFindSend
- WordFind4Send:
- StrCmp $0 " (Sum of delimiters)" 0 WordFind5Send
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:|"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:E*"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Sum of delimiters):"
- goto WordFindSend
- WordFind5Send:
- StrCmp $0 " (Find word number)" 0 WordFind6Send
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:/Program Files"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:/Word"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Word #):"
- goto WordFindSend
- WordFind6Send:
- StrCmp $0 " ( }} )" 0 WordFind7Send
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:E+2}}"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Before{{ or }}after word):"
- goto WordFindSend
- WordFind7Send:
- StrCmp $0 " ( {} )" 0 WordFind8Send
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:+2{}"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Without word):"
- goto WordFindSend
- WordFind8Send:
- StrCmp $0 " ( *} )" 0 WordFind2XSend
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:E+2*}"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Before{* or *}after word with word):"
- goto WordFindSend
- WordFind2XSend:
- StrCmp $0 "2. WordFind2X" 0 WordReplace1Send
- GetDlgItem $1 $HWND 1201
- SendMessage $1 ${WM_SETTEXT} 1 "STR:[C:\io.sys];[C:\logo.sys];[C:\WINDOWS]"
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:[C:\"
- GetDlgItem $1 $HWND 1203
- EnableWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:];"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:E+2"
- GetDlgItem $1 $HWND 1207
- SendMessage $1 ${WM_SETTEXT} 1 "STR:String"
- GetDlgItem $1 $HWND 1208
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Delimiter1"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Delimiter2"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Word):"
- abort
- WordReplace1Send:
- StrCmp $0 "3. WordReplace (Replace)" 0 WordReplace2Send
- GetDlgItem $1 $HWND 1201
- SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\io.sys|C:\logo.sys|C:\WINDOWS"
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:SYS"
- GetDlgItem $1 $HWND 1203
- SendMessage $1 ${WM_SETTEXT} 1 "STR:bmp"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:+2"
- goto WordReplaceSend
- WordReplace2Send:
- StrCmp $0 " (Delete)" 0 WordReplace3Send
- GetDlgItem $1 $HWND 1201
- SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\io.sys|C:\logo.sys|C:\WINDOWS"
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:SYS"
- GetDlgItem $1 $HWND 1203
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:E+"
- goto WordReplaceSend
- WordReplace3Send:
- StrCmp $0 " (Multiple-replace)" 0 WordAdd1Send
- GetDlgItem $1 $HWND 1201
- SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\io.sys||||||C:\logo.sys|||C:\WINDOWS"
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:|"
- GetDlgItem $1 $HWND 1203
- SendMessage $1 ${WM_SETTEXT} 1 "STR:|"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:+1*"
- goto WordReplaceSend
- WordAdd1Send:
- StrCmp $0 "4. WordAdd (Add)" 0 WordAdd2Send
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:+C:\WINDOWS|C:\config.sys|C:\IO.SYS"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (String1 + String2):"
- goto WordAddSend
- WordAdd2Send:
- StrCmp $0 " (Delete) " 0 WordInsertSend
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:E-C:\WINDOWS|C:\config.sys|C:\IO.SYS"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (String1 - String2):"
- goto WordAddSend
- WordInsertSend:
- StrCmp $0 "5. WordInsert" 0 StrFilter1Send
- GetDlgItem $1 $HWND 1201
- SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\io.sys|C:\WINDOWS"
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:|"
- GetDlgItem $1 $HWND 1203
- EnableWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\logo.sys"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:E+2"
- GetDlgItem $1 $HWND 1207
- SendMessage $1 ${WM_SETTEXT} 1 "STR:String"
- GetDlgItem $1 $HWND 1208
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Delimiter"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Word"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result:"
- abort
- StrFilter1Send:
- StrCmp $0 "6. StrFilter (UpperCase)" 0 StrFilter2Send
- GetDlgItem $1 $HWND 1201
- SendMessage $1 ${WM_SETTEXT} 1 "STR:123abc 456DEF 7890|%#"
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:+"
- GetDlgItem $1 $HWND 1203
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (String in uppercase):"
- goto StrFilterSend
- StrFilter2Send:
- StrCmp $0 " (LowerCase)" 0 StrFilter3Send
- GetDlgItem $1 $HWND 1201
- SendMessage $1 ${WM_SETTEXT} 1 "STR:123abc 456DEF 7890|%#"
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:-"
- GetDlgItem $1 $HWND 1203
- SendMessage $1 ${WM_SETTEXT} 1 "STR:ef"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (String in lowercase except EF):"
- goto StrFilterSend
- StrFilter3Send:
- StrCmp $0 " (Filter)" 0 VersionCompareSend
- GetDlgItem $1 $HWND 1201
- SendMessage $1 ${WM_SETTEXT} 1 "STR:123abc 456DEF 7890|%#"
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:+12"
- GetDlgItem $1 $HWND 1203
- SendMessage $1 ${WM_SETTEXT} 1 "STR:b"
- GetDlgItem $1 $HWND 1204
- SendMessage $1 ${WM_SETTEXT} 1 "STR:def"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (String Digits + Letters + b - def):"
- goto StrFilterSend
- VersionCompareSend:
- StrCmp $0 "7. VersionCompare" 0 VersionConvertSend
- GetDlgItem $1 $HWND 1201
- SendMessage $1 ${WM_SETTEXT} 1 "STR:1.1.1.9"
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:1.1.1.01"
- GetDlgItem $1 $HWND 1203
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1204
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1206
- EnableWindow $1 0
- GetDlgItem $1 $HWND 1207
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Version1"
- GetDlgItem $1 $HWND 1208
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Version2"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (0-equal 1-newer 2-older):"
- abort
- VersionConvertSend:
- StrCmp $0 "8. VersionConvert" 0 Abort
- GetDlgItem $1 $HWND 1201
- SendMessage $1 ${WM_SETTEXT} 1 "STR:9.0c"
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1203
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1204
- ShowWindow $1 0
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1206
- EnableWindow $1 0
- GetDlgItem $1 $HWND 1207
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Version"
- GetDlgItem $1 $HWND 1208
- SendMessage $1 ${WM_SETTEXT} 1 "STR:CharList"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (numerical version format):"
- abort
- Abort:
- Abort
- WordFindSend:
- GetDlgItem $1 $HWND 1203
- EnableWindow $1 0
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1201
- SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\io.sys|C:\logo.sys|C:\Program Files|C:\WINDOWS"
- GetDlgItem $1 $HWND 1207
- SendMessage $1 ${WM_SETTEXT} 1 "STR:String"
- GetDlgItem $1 $HWND 1208
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Delimiter"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- Abort
- WordReplaceSend:
- GetDlgItem $1 $HWND 1203
- EnableWindow $1 1
- GetDlgItem $1 $HWND 1207
- SendMessage $1 ${WM_SETTEXT} 1 "STR:String"
- GetDlgItem $1 $HWND 1208
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Replace it"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR: with"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Result:"
- Abort
- WordAddSend:
- GetDlgItem $1 $HWND 1203
- EnableWindow $1 0
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1201
- SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\io.sys|C:\logo.sys|C:\WINDOWS"
- GetDlgItem $1 $HWND 1202
- SendMessage $1 ${WM_SETTEXT} 1 "STR:|"
- GetDlgItem $1 $HWND 1207
- SendMessage $1 ${WM_SETTEXT} 1 "STR:String1"
- GetDlgItem $1 $HWND 1208
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Delimiter"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:String2"
- Abort
- StrFilterSend:
- GetDlgItem $1 $HWND 1203
- EnableWindow $1 1
- GetDlgItem $1 $HWND 1206
- EnableWindow $1 0
- GetDlgItem $1 $HWND 1207
- SendMessage $1 ${WM_SETTEXT} 1 "STR:String"
- GetDlgItem $1 $HWND 1208
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Filter"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Include"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Exclude"
- Abort
- ;=Enter=
- Enter:
- StrCpy $0 ''
- ReadINIStr $STATE $INI "Field 1" "State"
- ReadINIStr $R1 $INI "Field 2" "State"
- ReadINIStr $R2 $INI "Field 3" "State"
- ReadINIStr $R3 $INI "Field 4" "State"
- ReadINIStr $R4 $INI "Field 5" "State"
- StrCmp $STATE "1. WordFind (Find word by number)" WordFind
- StrCmp $STATE " (Delimiter exclude)" WordFind
- StrCmp $STATE " (Find in string)" WordFind
- StrCmp $STATE " (Sum of words)" WordFind
- StrCmp $STATE " (Sum of delimiters)" WordFind
- StrCmp $STATE " (Find word number)" WordFind
- StrCmp $STATE " ( }} )" WordFind
- StrCmp $STATE " ( {} )" WordFind
- StrCmp $STATE " ( *} )" WordFind
- StrCmp $STATE "2. WordFind2X" WordFind2X
- StrCmp $STATE "3. WordReplace (Replace)" WordReplace
- StrCmp $STATE " (Delete)" WordReplace
- StrCmp $STATE " (Multiple-replace)" WordReplace
- StrCmp $STATE "4. WordAdd (Add)" WordAdd
- StrCmp $STATE " (Delete) " WordAdd
- StrCmp $STATE "5. WordInsert" WordInsert
- StrCmp $STATE "6. StrFilter (UpperCase)" StrFilter
- StrCmp $STATE " (LowerCase)" StrFilter
- StrCmp $STATE " (Filter)" StrFilter
- StrCmp $STATE "7. VersionCompare" VersionCompare
- StrCmp $STATE "8. VersionConvert" VersionConvert
- Abort
- WordFind:
- ${WordFind} "$R1" "$R2" "$R4" $R0
- IfErrors 0 Send
- StrCpy $0 $R0
- StrCmp $R0 3 0 +3
- StrCpy $3 '"+1" "-1" "+1}" "+1{" "#" "/word"'
- goto error3
- StrCmp $R0 2 0 error1
- StrCpy $R4 $R4 '' 1
- StrCpy $1 $R4 1
- StrCmp $1 / 0 error2
- StrCpy $R4 $R4 '' 1
- StrCpy $R0 '"$R4" no such word.'
- goto Send
- WordFind2X:
- ${WordFind2X} "$R1" "$R2" "$R3" "$R4" $R0
- IfErrors 0 Send
- StrCpy $0 $R0
- StrCmp $R0 3 0 +3
- StrCpy $3 '"+1" "-1"'
- goto error3
- StrCmp $R0 2 +3
- StrCpy $R0 '"$R2...$R3" no words found.'
- goto Send
- StrCpy $R4 $R4 '' 1
- StrCpy $1 $R4 1
- StrCmp $1 / 0 +2
- StrCpy $R4 $R4 '' 1
- StrCpy $R0 '"$R4" no such word.'
- goto Send
- WordReplace:
- ${WordReplace} "$R1" "$R2" "$R3" "$R4" $R0
- IfErrors 0 Send
- StrCpy $0 $R0
- StrCmp $R0 3 0 +3
- StrCpy $3 '"+1" "+1*" "+" "+*" "{}"'
- goto error3
- StrCmp $R0 2 0 error1
- StrCpy $R4 $R4 '' 1
- goto error2
- WordAdd:
- ${WordAdd} "$R1" "$R2" "$R4" $R0
- IfErrors 0 Send
- StrCpy $0 $R0
- StrCmp $R0 3 0 error1empty
- StrCpy $3 '"+text" "-text"'
- goto error3
- WordInsert:
- ${WordInsert} "$R1" "$R2" "$R3" "$R4" $R0
- IfErrors 0 Send
- StrCpy $0 $R0
- StrCmp $R0 3 0 +3
- StrCpy $3 '"+1" "-1"'
- goto error3
- StrCmp $R0 2 0 error1empty
- StrCpy $R4 $R4 '' 1
- goto error2
- StrFilter:
- ${StrFilter} "$R1" "$R2" "$R3" "$R4" $R0
- IfErrors 0 Send
- StrCpy $R0 'Syntax error'
- goto Send
- VersionCompare:
- ${VersionCompare} "$R1" "$R2" $R0
- goto Send
- VersionConvert:
- ${VersionConvert} "$R1" "$R2" $R0
- goto Send
- error3:
- StrCpy $R0 '"$R4" syntax error ($3)'
- goto Send
- error2:
- StrCpy $R0 '"$R4" no such word number'
- goto Send
- error1empty:
- StrCpy $R0 '"$R2" delimiter is empty'
- goto Send
- error1:
- StrCpy $R0 '"$R2" delimiter not found in string'
- goto Send
- Send:
- GetDlgItem $1 $HWND 1205
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$R0"
- GetDlgItem $1 $HWND 1206
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$0"
- abort
- FunctionEnd
- Function .onInit
- InitPluginsDir
- GetTempFileName $INI $PLUGINSDIR
- File /oname=$INI "WordFunc.ini"
- FunctionEnd
- Page instfiles
- Section "Empty"
- SectionEnd
|