835 lines
23 KiB
Plaintext
835 lines
23 KiB
Plaintext
|
;_____________________________________________________________________________
|
||
|
;
|
||
|
; 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
|