Statistiques
| Révision :

root / tmp / org.txm.setups / nsis / Examples / TextFunc.nsi @ 3108

Historique | Voir | Annoter | Télécharger (23,66 ko)

1 728 mdecorde
;_____________________________________________________________________________
2 728 mdecorde
;
3 728 mdecorde
;                          Text Functions
4 728 mdecorde
;_____________________________________________________________________________
5 728 mdecorde
;
6 728 mdecorde
; 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
7 728 mdecorde
8 728 mdecorde
Name "Text Functions"
9 728 mdecorde
OutFile "TextFunc.exe"
10 728 mdecorde
Caption "$(^Name)"
11 728 mdecorde
XPStyle on
12 728 mdecorde
RequestExecutionLevel user
13 728 mdecorde
14 728 mdecorde
!include "WinMessages.nsh"
15 728 mdecorde
!include "TextFunc.nsh"
16 728 mdecorde
17 728 mdecorde
Var HWND
18 728 mdecorde
Var INI
19 728 mdecorde
Var LOG
20 728 mdecorde
Var PROJECT
21 728 mdecorde
Var CALLBACK
22 728 mdecorde
Var VIEW
23 728 mdecorde
Var FUNCTION
24 728 mdecorde
Var LINEFIND1
25 728 mdecorde
Var LINEFIND2
26 728 mdecorde
Var LINEFIND3
27 728 mdecorde
Var LINEREAD1
28 728 mdecorde
Var LINEREAD2
29 728 mdecorde
Var FILEREADFROMEND1
30 728 mdecorde
Var LINESUM1
31 728 mdecorde
Var FILEJOIN1
32 728 mdecorde
Var FILEJOIN2
33 728 mdecorde
Var FILEJOIN3
34 728 mdecorde
Var TEXTCOMPARE1
35 728 mdecorde
Var TEXTCOMPARE2
36 728 mdecorde
Var TEXTCOMPARE3
37 728 mdecorde
Var CONFIGREAD1
38 728 mdecorde
Var CONFIGREAD2
39 728 mdecorde
Var CONFIGWRITE1
40 728 mdecorde
Var CONFIGWRITE2
41 728 mdecorde
Var CONFIGWRITE3
42 728 mdecorde
Var FILERECODE1
43 728 mdecorde
Var FILERECODE2
44 728 mdecorde
45 728 mdecorde
Page Custom ShowCustom LeaveCustom
46 728 mdecorde
47 728 mdecorde
Function ShowCustom
48 728 mdecorde
	InstallOptions::initDialog "$INI"
49 728 mdecorde
	Pop $hwnd
50 728 mdecorde
	GetDlgItem $0 $HWND 1206
51 728 mdecorde
	ShowWindow $0 0
52 728 mdecorde
	GetDlgItem $0 $HWND 1208
53 728 mdecorde
	ShowWindow $0 0
54 728 mdecorde
	GetDlgItem $0 $HWND 1209
55 728 mdecorde
	ShowWindow $0 0
56 728 mdecorde
	StrCpy $FUNCTION LineFind
57 728 mdecorde
	StrCpy $LINEREAD2 10
58 728 mdecorde
	StrCpy $TEXTCOMPARE3 FastDiff
59 728 mdecorde
	StrCpy $CONFIGREAD1 "$WINDIR\system.ini"
60 728 mdecorde
	StrCpy $CONFIGREAD2 "shell="
61 728 mdecorde
	StrCpy $FILERECODE2 CharToOem
62 728 mdecorde
	InstallOptions::show
63 728 mdecorde
	Pop $0
64 728 mdecorde
FunctionEnd
65 728 mdecorde
66 728 mdecorde
Function LeaveCustom
67 728 mdecorde
	ReadINIStr $0 $INI "Settings" "State"
68 728 mdecorde
 	ReadINIStr $R0 $INI "Field 1" "State"
69 728 mdecorde
	ReadINIStr $R1 $INI "Field 2" "State"
70 728 mdecorde
 	ReadINIStr $R2 $INI "Field 3" "State"
71 728 mdecorde
 	ReadINIStr $R3 $INI "Field 4" "State"
72 728 mdecorde
 	ReadINIStr $R4 $INI "Field 5" "State"
73 728 mdecorde
 	ReadINIStr $R5 $INI "Field 6" "State"
74 728 mdecorde
	StrCpy $R4 $R4 8
75 728 mdecorde
	StrCpy $R5 $R5 8
76 728 mdecorde
	StrCpy $6 0
77 728 mdecorde
	StrCpy $7 '$${'
78 728 mdecorde
	StrCpy $8 'r'
79 728 mdecorde
	StrCpy $9 'n'
80 728 mdecorde
81 728 mdecorde
	StrCmp $0 10 Log
82 728 mdecorde
	StrCmp $0 9 ViewOrEdit
83 728 mdecorde
	StrCmp $0 0 Enter
84 728 mdecorde
	goto MainSend
85 728 mdecorde
86 728 mdecorde
	Log:
87 728 mdecorde
	Exec 'notepad.exe $LOG'
88 728 mdecorde
	Abort
89 728 mdecorde
90 728 mdecorde
	ViewOrEdit:
91 728 mdecorde
	StrCmp $FUNCTION FileReadFromEnd 0 Edit
92 728 mdecorde
	StrCmp $VIEW '' 0 ViewFileReadFromEndCallback
93 728 mdecorde
	GetTempFileName $VIEW $PLUGINSDIR
94 728 mdecorde
	StrCpy $7 '$$'
95 728 mdecorde
	FileOpen $0 $VIEW w
96 728 mdecorde
	FileWrite $0 `Function FileReadFromEndCallback$\r$\n`
97 728 mdecorde
	FileWrite $0 `	MessageBox MB_OKCANCEL '$7$$9       "Line"=[$$9]$7\$9$7$$8           "#"=[$$8]$7\$9$7$$7          "-#"=[$$7]' IDOK +2$\r$\n`
98 728 mdecorde
	FileWrite $0 `	StrCpy $$R0 StopFileReadFromEnd$\r$\n$\r$\n`
99 728 mdecorde
	FileWrite $0 `	Push $$R0$\r$\n`
100 728 mdecorde
	FileWrite $0 `FunctionEnd$\r$\n`
101 728 mdecorde
	FileClose $0
102 728 mdecorde
	StrCpy $7 '$${'
103 728 mdecorde
	SetFileAttributes $VIEW READONLY
104 728 mdecorde
	ViewFileReadFromEndCallback:
105 728 mdecorde
	Exec 'notepad.exe $VIEW'
106 728 mdecorde
	Abort
107 728 mdecorde
108 728 mdecorde
	Edit:
109 728 mdecorde
	StrCmp $CALLBACK '' +5
110 728 mdecorde
	StrCmp $6$R6 '0$R0$R4$R5' showproject
111 728 mdecorde
	StrCmp $R6 '$R0$R4$R5' +3
112 728 mdecorde
	Delete $CALLBACK
