home *** CD-ROM | disk | FTP | other *** search
- ;_____________________________________________________________________________
- ;
- ; 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
-