123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834 |
- ;_____________________________________________________________________________
- ;
- ; Text Functions
- ;_____________________________________________________________________________
- ;
- ; 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
- Name "Text Functions"
- OutFile "TextFunc.exe"
- Caption "$(^Name)"
- XPStyle on
- RequestExecutionLevel user
- !include "WinMessages.nsh"
- !include "TextFunc.nsh"
- Var HWND
- Var INI
- Var LOG
- Var PROJECT
- Var CALLBACK
- Var VIEW
- Var FUNCTION
- Var LINEFIND1
- Var LINEFIND2
- Var LINEFIND3
- Var LINEREAD1
- Var LINEREAD2
- Var FILEREADFROMEND1
- Var LINESUM1
- Var FILEJOIN1
- Var FILEJOIN2
- Var FILEJOIN3
- Var TEXTCOMPARE1
- Var TEXTCOMPARE2
- Var TEXTCOMPARE3
- Var CONFIGREAD1
- Var CONFIGREAD2
- Var CONFIGWRITE1
- Var CONFIGWRITE2
- Var CONFIGWRITE3
- Var FILERECODE1
- Var FILERECODE2
- Page Custom ShowCustom LeaveCustom
- Function ShowCustom
- InstallOptions::initDialog "$INI"
- Pop $hwnd
- GetDlgItem $0 $HWND 1206
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1208
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1209
- ShowWindow $0 0
- StrCpy $FUNCTION LineFind
- StrCpy $LINEREAD2 10
- StrCpy $TEXTCOMPARE3 FastDiff
- StrCpy $CONFIGREAD1 "$WINDIR\system.ini"
- StrCpy $CONFIGREAD2 "shell="
- StrCpy $FILERECODE2 CharToOem
- InstallOptions::show
- Pop $0
- FunctionEnd
- Function LeaveCustom
- ReadINIStr $0 $INI "Settings" "State"
- ReadINIStr $R0 $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"
- ReadINIStr $R5 $INI "Field 6" "State"
- StrCpy $R4 $R4 8
- StrCpy $R5 $R5 8
- StrCpy $6 0
- StrCpy $7 '$${'
- StrCpy $8 'r'
- StrCpy $9 'n'
- StrCmp $0 10 Log
- StrCmp $0 9 ViewOrEdit
- StrCmp $0 0 Enter
- goto MainSend
- Log:
- Exec 'notepad.exe $LOG'
- Abort
- ViewOrEdit:
- StrCmp $FUNCTION FileReadFromEnd 0 Edit
- StrCmp $VIEW '' 0 ViewFileReadFromEndCallback
- GetTempFileName $VIEW $PLUGINSDIR
- StrCpy $7 '$$'
- FileOpen $0 $VIEW w
- FileWrite $0 `Function FileReadFromEndCallback$\r$\n`
- FileWrite $0 ` MessageBox MB_OKCANCEL '$7$$9 "Line"=[$$9]$7\$9$7$$8 "#"=[$$8]$7\$9$7$$7 "-#"=[$$7]' IDOK +2$\r$\n`
- FileWrite $0 ` StrCpy $$R0 StopFileReadFromEnd$\r$\n$\r$\n`
- FileWrite $0 ` Push $$R0$\r$\n`
- FileWrite $0 `FunctionEnd$\r$\n`
- FileClose $0
- StrCpy $7 '$${'
- SetFileAttributes $VIEW READONLY
- ViewFileReadFromEndCallback:
- Exec 'notepad.exe $VIEW'
- Abort
- Edit:
- StrCmp $CALLBACK '' +5
- StrCmp $6$R6 '0$R0$R4$R5' showproject
- StrCmp $R6 '$R0$R4$R5' +3
- Delete $CALLBACK
- StrCpy $CALLBACK ''
- StrCpy $R6 '$R0$R4$R5'
- #Project#
- StrCmp $6$R0 "01. LineFind" 0 +5
- IfFileExists $CALLBACK +2
- GetTempFileName $CALLBACK $PLUGINSDIR
- FileOpen $0 $CALLBACK w
- goto function
- IfFileExists $PROJECT +2
- GetTempFileName $PROJECT $PLUGINSDIR
- FileOpen $0 $PROJECT w
- #Name#
- FileWrite $0 'Name "$FUNCTION"$\r$\n'
- FileWrite $0 'OutFile "$PROJECT.exe"$\r$\n$\r$\n'
- #!include#
- StrCmp $R0$R4 '1. LineFindExample5' 0 TextFuncInclude
- IfFileExists '$EXEDIR\WordFunc.nsh' 0 +3
- FileWrite $0 '!include "$EXEDIR\WordFunc.nsh"$\r$\n'
- goto +2
- FileWrite $0 '!include "WordFunc.nsh"$\r$\n'
- FileWrite $0 '!insertmacro WordFind$\r$\n'
- FileWrite $0 '!insertmacro WordFindS$\r$\n'
- FileWrite $0 '!insertmacro WordFind2X$\r$\n'
- FileWrite $0 '!insertmacro WordFind2XS$\r$\n'
- FileWrite $0 '!insertmacro WordFind3X$\r$\n'
- FileWrite $0 '!insertmacro WordFind3XS$\r$\n'
- FileWrite $0 '!insertmacro WordReplace$\r$\n'
- FileWrite $0 '!insertmacro WordReplaceS$\r$\n'
- FileWrite $0 '!insertmacro WordAdd$\r$\n'
- FileWrite $0 '!insertmacro WordAddS$\r$\n'
- FileWrite $0 '!insertmacro WordInsert$\r$\n'
- FileWrite $0 '!insertmacro WordInsertS$\r$\n'
- FileWrite $0 '!insertmacro StrFilter$\r$\n'
- FileWrite $0 '!insertmacro StrFilterS$\r$\n'
- TextFuncInclude:
- IfFileExists '$EXEDIR\TextFunc.nsh' 0 +3
- FileWrite $0 '!include "$EXEDIR\TextFunc.nsh"$\r$\n'
- goto +2
- FileWrite $0 '!include "TextFunc.nsh"$\r$\n'
- FileWrite $0 '!insertmacro $FUNCTION$\r$\n'
- StrCmp $FUNCTION TextCompare +2
- FileWrite $0 '!insertmacro TrimNewLines$\r$\n'
- #Section#
- FileWrite $0 '$\r$\nSection -empty$\r$\n'
- FileWrite $0 'SectionEnd$\r$\n$\r$\n'
- #Function .onInit#
- FileWrite $0 'Function .onInit$\r$\n'
- StrCmp $R0$R5 "6. TextCompareExample1" 0 TextCompareExample235
- FileWrite $0 ' StrCpy $$R0 ""$\r$\n'
- FileWrite $0 ' $7TextCompare} "$R1" "$R2" "$R3" "$R5"$\r$\n'
- FileWrite $0 ' IfErrors error$\r$\n'
- FileWrite $0 ' StrCmp $$R0 NotEqual 0 +2$\r$\n'
- FileWrite $0 ' MessageBox MB_OK " Files differ" IDOK +2$\r$\n'
- FileWrite $0 ' MessageBox MB_OK " Files identical"$\r$\n'
- FileWrite $0 ' goto end$\r$\n$\r$\n'
- goto endoninit
- TextCompareExample235:
- StrCmp $R0$R5 "6. TextCompareExample2" +3
- StrCmp $R0$R5 "6. TextCompareExample3" +2
- StrCmp $R0$R5 "6. TextCompareExample5" 0 TextCompareExample4
- FileWrite $0 ' StrCpy $$R0 "$R1"$\r$\n'
- FileWrite $0 ' StrCpy $$R1 "$R2"$\r$\n$\r$\n'
- FileWrite $0 ' GetTempFileName $$R2$\r$\n'
- FileWrite $0 ' FileOpen $$R3 $$R2 w$\r$\n'
- FileWrite $0 ' FileWrite $$R3 "$$R0 | $$R1$$\$8$$\$9"$\r$\n'
- FileWrite $0 ' $7TextCompare} "$$R0" "$$R1" "$R3" "$R5"$\r$\n'
- FileWrite $0 ' IfErrors error$\r$\n'
- FileWrite $0 ' Exec "notepad.exe $$R2"$\r$\n'
- FileWrite $0 ' goto end$\r$\n$\r$\n'
- goto endoninit
- TextCompareExample4:
- StrCmp $R0$R5 "6. TextCompareExample4" 0 LineFindExample123456
- FileWrite $0 ' StrCpy $$R0 "$R1"$\r$\n'
- FileWrite $0 ' StrCpy $$R1 "$R2"$\r$\n$\r$\n'
- FileWrite $0 ' GetTempFileName $$R2$\r$\n'
- FileWrite $0 ' FileOpen $$R3 $$R2 w$\r$\n'
- FileWrite $0 ' FileWrite $$R3 "$$R0 | $$R1$$\$8$$\$9"$\r$\n'
- FileWrite $0 ' $7TextCompare} "$$R0" "$$R1" "$R3" "$R5"$\r$\n'
- FileWrite $0 ' IfErrors error$\r$\n'
- FileWrite $0 ' FileWrite $$R3 "$$\$8$$\$9$$R1 | $$R0$$\$8$$\$9"$\r$\n'
- FileWrite $0 ' $7TextCompare} "$$R1" "$$R0" "$R3" "$R5"$\r$\n'
- FileWrite $0 ' FileClose $$R3$\r$\n'
- FileWrite $0 ' IfErrors error$\r$\n'
- FileWrite $0 ' Exec "notepad.exe $$R2"$\r$\n$\r$\n'
- FileWrite $0 ' goto end$\r$\n$\r$\n'
- goto endoninit
- LineFindExample123456:
- FileWrite $0 ' $7$FUNCTION} "$R1" "$R2" "$R3" "$R4"$\r$\n'
- FileWrite $0 ' IfErrors error$\r$\n'
- FileWrite $0 ' MessageBox MB_YESNO " Open output file?" IDNO end$\r$\n'
- FileWrite $0 ' StrCmp "$R2" "" 0 +3$\r$\n'
- FileWrite $0 ` Exec 'notepad.exe "$R1"'$\r$\n`
- FileWrite $0 ' goto end$\r$\n'
- FileWrite $0 ' SearchPath $$R2 "$R2"$\r$\n'
- FileWrite $0 ` Exec 'notepad.exe "$$R2"'$\r$\n`
- FileWrite $0 ' goto end$\r$\n$\r$\n'
- endoninit:
- FileWrite $0 ' error:$\r$\n'
- FileWrite $0 ' MessageBox MB_OK "Error"$\r$\n$\r$\n'
- FileWrite $0 ' end:$\r$\n'
- FileWrite $0 ' Quit$\r$\n'
- FileWrite $0 'FunctionEnd$\r$\n$\r$\n'
- #FunctionEnd#
- #Function CallBack#
- StrCmp $CALLBACK '' 0 close
- function:
- StrCmp $R0 '1. LineFind' 0 +8
- FileWrite $0 'Function $R4$\r$\n'
- StrCmp $R4 "Example1" Example1LF
- StrCmp $R4 "Example2" Example2LF
- StrCmp $R4 "Example3" Example3LF
- StrCmp $R4 "Example4" Example4LF
- StrCmp $R4 "Example5" Example5LF
- StrCmp $R4 "Example6" Example6LF
- FileWrite $0 'Function $R5$\r$\n'
- StrCmp $R5 "Example1" Example1TC
- StrCmp $R5 "Example2" Example2TC
- StrCmp $R5 "Example3" Example3TC
- StrCmp $R5 "Example4" Example4TC
- StrCmp $R5 "Example5" Example3TC
- Example1LF:
- FileWrite $0 " $7TrimNewLines} '$$R9' $$R9$\r$\n"
- FileWrite $0 " StrCpy $$R9 $$R9 '' 2 ;delete first two symbols$\r$\n"
- FileWrite $0 " StrCpy $$R9 '$$R9$$\$8$$\$9'$\r$\n$\r$\n"
- goto endwrite
- Example2LF:
- FileWrite $0 " $7TrimNewLines} '$$R9' $$R9$\r$\n"
- FileWrite $0 " StrCpy $$R9 '$$R9 ~Changed line ($$R8)~$$\$8$$\$9'$\r$\n$\r$\n"
- goto endwrite
- Example3LF:
- FileWrite $0 " StrCpy $$0 SkipWrite$\r$\n$\r$\n"
- goto endwrite
- Example4LF:
- FileWrite $0 " FileWrite $$R4 '---First Line---$$\$8$$\$9'$\r$\n"
- FileWrite $0 " FileWrite $$R4 '---Second Line ...---$$\$8$$\$9'$\r$\n$\r$\n"
- goto endwrite
- Example5LF:
- FileWrite $0 " ; You can use:$\r$\n"
- FileWrite $0 " ; $7WordFind}|$7WordFindS}|$7WordFind2X}|$7WordFind2XS}|$\r$\n"
- FileWrite $0 " ; $7WordFind3X}|$7WordFind3XS}|$7WordReplace}|$7WordReplaceS}|$\r$\n"
- FileWrite $0 " ; $7WordAdd}|$7WordAddS}|$7WordInsert}|$7WordInsertS}|$\r$\n"
- FileWrite $0 " ; $7StrFilter}|$7StrFilterS}$\r$\n$\r$\n"
- FileWrite $0 " $7WordReplace} '$$R9' ' ' '_' '+*' $$R9$\r$\n$\r$\n"
- goto endwrite
- Example6LF:
- FileWrite $0 ' ;(Cut lines from a line to another line (also including that line))$\r$\n'
- FileWrite $0 ' StrCmp $$R0 finish stop$\r$\n'
- FileWrite $0 ' StrCmp $$R0 start finish$\r$\n'
- FileWrite $0 ' StrCmp $$R9 "Start Line$$\$8$$\$9" 0 skip$\r$\n'
- FileWrite $0 ' StrCpy $$R0 start$\r$\n'
- FileWrite $0 ' StrCpy $$R1 $$R9$\r$\n'
- FileWrite $0 ' goto code$\r$\n'
- FileWrite $0 ' finish:$\r$\n'
- FileWrite $0 ' StrCmp $$R9 "Finish Line$$\$8$$\$9" 0 code$\r$\n'
- FileWrite $0 ' StrCpy $$R0 finish$\r$\n'
- FileWrite $0 ' StrCpy $$R2 $$R8$\r$\n'
- FileWrite $0 ' goto code$\r$\n'
- FileWrite $0 ' skip:$\r$\n'
- FileWrite $0 ' StrCpy $$0 SkipWrite$\r$\n'
- FileWrite $0 ' goto output$\r$\n'
- FileWrite $0 ' stop:$\r$\n'
- FileWrite $0 ' StrCpy $$0 StopLineFind$\r$\n'
- FileWrite $0 ' goto output$\r$\n$\r$\n'
- FileWrite $0 ' ;;(Delete lines from a line to another line (also including that line))$\r$\n'
- FileWrite $0 ' ; StrCmp $$R0 finish code$\r$\n'
- FileWrite $0 ' ; StrCmp $$R0 start finish$\r$\n'
- FileWrite $0 ' ; StrCmp $$R9 "Start Line$$\$8$$\$9" 0 code$\r$\n'
- FileWrite $0 ' ; StrCpy $$R0 start$\r$\n'
- FileWrite $0 ' ; StrCpy $$R1 $$R8$\r$\n'
- FileWrite $0 ' ; goto skip$\r$\n'
- FileWrite $0 ' ; finish:$\r$\n'
- FileWrite $0 ' ; StrCmp $$R9 "Finish Line$$\$8$$\$9" 0 skip$\r$\n'
- FileWrite $0 ' ; StrCpy $$R0 finish$\r$\n'
- FileWrite $0 ' ; StrCpy $$R2 $$R8$\r$\n'
- FileWrite $0 ' ; skip:$\r$\n'
- FileWrite $0 ' ; StrCpy $$0 SkipWrite$\r$\n'
- FileWrite $0 ' ; goto output$\r$\n$\r$\n'
- FileWrite $0 ' code:$\r$\n'
- FileWrite $0 ' ;...$\r$\n$\r$\n'
- FileWrite $0 ' output:$\r$\n'
- goto endwrite
- Example1TC:
- FileWrite $0 " StrCpy $$R0 NotEqual$\r$\n"
- FileWrite $0 " StrCpy $$0 StopTextCompare$\r$\n$\r$\n"
- goto endwrite
- Example2TC:
- FileWrite $0 " FileWrite $$R3 '$$8=$$9'$\r$\n"
- FileWrite $0 " FileWrite $$R3 '$$6=$$7$$\$8$$\$9'$\r$\n$\r$\n"
- goto endwrite
- Example3TC:
- FileWrite $0 " FileWrite $$R3 '$$8|$$6=$$9'$\r$\n$\r$\n"
- goto endwrite
- Example4TC:
- FileWrite $0 " FileWrite $$R3 '$$8=$$9'$\r$\n$\r$\n"
- goto endwrite
- endwrite:
- FileWrite $0 ' Push $$0$\r$\n'
- FileWrite $0 'FunctionEnd$\r$\n'
- close:
- FileClose $0
- goto $6
- #FunctionEnd#
- showproject:
- StrCmp $R0 '1. LineFind' 0 +3
- ExecWait 'notepad.exe $CALLBACK'
- goto +4
- SetFileAttributes $PROJECT READONLY
- ExecWait 'notepad.exe $PROJECT'
- SetFileAttributes $PROJECT NORMAL
- Abort
- MainSend:
- GetDlgItem $0 $HWND 1210
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $0 $HWND 1203
- ShowWindow $0 1
- EnableWindow $0 1
- GetDlgItem $0 $HWND 1204
- ShowWindow $0 1
- EnableWindow $0 1
- GetDlgItem $0 $HWND 1205
- EnableWindow $0 1
- GetDlgItem $0 $HWND 1206
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1207
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1208
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1209
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1211
- EnableWindow $0 1
- StrCmp $FUNCTION LineFind 0 +5
- StrCpy $LINEFIND1 $R1
- StrCpy $LINEFIND2 $R2
- StrCpy $LINEFIND3 $R3
- goto LineFindSend
- StrCmp $FUNCTION LineRead 0 +4
- StrCpy $LINEREAD1 $R1
- StrCpy $LINEREAD2 $R2
- goto LineFindSend
- StrCmp $FUNCTION FileReadFromEnd 0 +3
- StrCpy $FILEREADFROMEND1 $R1
- goto LineFindSend
- StrCmp $FUNCTION LineSum 0 +3
- StrCpy $LINESUM1 $R1
- goto LineFindSend
- StrCmp $FUNCTION FileJoin 0 +5
- StrCpy $FILEJOIN1 $R1
- StrCpy $FILEJOIN2 $R2
- StrCpy $FILEJOIN3 $R3
- goto LineFindSend
- StrCmp $FUNCTION TextCompare 0 +5
- StrCpy $TEXTCOMPARE1 $R1
- StrCpy $TEXTCOMPARE2 $R2
- StrCpy $TEXTCOMPARE3 $R3
- goto LineFindSend
- StrCmp $FUNCTION ConfigRead 0 +4
- StrCpy $CONFIGREAD1 $R1
- StrCpy $CONFIGREAD2 $R2
- goto LineFindSend
- StrCmp $FUNCTION ConfigWrite 0 +5
- StrCpy $CONFIGWRITE1 $R1
- StrCpy $CONFIGWRITE2 $R2
- StrCpy $CONFIGWRITE3 $R3
- goto LineFindSend
- StrCmp $FUNCTION FileRecode 0 +3
- StrCpy $FILERECODE1 $R1
- StrCpy $FILERECODE2 $R2
- LineFindSend:
- StrCmp $R0 "1. LineFind" 0 LineReadSend
- StrCmp $FUNCTION LineFind 0 LineFindSend2
- StrCmp $R4 "Example1" 0 +3
- StrCpy $LINEFIND3 "3:-1"
- goto LineFindSend2
- StrCmp $R4 "Example2" 0 +3
- StrCpy $LINEFIND3 "{5:12 15 -6:-5 -1}"
- goto LineFindSend2
- StrCmp $R4 "Example3" 0 +3
- StrCpy $LINEFIND3 "2:3 10:-5 -3:-2"
- goto LineFindSend2
- StrCmp $R4 "Example4" 0 +3
- StrCpy $LINEFIND3 "10"
- goto LineFindSend2
- StrCmp $R4 "Example5" 0 +3
- StrCpy $LINEFIND3 "1:-1"
- goto LineFindSend2
- StrCmp $R4 "Example6" 0 +3
- StrCpy $LINEFIND3 ""
- goto LineFindSend2
- StrCmp $R4 "Example7" 0 +2
- StrCpy $LINEFIND3 "1:-1"
- LineFindSend2:
- StrCpy $FUNCTION LineFind
- StrCmp $LINEFIND2 '/NUL' 0 +2
- StrCpy $LINEFIND2 ''
- GetDlgItem $0 $HWND 1201
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEFIND1"
- GetDlgItem $0 $HWND 1203
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEFIND2"
- GetDlgItem $0 $HWND 1205
- ShowWindow $0 1
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEFIND3"
- GetDlgItem $0 $HWND 1207
- ShowWindow $0 1
- GetDlgItem $0 $HWND 1211
- ShowWindow $0 1
- SendMessage $0 ${WM_SETTEXT} 1 "STR:Edit"
- GetDlgItem $0 $HWND 1212
- ShowWindow $0 1
- StrCmp $LOG '' +2
- EnableWindow $0 1
- GetDlgItem $0 $HWND 1213
- SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
- GetDlgItem $0 $HWND 1214
- SendMessage $0 ${WM_SETTEXT} 1 "STR:OutputFile"
- GetDlgItem $0 $HWND 1215
- SendMessage $0 ${WM_SETTEXT} 1 "STR:Range"
- GetDlgItem $0 $HWND 1216
- SendMessage $0 ${WM_SETTEXT} 1 "STR:Function"
- StrCmp $R4 "Example7" 0 +9
- GetDlgItem $0 $HWND 1203
- EnableWindow $0 0
- SendMessage $0 ${WM_ENABLE} 1 0
- SendMessage $0 ${WM_SETTEXT} 1 "STR:/NUL"
- GetDlgItem $0 $HWND 1204
- EnableWindow $0 0
- GetDlgItem $0 $HWND 1211
- EnableWindow $0 0
- abort
- LineReadSend:
- StrCmp $R0 "2. LineRead" 0 FileReadFromEndSend
- StrCpy $FUNCTION LineRead
- GetDlgItem $0 $HWND 1201
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEREAD1"
- GetDlgItem $0 $HWND 1203
- ShowWindow $0 1
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEREAD2"
- GetDlgItem $0 $HWND 1204
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1205
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1211
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1212
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1213
- SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
- GetDlgItem $0 $HWND 1214
- SendMessage $0 ${WM_SETTEXT} 1 "STR:Line #"
- GetDlgItem $0 $HWND 1215
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $0 $HWND 1216
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- Abort
- FileReadFromEndSend:
- StrCmp $R0 "3. FileReadFromEnd" 0 LineSumSend
- StrCpy $FUNCTION FileReadFromEnd
- GetDlgItem $0 $HWND 1201
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILEREADFROMEND1"
- GetDlgItem $0 $HWND 1203
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1204
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1205
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1209
- ShowWindow $0 1
- GetDlgItem $0 $HWND 1211
- ShowWindow $0 1
- SendMessage $0 ${WM_SETTEXT} 1 "STR:View"
- GetDlgItem $0 $HWND 1212
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1213
- SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
- GetDlgItem $0 $HWND 1214
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $0 $HWND 1215
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $0 $HWND 1216
- SendMessage $0 ${WM_SETTEXT} 1 "STR:Function"
- Abort
- LineSumSend:
- StrCmp $R0 "4. LineSum" 0 FileJoinSend
- StrCpy $FUNCTION LineSum
- GetDlgItem $0 $HWND 1201
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINESUM1"
- GetDlgItem $0 $HWND 1203
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1204
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1205
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1211
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1212
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1213
- SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
- GetDlgItem $0 $HWND 1214
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $0 $HWND 1215
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $0 $HWND 1216
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- Abort
- FileJoinSend:
- StrCmp $R0 "5. FileJoin" 0 TextCompareSend
- StrCpy $FUNCTION FileJoin
- GetDlgItem $0 $HWND 1201
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILEJOIN1"
- GetDlgItem $0 $HWND 1203
- ShowWindow $0 1
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILEJOIN2"
- GetDlgItem $0 $HWND 1204
- ShowWindow $0 1
- GetDlgItem $0 $HWND 1205
- ShowWindow $0 1
- EnableWindow $0 1
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILEJOIN3"
- GetDlgItem $0 $HWND 1206
- ShowWindow $0 1
- GetDlgItem $0 $HWND 1211
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1212
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1213
- SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile1"
- GetDlgItem $0 $HWND 1214
- SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile2"
- GetDlgItem $0 $HWND 1215
- SendMessage $0 ${WM_SETTEXT} 1 "STR:OutputFile"
- GetDlgItem $0 $HWND 1216
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- Abort
- TextCompareSend:
- StrCmp $R0 "6. TextCompare" 0 ConfigReadSend
- StrCmp $FUNCTION TextCompare 0 TextCompareSend2
- StrCmp $R5 "Example1" 0 +3
- StrCpy $TEXTCOMPARE3 "FastDiff"
- goto TextCompareSend2
- StrCmp $R5 "Example2" 0 +3
- StrCpy $TEXTCOMPARE3 "FastDiff"
- goto TextCompareSend2
- StrCmp $R5 "Example3" 0 +3
- StrCpy $TEXTCOMPARE3 "FastEqual"
- goto TextCompareSend2
- StrCmp $R5 "Example4" 0 +3
- StrCpy $TEXTCOMPARE3 "SlowDiff"
- goto TextCompareSend2
- StrCmp $R5 "Example5" 0 +2
- StrCpy $TEXTCOMPARE3 "SlowEqual"
- TextCompareSend2:
- StrCpy $FUNCTION TextCompare
- GetDlgItem $0 $HWND 1201
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$TEXTCOMPARE1"
- GetDlgItem $0 $HWND 1203
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$TEXTCOMPARE2"
- GetDlgItem $0 $HWND 1204
- ShowWindow $0 1
- GetDlgItem $0 $HWND 1205
- ShowWindow $0 1
- EnableWindow $0 0
- SendMessage $0 ${WM_ENABLE} 1 0
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$TEXTCOMPARE3"
- GetDlgItem $0 $HWND 1208
- ShowWindow $0 1
- GetDlgItem $0 $HWND 1211
- ShowWindow $0 1
- SendMessage $0 ${WM_SETTEXT} 1 "STR:View"
- GetDlgItem $0 $HWND 1212
- ShowWindow $0 1
- GetDlgItem $0 $HWND 1213
- SendMessage $0 ${WM_SETTEXT} 1 "STR:TextFile1"
- GetDlgItem $0 $HWND 1214
- SendMessage $0 ${WM_SETTEXT} 1 "STR:TextFile2"
- GetDlgItem $0 $HWND 1215
- SendMessage $0 ${WM_SETTEXT} 1 "STR:Option"
- GetDlgItem $0 $HWND 1216
- SendMessage $0 ${WM_SETTEXT} 1 "STR:Function"
- abort
- ConfigReadSend:
- StrCmp $R0 "7. ConfigRead" 0 ConfigWriteSend
- StrCpy $FUNCTION ConfigRead
- GetDlgItem $0 $HWND 1201
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGREAD1"
- GetDlgItem $0 $HWND 1203
- ShowWindow $0 1
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGREAD2"
- GetDlgItem $0 $HWND 1204
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1205
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1211
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1212
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1213
- SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
- GetDlgItem $0 $HWND 1214
- SendMessage $0 ${WM_SETTEXT} 1 "STR:Entry"
- GetDlgItem $0 $HWND 1215
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $0 $HWND 1216
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- Abort
- ConfigWriteSend:
- StrCmp $R0 "8. ConfigWrite" 0 FileRecodeSend
- StrCpy $FUNCTION ConfigWrite
- GetDlgItem $0 $HWND 1201
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGWRITE1"
- GetDlgItem $0 $HWND 1203
- ShowWindow $0 1
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGWRITE2"
- GetDlgItem $0 $HWND 1204
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1205
- ShowWindow $0 1
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGWRITE3"
- GetDlgItem $0 $HWND 1211
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1212
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1213
- SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
- GetDlgItem $0 $HWND 1214
- SendMessage $0 ${WM_SETTEXT} 1 "STR:Entry"
- GetDlgItem $0 $HWND 1215
- SendMessage $0 ${WM_SETTEXT} 1 "STR:Value"
- GetDlgItem $0 $HWND 1216
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- Abort
- FileRecodeSend:
- StrCmp $R0 "9. FileRecode" 0 Abort
- StrCpy $FUNCTION FileRecode
- GetDlgItem $0 $HWND 1201
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILERECODE1"
- GetDlgItem $0 $HWND 1203
- ShowWindow $0 1
- SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILERECODE2"
- GetDlgItem $0 $HWND 1204
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1205
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1211
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1212
- ShowWindow $0 0
- GetDlgItem $0 $HWND 1213
- SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
- GetDlgItem $0 $HWND 1214
- SendMessage $0 ${WM_SETTEXT} 1 "STR:Format"
- GetDlgItem $0 $HWND 1215
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $0 $HWND 1216
- SendMessage $0 ${WM_SETTEXT} 1 "STR:"
- Abort
- ;=Enter=
- Enter:
- StrCmp $R1 '' 0 +3
- StrCpy $0 'Choose InputFile'
- goto send
- IfFileExists $R1 +3
- StrCpy $0 'InputFile is not exist'
- goto send
- StrCmp $R0 "1. LineFind" LineFindRead
- StrCmp $R0 "2. LineRead" LineRead
- StrCmp $R0 "3. FileReadFromEnd" FileReadFromEnd
- StrCmp $R0 "4. LineSum" LineSum
- StrCmp $R0 "5. FileJoin" FileJoin
- StrCmp $R0 "6. TextCompare" LineFind-TextCompare
- StrCmp $R0 "7. ConfigRead" ConfigRead
- StrCmp $R0 "8. ConfigWrite" ConfigWrite
- StrCmp $R0 "9. FileRecode" FileRecode
- Abort
- LineFindRead:
- StrCmp $R4 "Example7" 0 LineFind-TextCompare
- ${LineFind} '$R1' '/NUL' '$R3' LineFindCallback
- IfErrors error
- StrCmp $R0 StopLineFind 0 done
- StrCpy $0 'stopped'
- goto send
- LineFind-TextCompare:
- GetLabelAddress $6 LineFindBack
- goto Edit
- LineFindBack:
- FileClose $0
- StrCmp $R0 "6. TextCompare" Compile
- StrCmp $CALLBACK '' Compile
- ${FileJoin} "$PROJECT" "$CALLBACK" ""
- Compile:
- StrCmp $LOG '' 0 +4
- GetTempFileName $LOG $PLUGINSDIR
- GetDlgItem $0 $HWND 1212
- EnableWindow $0 1
- ReadRegStr $0 HKLM "SOFTWARE\NSIS" ""
- IfErrors 0 +2
- StrCpy $0 "${NSISDIR}"
- nsExec::Exec '"$0\makensis.exe" /O$LOG $PROJECT'
- Pop $0
- StrCmp $0 0 0 +6
- ExecWait '$PROJECT.exe' $0
- Delete $PROJECT
- Delete $PROJECT.exe
- StrCpy $PROJECT ''
- goto done
- MessageBox MB_YESNO|MB_ICONEXCLAMATION "Compile error. Open log?" IDNO +2
- Exec 'notepad.exe $LOG'
- StrCpy $0 "Compile Error"
- goto send
- LineRead:
- ${LineRead} "$R1" "$R2" $0
- IfErrors error send
- FileReadFromEnd:
- ${FileReadFromEnd} "$R1" "FileReadFromEndCallback"
- IfErrors error
- StrCmp $R0 StopFileReadFromEnd 0 done
- StrCpy $0 'stopped'
- goto send
- LineSum:
- ${LineSum} "$R1" $0
- IfErrors error send
- FileJoin:
- ${FileJoin} "$R1" "$R2" "$R3"
- IfErrors error
- MessageBox MB_YESNO " Open output file?" IDNO done
- StrCmp $R3 '' 0 +3
- Exec '"notepad.exe" "$R1"'
- goto done
- Exec '"notepad.exe" "$R3"'
- goto done
- ConfigRead:
- ${ConfigRead} "$R1" "$R2" $0
- IfErrors error send
- ConfigWrite:
- ${ConfigWrite} "$R1" "$R2" "$R3" $0
- IfErrors error
- MessageBox MB_YESNO " Open output file?" IDNO send
- Exec '"notepad.exe" "$R1"'
- goto send
- FileRecode:
- ${FileRecode} "$R1" "$R2"
- IfErrors error
- MessageBox MB_YESNO " Open output file?" IDNO done
- Exec '"notepad.exe" "$R1"'
- goto done
- error:
- StrCpy $0 'error'
- goto send
- done:
- StrCpy $0 'Done'
- send:
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$0"
- abort:
- Abort
- FunctionEnd
- Function LineFindCallback
- MessageBox MB_OKCANCEL '$$R9 "Line"=[$R9]$\n$$R8 "#"=[$R8]$\n$$R7 "-#"=[$R7]$\n$$R6 "Range"=[$R6]$\n$$R5 "Read"=[$R5]$\n$$R4 "Write"=[$R4]' IDOK +2
- StrCpy $R0 StopLineFind
- Push $R0
- FunctionEnd
- Function FileReadFromEndCallback
- MessageBox MB_OKCANCEL '$$9 "Line"=[$9]$\n$$8 "#"=[$8]$\n$$7 "-#"=[$7]' IDOK +2
- StrCpy $R0 StopFileReadFromEnd
- Push $R0
- FunctionEnd
- Function .onInit
- InitPluginsDir
- GetTempFileName $INI $PLUGINSDIR
- File /oname=$INI "TextFunc.ini"
- FunctionEnd
- Page instfiles
- Section -Empty
- SectionEnd
|