113 728 mdecorde
	StrCpy $CALLBACK ''
114 728 mdecorde
	StrCpy $R6 '$R0$R4$R5'
115 728 mdecorde
116 728 mdecorde
	#Project#
117 728 mdecorde
	StrCmp $6$R0 "01. LineFind" 0 +5
118 728 mdecorde
	IfFileExists $CALLBACK +2
119 728 mdecorde
	GetTempFileName $CALLBACK $PLUGINSDIR
120 728 mdecorde
	FileOpen $0 $CALLBACK w
121 728 mdecorde
	goto function
122 728 mdecorde
	IfFileExists $PROJECT +2
123 728 mdecorde
	GetTempFileName $PROJECT $PLUGINSDIR
124 728 mdecorde
	FileOpen $0 $PROJECT w
125 728 mdecorde
126 728 mdecorde
	#Name#
127 728 mdecorde
	FileWrite $0 'Name "$FUNCTION"$\r$\n'
128 728 mdecorde
	FileWrite $0 'OutFile "$PROJECT.exe"$\r$\n$\r$\n'
129 728 mdecorde
130 728 mdecorde
	#!include#
131 728 mdecorde
	StrCmp $R0$R4 '1. LineFindExample5' 0 TextFuncInclude
132 728 mdecorde
	IfFileExists '$EXEDIR\WordFunc.nsh' 0 +3
133 728 mdecorde
	FileWrite $0 '!include "$EXEDIR\WordFunc.nsh"$\r$\n'
134 728 mdecorde
	goto +2
135 728 mdecorde
	FileWrite $0 '!include "WordFunc.nsh"$\r$\n'
136 728 mdecorde
	FileWrite $0 '!insertmacro WordFind$\r$\n'
137 728 mdecorde
	FileWrite $0 '!insertmacro WordFindS$\r$\n'
138 728 mdecorde
	FileWrite $0 '!insertmacro WordFind2X$\r$\n'
139 728 mdecorde
	FileWrite $0 '!insertmacro WordFind2XS$\r$\n'
140 728 mdecorde
	FileWrite $0 '!insertmacro WordFind3X$\r$\n'
141 728 mdecorde
	FileWrite $0 '!insertmacro WordFind3XS$\r$\n'
142 728 mdecorde
	FileWrite $0 '!insertmacro WordReplace$\r$\n'
143 728 mdecorde
	FileWrite $0 '!insertmacro WordReplaceS$\r$\n'
144 728 mdecorde
	FileWrite $0 '!insertmacro WordAdd$\r$\n'
145 728 mdecorde
	FileWrite $0 '!insertmacro WordAddS$\r$\n'
146 728 mdecorde
	FileWrite $0 '!insertmacro WordInsert$\r$\n'
147 728 mdecorde
	FileWrite $0 '!insertmacro WordInsertS$\r$\n'
148 728 mdecorde
	FileWrite $0 '!insertmacro StrFilter$\r$\n'
149 728 mdecorde
	FileWrite $0 '!insertmacro StrFilterS$\r$\n'
150 728 mdecorde
	TextFuncInclude:
151 728 mdecorde
	IfFileExists '$EXEDIR\TextFunc.nsh' 0 +3
152 728 mdecorde
	FileWrite $0 '!include "$EXEDIR\TextFunc.nsh"$\r$\n'
153 728 mdecorde
	goto +2
154 728 mdecorde
	FileWrite $0 '!include "TextFunc.nsh"$\r$\n'
155 728 mdecorde
	FileWrite $0 '!insertmacro $FUNCTION$\r$\n'
156 728 mdecorde
	StrCmp $FUNCTION TextCompare +2
157 728 mdecorde
	FileWrite $0 '!insertmacro TrimNewLines$\r$\n'
158 728 mdecorde
159 728 mdecorde
	#Section#
160 728 mdecorde
	FileWrite $0 '$\r$\nSection -empty$\r$\n'
161 728 mdecorde
	FileWrite $0 'SectionEnd$\r$\n$\r$\n'
162 728 mdecorde
163 728 mdecorde
	#Function .onInit#
164 728 mdecorde
	FileWrite $0 'Function .onInit$\r$\n'
165 728 mdecorde
	StrCmp $R0$R5 "6. TextCompareExample1" 0 TextCompareExample235
166 728 mdecorde
	FileWrite $0 '	StrCpy $$R0 ""$\r$\n'
167 728 mdecorde
	FileWrite $0 '	$7TextCompare} "$R1" "$R2" "$R3" "$R5"$\r$\n'
168 728 mdecorde
	FileWrite $0 '	IfErrors error$\r$\n'
169 728 mdecorde
	FileWrite $0 '	StrCmp $$R0 NotEqual 0 +2$\r$\n'
170 728 mdecorde
	FileWrite $0 '	MessageBox MB_OK "             Files differ" IDOK +2$\r$\n'
171 728 mdecorde
	FileWrite $0 '	MessageBox MB_OK "           Files identical"$\r$\n'
172 728 mdecorde
	FileWrite $0 '	goto end$\r$\n$\r$\n'
173 728 mdecorde
	goto endoninit
174 728 mdecorde
	TextCompareExample235:
175 728 mdecorde
	StrCmp $R0$R5 "6. TextCompareExample2" +3
176 728 mdecorde
	StrCmp $R0$R5 "6. TextCompareExample3" +2
177 728 mdecorde
	StrCmp $R0$R5 "6. TextCompareExample5" 0 TextCompareExample4
178 728 mdecorde
	FileWrite $0 '	StrCpy $$R0 "$R1"$\r$\n'
179 728 mdecorde
	FileWrite $0 '	StrCpy $$R1 "$R2"$\r$\n$\r$\n'
180 728 mdecorde
	FileWrite $0 '	GetTempFileName $$R2$\r$\n'
181 728 mdecorde
	FileWrite $0 '	FileOpen $$R3 $$R2 w$\r$\n'
182 728 mdecorde
	FileWrite $0 '	FileWrite $$R3 "$$R0 | $$R1$$\$8$$\$9"$\r$\n'
183 728 mdecorde
	FileWrite $0 '	$7TextCompare} "$$R0" "$$R1" "$R3" "$R5"$\r$\n'
184 728 mdecorde
	FileWrite $0 '	IfErrors error$\r$\n'
185 728 mdecorde
	FileWrite $0 '	Exec "notepad.exe $$R2"$\r$\n'
186 728 mdecorde
	FileWrite $0 '	goto end$\r$\n$\r$\n'
187 728 mdecorde
	goto endoninit
188 728 mdecorde
	TextCompareExample4:
189 728 mdecorde
	StrCmp $R0$R5 "6. TextCompareExample4" 0 LineFindExample123456
190 728 mdecorde
	FileWrite $0 '	StrCpy $$R0 "$R1"$\r$\n'
191 728 mdecorde
	FileWrite $0 '	StrCpy $$R1 "$R2"$\r$\n$\r$\n'
192 728 mdecorde
	FileWrite $0 '	GetTempFileName $$R2$\r$\n'
193 728 mdecorde
	FileWrite $0 '	FileOpen $$R3 $$R2 w$\r$\n'
194 728 mdecorde
	FileWrite $0 '	FileWrite $$R3 "$$R0 | $$R1$$\$8$$\$9"$\r$\n'
195 728 mdecorde
	FileWrite $0 '	$7TextCompare} "$$R0" "$$R1" "$R3" "$R5"$\r$\n'
196 728 mdecorde
	FileWrite $0 '	IfErrors error$\r$\n'
197 728 mdecorde
	FileWrite $0 '	FileWrite $$R3 "$$\$8$$\$9$$R1 | $$R0$$\$8$$\$9"$\r$\n'
198 728 mdecorde
	FileWrite $0 '	$7TextCompare} "$$R1" "$$R0" "$R3" "$R5"$\r$\n'
199 728 mdecorde
	FileWrite $0 '	FileClose $$R3$\r$\n'
200 728 mdecorde
	FileWrite $0 '	IfErrors error$\r$\n'
201 728 mdecorde
	FileWrite $0 '	Exec "notepad.exe $$R2"$\r$\n$\r$\n'
202 728 mdecorde
	FileWrite $0 '	goto end$\r$\n$\r$\n'
203 728 mdecorde
	goto endoninit
204 728 mdecorde
	LineFindExample123456:
205 728 mdecorde
	FileWrite $0 '	$7$FUNCTION} "$R1" "$R2" "$R3" "$R4"$\r$\n'
206 728 mdecorde
	FileWrite $0 '	IfErrors error$\r$\n'
207 728 mdecorde
	FileWrite $0 '	MessageBox MB_YESNO "          Open output file?" IDNO end$\r$\n'
208 728 mdecorde
	FileWrite $0 '	StrCmp "$R2" "" 0 +3$\r$\n'
209 728 mdecorde
	FileWrite $0 `	Exec 'notepad.exe "$R1"'$\r$\n`
210 728 mdecorde
	FileWrite $0 '	goto end$\r$\n'
211 728 mdecorde
	FileWrite $0 '	SearchPath $$R2 "$R2"$\r$\n'
212 728 mdecorde
	FileWrite $0 `	Exec 'notepad.exe "$$R2"'$\r$\n`
213 728 mdecorde
	FileWrite $0 '	goto end$\r$\n$\r$\n'
214 728 mdecorde
	endoninit:
215 728 mdecorde
	FileWrite $0 '	error:$\r$\n'
216 728 mdecorde
	FileWrite $0 '	MessageBox MB_OK "Error"$\r$\n$\r$\n'
217 728 mdecorde
	FileWrite $0 '	end:$\r$\n'
218 728 mdecorde
	FileWrite $0 '	Quit$\r$\n'
219 728 mdecorde
	FileWrite $0 'FunctionEnd$\r$\n$\r$\n'
220 728 mdecorde
	#FunctionEnd#
221 728 mdecorde
222 728 mdecorde
223 728 mdecorde
	#Function CallBack#
224 728 mdecorde
	StrCmp $CALLBACK '' 0 close
225 728 mdecorde
	function:
226 728 mdecorde
	StrCmp $R0 '1. LineFind' 0 +8
227 728 mdecorde
	FileWrite $0 'Function $R4$\r$\n'
228 728 mdecorde
	StrCmp $R4 "Example1" Example1LF
229 728 mdecorde
	StrCmp $R4 "Example2" Example2LF
230 728 mdecorde
	StrCmp $R4 "Example3" Example3LF
231 728 mdecorde
	StrCmp $R4 "Example4" Example4LF
232 728 mdecorde
	StrCmp $R4 "Example5" Example5LF
233 728 mdecorde
	StrCmp $R4 "Example6" Example6LF
234 728 mdecorde
235 728 mdecorde
	FileWrite $0 'Function $R5$\r$\n'
236 728 mdecorde
	StrCmp $R5 "Example1" Example1TC
237 728 mdecorde
	StrCmp $R5 "Example2" Example2TC
238 728 mdecorde
	StrCmp $R5 "Example3" Example3TC
239 728 mdecorde
	StrCmp $R5 "Example4" Example4TC
240 728 mdecorde
	StrCmp $R5 "Example5" Example3TC
241 728 mdecorde
242 728 mdecorde
	Example1LF:
243 728 mdecorde
	FileWrite $0 "	$7TrimNewLines} '$$R9' $$R9$\r$\n"
244 728 mdecorde
	FileWrite $0 "	StrCpy $$R9 $$R9 '' 2       ;delete first two symbols$\r$\n"
245 728 mdecorde
	FileWrite $0 "	StrCpy $$R9 '$$R9$$\$8$$\$9'$\r$\n$\r$\n"
246 728 mdecorde
	goto endwrite
247 728 mdecorde
	Example2LF:
248 728 mdecorde
	FileWrite $0 "	$7TrimNewLines} '$$R9' $$R9$\r$\n"
249 728 mdecorde
	FileWrite $0 "	StrCpy $$R9 '$$R9   ~Changed line ($$R8)~$$\$8$$\$9'$\r$\n$\r$\n"
250 728 mdecorde
	goto endwrite
251 728 mdecorde
	Example3LF:
252 728 mdecorde
	FileWrite $0 "	StrCpy $$0 SkipWrite$\r$\n$\r$\n"
253 728 mdecorde
	goto endwrite
254 728 mdecorde
	Example4LF:
255 728 mdecorde
	FileWrite $0 "	FileWrite $$R4 '---First Line---$$\$8$$\$9'$\r$\n"
256 728 mdecorde
	FileWrite $0 "	FileWrite $$R4 '---Second Line ...---$$\$8$$\$9'$\r$\n$\r$\n"
257 728 mdecorde
	goto endwrite
258 728 mdecorde
	Example5LF:
259 728 mdecorde
	FileWrite $0 "	; You can use:$\r$\n"
260 728 mdecorde
	FileWrite $0 "	; $7WordFind}|$7WordFindS}|$7WordFind2X}|$7WordFind2XS}|$\r$\n"
261 728 mdecorde
	FileWrite $0 "	; $7WordFind3X}|$7WordFind3XS}|$7WordReplace}|$7WordReplaceS}|$\r$\n"
262 728 mdecorde
	FileWrite $0 "	; $7WordAdd}|$7WordAddS}|$7WordInsert}|$7WordInsertS}|$\r$\n"
263 728 mdecorde
	FileWrite $0 "	; $7StrFilter}|$7StrFilterS}$\r$\n$\r$\n"
264 728 mdecorde
	FileWrite $0 "	$7WordReplace} '$$R9' ' ' '_' '+*' $$R9$\r$\n$\r$\n"
265 728 mdecorde
	goto endwrite
266 728 mdecorde
	Example6LF:
267 728 mdecorde
	FileWrite $0 '	;(Cut lines from a line to another line (also including that line))$\r$\n'
268 728 mdecorde
	FileWrite $0 '	StrCmp $$R0 finish stop$\r$\n'
269 728 mdecorde
	FileWrite $0 '	StrCmp $$R0 start finish$\r$\n'
270 728 mdecorde
	FileWrite $0 '	StrCmp $$R9 "Start Line$$\$8$$\$9" 0 skip$\r$\n'
271 728 mdecorde
	FileWrite $0 '	StrCpy $$R0 start$\r$\n'
272 728 mdecorde
	FileWrite $0 '	StrCpy $$R1 $$R9$\r$\n'
273 728 mdecorde
	FileWrite $0 '	goto code$\r$\n'
274 728 mdecorde
	FileWrite $0 '	finish:$\r$\n'
275 728 mdecorde
	FileWrite $0 '	StrCmp $$R9 "Finish Line$$\$8$$\$9" 0 code$\r$\n'
276 728 mdecorde
	FileWrite $0 '	StrCpy $$R0 finish$\r$\n'
277 728 mdecorde
	FileWrite $0 '	StrCpy $$R2 $$R8$\r$\n'
278 728 mdecorde
	FileWrite $0 '	goto code$\r$\n'
279 728 mdecorde
	FileWrite $0 '	skip:$\r$\n'
280 728 mdecorde
	FileWrite $0 '	StrCpy $$0 SkipWrite$\r$\n'
281 728 mdecorde
	FileWrite $0 '	goto output$\r$\n'
282 728 mdecorde
	FileWrite $0 '	stop:$\r$\n'
283 728 mdecorde
	FileWrite $0 '	StrCpy $$0 StopLineFind$\r$\n'
284 728 mdecorde
	FileWrite $0 '	goto output$\r$\n$\r$\n'
285 728 mdecorde
	FileWrite $0 '	;;(Delete lines from a line to another line (also including that line))$\r$\n'
286 728 mdecorde
	FileWrite $0 '	; StrCmp $$R0 finish code$\r$\n'
287 728 mdecorde
	FileWrite $0 '	; StrCmp $$R0 start finish$\r$\n'
288 728 mdecorde
	FileWrite $0 '	; StrCmp $$R9 "Start Line$$\$8$$\$9" 0 code$\r$\n'
289 728 mdecorde
	FileWrite $0 '	; StrCpy $$R0 start$\r$\n'
290 728 mdecorde
	FileWrite $0 '	; StrCpy $$R1 $$R8$\r$\n'
291 728 mdecorde
	FileWrite $0 '	; goto skip$\r$\n'
292 728 mdecorde
	FileWrite $0 '	; finish:$\r$\n'
293 728 mdecorde
	FileWrite $0 '	; StrCmp $$R9 "Finish Line$$\$8$$\$9" 0 skip$\r$\n'
294 728 mdecorde
	FileWrite $0 '	; StrCpy $$R0 finish$\r$\n'
295 728 mdecorde
	FileWrite $0 '	; StrCpy $$R2 $$R8$\r$\n'
296 728 mdecorde
	FileWrite $0 '	; skip:$\r$\n'
297 728 mdecorde
	FileWrite $0 '	; StrCpy $$0 SkipWrite$\r$\n'
298 728 mdecorde
	FileWrite $0 '	; goto output$\r$\n$\r$\n'
299 728 mdecorde
	FileWrite $0 '	code:$\r$\n'
300 728 mdecorde
	FileWrite $0 '	;...$\r$\n$\r$\n'
301 728 mdecorde
	FileWrite $0 '	output:$\r$\n'
302 728 mdecorde
	goto endwrite
303 728 mdecorde
	Example1TC:
304 728 mdecorde
	FileWrite $0 "	StrCpy $$R0 NotEqual$\r$\n"
305 728 mdecorde
	FileWrite $0 "	StrCpy $$0 StopTextCompare$\r$\n$\r$\n"
306 728 mdecorde
	goto endwrite
307 728 mdecorde
	Example2TC:
308 728 mdecorde
	FileWrite $0 "	FileWrite $$R3 '$$8=$$9'$\r$\n"
309 728 mdecorde
	FileWrite $0 "	FileWrite $$R3 '$$6=$$7$$\$8$$\$9'$\r$\n$\r$\n"
310 728 mdecorde
	goto endwrite
311 728 mdecorde
	Example3TC:
312 728 mdecorde
	FileWrite $0 "	FileWrite $$R3 '$$8|$$6=$$9'$\r$\n$\r$\n"
313 728 mdecorde
	goto endwrite
314 728 mdecorde
	Example4TC:
315 728 mdecorde
	FileWrite $0 "	FileWrite $$R3 '$$8=$$9'$\r$\n$\r$\n"
316 728 mdecorde
	goto endwrite
317 728 mdecorde
	endwrite:
318 728 mdecorde
	FileWrite $0 '	Push $$0$\r$\n'
319 728 mdecorde
	FileWrite $0 'FunctionEnd$\r$\n'
320 728 mdecorde
	close:
321 728 mdecorde
	FileClose $0
322 728 mdecorde
	goto $6
323 728 mdecorde
	#FunctionEnd#
324 728 mdecorde
325 728 mdecorde
	showproject:
326 728 mdecorde
	StrCmp $R0 '1. LineFind' 0 +3
327 728 mdecorde
	ExecWait 'notepad.exe $CALLBACK'
328 728 mdecorde
	goto +4
329 728 mdecorde
	SetFileAttributes $PROJECT READONLY
330 728 mdecorde
	ExecWait 'notepad.exe $PROJECT'
331 728 mdecorde
	SetFileAttributes $PROJECT NORMAL
332 728 mdecorde
	Abort
333 728 mdecorde
334 728 mdecorde
	MainSend:
335 728 mdecorde
	GetDlgItem $0 $HWND 1210
336 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
337 728 mdecorde
	GetDlgItem $0 $HWND 1203
338 728 mdecorde
	ShowWindow $0 1
339 728 mdecorde
	EnableWindow $0 1
340 728 mdecorde
	GetDlgItem $0 $HWND 1204
341 728 mdecorde
	ShowWindow $0 1
342 728 mdecorde
	EnableWindow $0 1
343 728 mdecorde
	GetDlgItem $0 $HWND 1205
344 728 mdecorde
	EnableWindow $0 1
345 728 mdecorde
	GetDlgItem $0 $HWND 1206
346 728 mdecorde
	ShowWindow $0 0
347 728 mdecorde
	GetDlgItem $0 $HWND 1207
348 728 mdecorde
	ShowWindow $0 0
349 728 mdecorde
	GetDlgItem $0 $HWND 1208
350 728 mdecorde
	ShowWindow $0 0
351 728 mdecorde
	GetDlgItem $0 $HWND 1209
352 728 mdecorde
	ShowWindow $0 0
353 728 mdecorde
	GetDlgItem $0 $HWND 1211
354 728 mdecorde
	EnableWindow $0 1
355 728 mdecorde
356 728 mdecorde
	StrCmp $FUNCTION LineFind 0 +5
357 728 mdecorde
	StrCpy $LINEFIND1 $R1
358 728 mdecorde
	StrCpy $LINEFIND2 $R2
359 728 mdecorde
	StrCpy $LINEFIND3 $R3
360 728 mdecorde
	goto LineFindSend
361 728 mdecorde
	StrCmp $FUNCTION LineRead 0 +4
362 728 mdecorde
	StrCpy $LINEREAD1 $R1
363 728 mdecorde
	StrCpy $LINEREAD2 $R2
364 728 mdecorde
	goto LineFindSend
365 728 mdecorde
	StrCmp $FUNCTION FileReadFromEnd 0 +3
366 728 mdecorde
	StrCpy $FILEREADFROMEND1 $R1
367 728 mdecorde
	goto LineFindSend
368 728 mdecorde
	StrCmp $FUNCTION LineSum 0 +3
369 728 mdecorde
	StrCpy $LINESUM1 $R1
370 728 mdecorde
	goto LineFindSend
371 728 mdecorde
	StrCmp $FUNCTION FileJoin 0 +5
372 728 mdecorde
	StrCpy $FILEJOIN1 $R1
373 728 mdecorde
	StrCpy $FILEJOIN2 $R2
374 728 mdecorde
	StrCpy $FILEJOIN3 $R3
375 728 mdecorde
	goto LineFindSend
376 728 mdecorde
	StrCmp $FUNCTION TextCompare 0 +5
377 728 mdecorde
	StrCpy $TEXTCOMPARE1 $R1
378 728 mdecorde
	StrCpy $TEXTCOMPARE2 $R2
379 728 mdecorde
	StrCpy $TEXTCOMPARE3 $R3
380 728 mdecorde
	goto LineFindSend
381 728 mdecorde
	StrCmp $FUNCTION ConfigRead 0 +4
382 728 mdecorde
	StrCpy $CONFIGREAD1 $R1
383 728 mdecorde
	StrCpy $CONFIGREAD2 $R2
384 728 mdecorde
	goto LineFindSend
385 728 mdecorde
	StrCmp $FUNCTION ConfigWrite 0 +5
386 728 mdecorde
	StrCpy $CONFIGWRITE1 $R1
387 728 mdecorde
	StrCpy $CONFIGWRITE2 $R2
388 728 mdecorde
	StrCpy $CONFIGWRITE3 $R3
389 728 mdecorde
	goto LineFindSend
390 728 mdecorde
	StrCmp $FUNCTION FileRecode 0 +3
391 728 mdecorde
	StrCpy $FILERECODE1 $R1
392 728 mdecorde
	StrCpy $FILERECODE2 $R2
393 728 mdecorde
394 728 mdecorde
	LineFindSend:
395 728 mdecorde
	StrCmp $R0 "1. LineFind" 0 LineReadSend
396 728 mdecorde
	StrCmp $FUNCTION LineFind 0 LineFindSend2
397 728 mdecorde
	StrCmp $R4 "Example1" 0 +3
398 728 mdecorde
	StrCpy $LINEFIND3 "3:-1"
399 728 mdecorde
	goto LineFindSend2
400 728 mdecorde
	StrCmp $R4 "Example2" 0 +3
401 728 mdecorde
	StrCpy $LINEFIND3 "{5:12 15 -6:-5 -1}"
402 728 mdecorde
	goto LineFindSend2
403 728 mdecorde
	StrCmp $R4 "Example3" 0 +3
404 728 mdecorde
	StrCpy $LINEFIND3 "2:3 10:-5 -3:-2"
405 728 mdecorde
	goto LineFindSend2
406 728 mdecorde
	StrCmp $R4 "Example4" 0 +3
407 728 mdecorde
	StrCpy $LINEFIND3 "10"
408 728 mdecorde
	goto LineFindSend2
409 728 mdecorde
	StrCmp $R4 "Example5" 0 +3
410 728 mdecorde
	StrCpy $LINEFIND3 "1:-1"
411 728 mdecorde
	goto LineFindSend2
412 728 mdecorde
	StrCmp $R4 "Example6" 0 +3
413 728 mdecorde
	StrCpy $LINEFIND3 ""
414 728 mdecorde
	goto LineFindSend2
415 728 mdecorde
	StrCmp $R4 "Example7" 0 +2
416 728 mdecorde
	StrCpy $LINEFIND3 "1:-1"
417 728 mdecorde
418 728 mdecorde
	LineFindSend2:
419 728 mdecorde
	StrCpy $FUNCTION LineFind
420 728 mdecorde
	StrCmp $LINEFIND2 '/NUL' 0 +2
421 728 mdecorde
	StrCpy $LINEFIND2 ''
422 728 mdecorde
	GetDlgItem $0 $HWND 1201
423 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEFIND1"
424 728 mdecorde
	GetDlgItem $0 $HWND 1203
425 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEFIND2"
426 728 mdecorde
	GetDlgItem $0 $HWND 1205
427 728 mdecorde
	ShowWindow $0 1
428 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEFIND3"
429 728 mdecorde
	GetDlgItem $0 $HWND 1207
430 728 mdecorde
	ShowWindow $0 1
431 728 mdecorde
	GetDlgItem $0 $HWND 1211
432 728 mdecorde
	ShowWindow $0 1
433 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:Edit"
434 728 mdecorde
	GetDlgItem $0 $HWND 1212
435 728 mdecorde
	ShowWindow $0 1
436 728 mdecorde
	StrCmp $LOG '' +2
437 728 mdecorde
	EnableWindow $0 1
438 728 mdecorde
	GetDlgItem $0 $HWND 1213
439 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
440 728 mdecorde
	GetDlgItem $0 $HWND 1214
441 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:OutputFile"
442 728 mdecorde
	GetDlgItem $0 $HWND 1215
443 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:Range"
444 728 mdecorde
	GetDlgItem $0 $HWND 1216
445 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:Function"
446 728 mdecorde
447 728 mdecorde
	StrCmp $R4 "Example7" 0 +9
448 728 mdecorde
	GetDlgItem $0 $HWND 1203
449 728 mdecorde
	EnableWindow $0 0
450 728 mdecorde
	SendMessage $0 ${WM_ENABLE} 1 0
451 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:/NUL"
452 728 mdecorde
	GetDlgItem $0 $HWND 1204
453 728 mdecorde
	EnableWindow $0 0
454 728 mdecorde
	GetDlgItem $0 $HWND 1211
455 728 mdecorde
	EnableWindow $0 0
456 728 mdecorde
	abort
457 728 mdecorde
458 728 mdecorde
459 728 mdecorde
	LineReadSend:
460 728 mdecorde
	StrCmp $R0 "2. LineRead" 0 FileReadFromEndSend
461 728 mdecorde
	StrCpy $FUNCTION LineRead
462 728 mdecorde
	GetDlgItem $0 $HWND 1201
463 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEREAD1"
464 728 mdecorde
	GetDlgItem $0 $HWND 1203
465 728 mdecorde
	ShowWindow $0 1
466 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEREAD2"
467 728 mdecorde
	GetDlgItem $0 $HWND 1204
468 728 mdecorde
	ShowWindow $0 0
469 728 mdecorde
	GetDlgItem $0 $HWND 1205
470 728 mdecorde
	ShowWindow $0 0
471 728 mdecorde
	GetDlgItem $0 $HWND 1211
472 728 mdecorde
	ShowWindow $0 0
473 728 mdecorde
	GetDlgItem $0 $HWND 1212
474 728 mdecorde
	ShowWindow $0 0
475 728 mdecorde
	GetDlgItem $0 $HWND 1213
476 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
477 728 mdecorde
	GetDlgItem $0 $HWND 1214
478 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:Line #"
479 728 mdecorde
	GetDlgItem $0 $HWND 1215
480 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
481 728 mdecorde
	GetDlgItem $0 $HWND 1216
482 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
483 728 mdecorde
	Abort
484 728 mdecorde
485 728 mdecorde
	FileReadFromEndSend:
486 728 mdecorde
	StrCmp $R0 "3. FileReadFromEnd" 0 LineSumSend
487 728 mdecorde
	StrCpy $FUNCTION FileReadFromEnd
488 728 mdecorde
	GetDlgItem $0 $HWND 1201
489 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILEREADFROMEND1"
490 728 mdecorde
	GetDlgItem $0 $HWND 1203
491 728 mdecorde
	ShowWindow $0 0
492 728 mdecorde
	GetDlgItem $0 $HWND 1204
493 728 mdecorde
	ShowWindow $0 0
494 728 mdecorde
	GetDlgItem $0 $HWND 1205
495 728 mdecorde
	ShowWindow $0 0
496 728 mdecorde
	GetDlgItem $0 $HWND 1209
497 728 mdecorde
	ShowWindow $0 1
498 728 mdecorde
	GetDlgItem $0 $HWND 1211
499 728 mdecorde
	ShowWindow $0 1
500 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:View"
501 728 mdecorde
	GetDlgItem $0 $HWND 1212
502 728 mdecorde
	ShowWindow $0 0
503 728 mdecorde
	GetDlgItem $0 $HWND 1213
504 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
505 728 mdecorde
	GetDlgItem $0 $HWND 1214
506 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
507 728 mdecorde
	GetDlgItem $0 $HWND 1215
508 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
509 728 mdecorde
	GetDlgItem $0 $HWND 1216
510 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:Function"
511 728 mdecorde
	Abort
512 728 mdecorde
513 728 mdecorde
	LineSumSend:
514 728 mdecorde
	StrCmp $R0 "4. LineSum" 0 FileJoinSend
515 728 mdecorde
	StrCpy $FUNCTION LineSum
516 728 mdecorde
	GetDlgItem $0 $HWND 1201
517 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINESUM1"
518 728 mdecorde
	GetDlgItem $0 $HWND 1203
519 728 mdecorde
	ShowWindow $0 0
520 728 mdecorde
	GetDlgItem $0 $HWND 1204
521 728 mdecorde
	ShowWindow $0 0
522 728 mdecorde
	GetDlgItem $0 $HWND 1205
523 728 mdecorde
	ShowWindow $0 0
524 728 mdecorde
	GetDlgItem $0 $HWND 1211
525 728 mdecorde
	ShowWindow $0 0
526 728 mdecorde
	GetDlgItem $0 $HWND 1212
527 728 mdecorde
	ShowWindow $0 0
528 728 mdecorde
	GetDlgItem $0 $HWND 1213
529 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
530 728 mdecorde
	GetDlgItem $0 $HWND 1214
531 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
532 728 mdecorde
	GetDlgItem $0 $HWND 1215
533 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
534 728 mdecorde
	GetDlgItem $0 $HWND 1216
535 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
536 728 mdecorde
	Abort
537 728 mdecorde
538 728 mdecorde
	FileJoinSend:
539 728 mdecorde
	StrCmp $R0 "5. FileJoin" 0 TextCompareSend
540 728 mdecorde
	StrCpy $FUNCTION FileJoin
541 728 mdecorde
	GetDlgItem $0 $HWND 1201
542 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILEJOIN1"
543 728 mdecorde
	GetDlgItem $0 $HWND 1203
544 728 mdecorde
	ShowWindow $0 1
545 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILEJOIN2"
546 728 mdecorde
	GetDlgItem $0 $HWND 1204
547 728 mdecorde
	ShowWindow $0 1
548 728 mdecorde
	GetDlgItem $0 $HWND 1205
549 728 mdecorde
	ShowWindow $0 1
550 728 mdecorde
	EnableWindow $0 1
551 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILEJOIN3"
552 728 mdecorde
	GetDlgItem $0 $HWND 1206
553 728 mdecorde
	ShowWindow $0 1
554 728 mdecorde
	GetDlgItem $0 $HWND 1211
555 728 mdecorde
	ShowWindow $0 0
556 728 mdecorde
	GetDlgItem $0 $HWND 1212
557 728 mdecorde
	ShowWindow $0 0
558 728 mdecorde
	GetDlgItem $0 $HWND 1213
559 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile1"
560 728 mdecorde
	GetDlgItem $0 $HWND 1214
561 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile2"
562 728 mdecorde
	GetDlgItem $0 $HWND 1215
563 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:OutputFile"
564 728 mdecorde
	GetDlgItem $0 $HWND 1216
565 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
566 728 mdecorde
	Abort
567 728 mdecorde
568 728 mdecorde
	TextCompareSend:
569 728 mdecorde
	StrCmp $R0 "6. TextCompare" 0 ConfigReadSend
570 728 mdecorde
	StrCmp $FUNCTION TextCompare 0 TextCompareSend2
571 728 mdecorde
	StrCmp $R5 "Example1" 0 +3
572 728 mdecorde
	StrCpy $TEXTCOMPARE3 "FastDiff"
573 728 mdecorde
	goto TextCompareSend2
574 728 mdecorde
	StrCmp $R5 "Example2" 0 +3
575 728 mdecorde
	StrCpy $TEXTCOMPARE3 "FastDiff"
576 728 mdecorde
	goto TextCompareSend2
577 728 mdecorde
	StrCmp $R5 "Example3" 0 +3
578 728 mdecorde
	StrCpy $TEXTCOMPARE3 "FastEqual"
579 728 mdecorde
	goto TextCompareSend2
580 728 mdecorde
	StrCmp $R5 "Example4" 0 +3
581 728 mdecorde
	StrCpy $TEXTCOMPARE3 "SlowDiff"
582 728 mdecorde
	goto TextCompareSend2
583 728 mdecorde
	StrCmp $R5 "Example5" 0 +2
584 728 mdecorde
	StrCpy $TEXTCOMPARE3 "SlowEqual"
585 728 mdecorde
586 728 mdecorde
	TextCompareSend2:
587 728 mdecorde
	StrCpy $FUNCTION TextCompare
588 728 mdecorde
	GetDlgItem $0 $HWND 1201
589 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$TEXTCOMPARE1"
590 728 mdecorde
	GetDlgItem $0 $HWND 1203
591 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$TEXTCOMPARE2"
592 728 mdecorde
	GetDlgItem $0 $HWND 1204
593 728 mdecorde
	ShowWindow $0 1
594 728 mdecorde
	GetDlgItem $0 $HWND 1205
595 728 mdecorde
	ShowWindow $0 1
596 728 mdecorde
	EnableWindow $0 0
597 728 mdecorde
	SendMessage $0 ${WM_ENABLE} 1 0
598 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$TEXTCOMPARE3"
599 728 mdecorde
	GetDlgItem $0 $HWND 1208
600 728 mdecorde
	ShowWindow $0 1
601 728 mdecorde
	GetDlgItem $0 $HWND 1211
602 728 mdecorde
	ShowWindow $0 1
603 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:View"
604 728 mdecorde
	GetDlgItem $0 $HWND 1212
605 728 mdecorde
	ShowWindow $0 1
606 728 mdecorde
	GetDlgItem $0 $HWND 1213
607 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:TextFile1"
608 728 mdecorde
	GetDlgItem $0 $HWND 1214
609 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:TextFile2"
610 728 mdecorde
	GetDlgItem $0 $HWND 1215
611 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:Option"
612 728 mdecorde
	GetDlgItem $0 $HWND 1216
613 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:Function"
614 728 mdecorde
	abort
615 728 mdecorde
616 728 mdecorde
	ConfigReadSend:
617 728 mdecorde
	StrCmp $R0 "7. ConfigRead" 0 ConfigWriteSend
618 728 mdecorde
	StrCpy $FUNCTION ConfigRead
619 728 mdecorde
	GetDlgItem $0 $HWND 1201
620 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGREAD1"
621 728 mdecorde
	GetDlgItem $0 $HWND 1203
622 728 mdecorde
	ShowWindow $0 1
623 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGREAD2"
624 728 mdecorde
	GetDlgItem $0 $HWND 1204
625 728 mdecorde
	ShowWindow $0 0
626 728 mdecorde
	GetDlgItem $0 $HWND 1205
627 728 mdecorde
	ShowWindow $0 0
628 728 mdecorde
	GetDlgItem $0 $HWND 1211
629 728 mdecorde
	ShowWindow $0 0
630 728 mdecorde
	GetDlgItem $0 $HWND 1212
631 728 mdecorde
	ShowWindow $0 0
632 728 mdecorde
	GetDlgItem $0 $HWND 1213
633 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
634 728 mdecorde
	GetDlgItem $0 $HWND 1214
635 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:Entry"
636 728 mdecorde
	GetDlgItem $0 $HWND 1215
637 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
638 728 mdecorde
	GetDlgItem $0 $HWND 1216
639 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
640 728 mdecorde
	Abort
641 728 mdecorde
642 728 mdecorde
	ConfigWriteSend:
643 728 mdecorde
	StrCmp $R0 "8. ConfigWrite" 0 FileRecodeSend
644 728 mdecorde
	StrCpy $FUNCTION ConfigWrite
645 728 mdecorde
	GetDlgItem $0 $HWND 1201
646 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGWRITE1"
647 728 mdecorde
	GetDlgItem $0 $HWND 1203
648 728 mdecorde
	ShowWindow $0 1
649 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGWRITE2"
650 728 mdecorde
	GetDlgItem $0 $HWND 1204
651 728 mdecorde
	ShowWindow $0 0
652 728 mdecorde
	GetDlgItem $0 $HWND 1205
653 728 mdecorde
	ShowWindow $0 1
654 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGWRITE3"
655 728 mdecorde
	GetDlgItem $0 $HWND 1211
656 728 mdecorde
	ShowWindow $0 0
657 728 mdecorde
	GetDlgItem $0 $HWND 1212
658 728 mdecorde
	ShowWindow $0 0
659 728 mdecorde
	GetDlgItem $0 $HWND 1213
660 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
661 728 mdecorde
	GetDlgItem $0 $HWND 1214
662 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:Entry"
663 728 mdecorde
	GetDlgItem $0 $HWND 1215
664 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:Value"
665 728 mdecorde
	GetDlgItem $0 $HWND 1216
666 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
667 728 mdecorde
	Abort
668 728 mdecorde
669 728 mdecorde
	FileRecodeSend:
670 728 mdecorde
	StrCmp $R0 "9. FileRecode" 0 Abort
671 728 mdecorde
	StrCpy $FUNCTION FileRecode
672 728 mdecorde
	GetDlgItem $0 $HWND 1201
673 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILERECODE1"
674 728 mdecorde
	GetDlgItem $0 $HWND 1203
675 728 mdecorde
	ShowWindow $0 1
676 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILERECODE2"
677 728 mdecorde
	GetDlgItem $0 $HWND 1204
678 728 mdecorde
	ShowWindow $0 0
679 728 mdecorde
	GetDlgItem $0 $HWND 1205
680 728 mdecorde
	ShowWindow $0 0
681 728 mdecorde
	GetDlgItem $0 $HWND 1211
682 728 mdecorde
	ShowWindow $0 0
683 728 mdecorde
	GetDlgItem $0 $HWND 1212
684 728 mdecorde
	ShowWindow $0 0
685 728 mdecorde
	GetDlgItem $0 $HWND 1213
686 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
687 728 mdecorde
	GetDlgItem $0 $HWND 1214
688 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:Format"
689 728 mdecorde
	GetDlgItem $0 $HWND 1215
690 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
691 728 mdecorde
	GetDlgItem $0 $HWND 1216
692 728 mdecorde
	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
693 728 mdecorde
	Abort
694 728 mdecorde
695 728 mdecorde
;=Enter=
696 728 mdecorde
	Enter:
697 728 mdecorde
	StrCmp $R1 '' 0 +3
698 728 mdecorde
	StrCpy $0 'Choose InputFile'
699 728 mdecorde
	goto send
700 728 mdecorde
	IfFileExists $R1 +3
701 728 mdecorde
	StrCpy $0 'InputFile is not exist'
702 728 mdecorde
	goto send
703 728 mdecorde
704 728 mdecorde
	StrCmp $R0 "1. LineFind" LineFindRead
705 728 mdecorde
	StrCmp $R0 "2. LineRead" LineRead
706 728 mdecorde
	StrCmp $R0 "3. FileReadFromEnd" FileReadFromEnd
707 728 mdecorde
	StrCmp $R0 "4. LineSum" LineSum
708 728 mdecorde
	StrCmp $R0 "5. FileJoin" FileJoin
709 728 mdecorde
	StrCmp $R0 "6. TextCompare" LineFind-TextCompare
710 728 mdecorde
	StrCmp $R0 "7. ConfigRead" ConfigRead
711 728 mdecorde
	StrCmp $R0 "8. ConfigWrite" ConfigWrite
712 728 mdecorde
	StrCmp $R0 "9. FileRecode" FileRecode
713 728 mdecorde
	Abort
714 728 mdecorde
715 728 mdecorde
	LineFindRead:
716 728 mdecorde
	StrCmp $R4 "Example7" 0 LineFind-TextCompare
717 728 mdecorde
	${LineFind} '$R1' '/NUL' '$R3' LineFindCallback
718 728 mdecorde
	IfErrors error
719 728 mdecorde
	StrCmp $R0 StopLineFind 0 done
720 728 mdecorde
	StrCpy $0 'stopped'
721 728 mdecorde
	goto send
722 728 mdecorde
723 728 mdecorde
	LineFind-TextCompare:
724 728 mdecorde
	GetLabelAddress $6 LineFindBack
725 728 mdecorde
	goto Edit
726 728 mdecorde
	LineFindBack:
727 728 mdecorde
	FileClose $0
728 728 mdecorde
	StrCmp $R0 "6. TextCompare" Compile
729 728 mdecorde
	StrCmp $CALLBACK '' Compile
730 728 mdecorde
	${FileJoin} "$PROJECT" "$CALLBACK" ""
731 728 mdecorde
732 728 mdecorde
	Compile:
733 728 mdecorde
	StrCmp $LOG '' 0 +4
734 728 mdecorde
	GetTempFileName $LOG $PLUGINSDIR
735 728 mdecorde
	GetDlgItem $0 $HWND 1212
736 728 mdecorde
	EnableWindow $0 1
737 728 mdecorde
	ReadRegStr $0 HKLM "SOFTWARE\NSIS" ""
738 728 mdecorde
	IfErrors 0 +2
739 728 mdecorde
	StrCpy $0 "${NSISDIR}"
740 728 mdecorde
	nsExec::Exec '"$0\makensis.exe" /O$LOG $PROJECT'
741 728 mdecorde
	Pop $0
742 728 mdecorde
	StrCmp $0 0 0 +6
743 728 mdecorde
	ExecWait '$PROJECT.exe' $0
744 728 mdecorde
	Delete $PROJECT
745 728 mdecorde
	Delete $PROJECT.exe
746 728 mdecorde
	StrCpy $PROJECT ''
747 728 mdecorde
	goto done
748 728 mdecorde
	MessageBox MB_YESNO|MB_ICONEXCLAMATION "Compile error. Open log?" IDNO +2
749 728 mdecorde
	Exec 'notepad.exe $LOG'
750 728 mdecorde
	StrCpy $0 "Compile Error"
751 728 mdecorde
	goto send
752 728 mdecorde
753 728 mdecorde
	LineRead:
754 728 mdecorde
	${LineRead} "$R1" "$R2" $0
755 728 mdecorde
	IfErrors error send
756 728 mdecorde
757 728 mdecorde
	FileReadFromEnd:
758 728 mdecorde
	${FileReadFromEnd} "$R1" "FileReadFromEndCallback"
759 728 mdecorde
	IfErrors error
760 728 mdecorde
	StrCmp $R0 StopFileReadFromEnd 0 done
761 728 mdecorde
	StrCpy $0 'stopped'
762 728 mdecorde
	goto send
763 728 mdecorde
764 728 mdecorde
	LineSum:
765 728 mdecorde
	${LineSum} "$R1" $0
766 728 mdecorde
	IfErrors error send
767 728 mdecorde
768 728 mdecorde
	FileJoin:
769 728 mdecorde
	${FileJoin} "$R1" "$R2" "$R3"
770 728 mdecorde
	IfErrors error
771 728 mdecorde
	MessageBox MB_YESNO "          Open output file?" IDNO done
772 728 mdecorde
	StrCmp $R3 '' 0 +3
773 728 mdecorde
	Exec '"notepad.exe" "$R1"'
774 728 mdecorde
	goto done
775 728 mdecorde
	Exec '"notepad.exe" "$R3"'
776 728 mdecorde
	goto done
777 728 mdecorde
778 728 mdecorde
	ConfigRead:
779 728 mdecorde
	${ConfigRead} "$R1" "$R2" $0
780 728 mdecorde
	IfErrors error send
781 728 mdecorde
782 728 mdecorde
	ConfigWrite:
783 728 mdecorde
	${ConfigWrite} "$R1" "$R2" "$R3" $0
784 728 mdecorde
	IfErrors error
785 728 mdecorde
	MessageBox MB_YESNO "          Open output file?" IDNO send
786 728 mdecorde
	Exec '"notepad.exe" "$R1"'
787 728 mdecorde
	goto send
788 728 mdecorde
789 728 mdecorde
	FileRecode:
790 728 mdecorde
	${FileRecode} "$R1" "$R2"
791 728 mdecorde
	IfErrors error
792 728 mdecorde
	MessageBox MB_YESNO "          Open output file?" IDNO done
793 728 mdecorde
	Exec '"notepad.exe" "$R1"'
794 728 mdecorde
	goto done
795 728 mdecorde
796 728 mdecorde
	error:
797 728 mdecorde
	StrCpy $0 'error'
798 728 mdecorde
	goto send
799 728 mdecorde
800 728 mdecorde
	done:
801 728 mdecorde
	StrCpy $0 'Done'
802 728 mdecorde
803 728 mdecorde
	send:
804 728 mdecorde
	GetDlgItem $1 $HWND 1210
805 728 mdecorde
	SendMessage $1 ${WM_SETTEXT} 1 "STR:$0"
806 728 mdecorde
807 728 mdecorde
	abort:
808 728 mdecorde
	Abort
809 728 mdecorde
FunctionEnd
810 728 mdecorde
811 728 mdecorde
Function LineFindCallback
812 728 mdecorde
	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
813 728 mdecorde
	StrCpy $R0 StopLineFind
814 728 mdecorde
815 728 mdecorde
	Push $R0
816 728 mdecorde
FunctionEnd
817 728 mdecorde
818 728 mdecorde
Function FileReadFromEndCallback
819 728 mdecorde
	MessageBox MB_OKCANCEL '$$9       "Line"=[$9]$\n$$8           "#"=[$8]$\n$$7          "-#"=[$7]' IDOK +2
820 728 mdecorde
	StrCpy $R0 StopFileReadFromEnd
821 728 mdecorde
822 728 mdecorde
	Push $R0
823 728 mdecorde
FunctionEnd
824 728 mdecorde
825 728 mdecorde
Function .onInit
826 728 mdecorde
	InitPluginsDir
827 728 mdecorde
	GetTempFileName $INI $PLUGINSDIR
828 728 mdecorde
	File /oname=$INI "TextFunc.ini"
829 728 mdecorde
FunctionEnd
830 728 mdecorde
831 728 mdecorde
Page instfiles
832 728 mdecorde
833 728 mdecorde
Section -Empty
834 728 mdecorde
SectionEnd