filemorph

Check-in [6c7f57f091]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Unit test, rev bump for 3.0 and Windows
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 6c7f57f09115f5e3fd8469116c59bacbb06a7b38
User & Date: kevin 2018-08-20 17:57:55
Context
2018-08-20
19:12
Update for Windows check-in: 3ef6454d8b user: kevin tags: trunk
17:57
Unit test, rev bump for 3.0 and Windows check-in: 6c7f57f091 user: kevin tags: trunk
2018-08-17
02:12
Start work on version 3.0 check-in: fb8785f34d user: kevin tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to scriptlibs/machelp/help.txt.

147
148
149
150
151
152
153






















154
155
156
157
158
159
160


'''Windows Scripting'''
 
Automating the application on Windows can be done using the Dynamic Data Exchange (DDE) protocol. The DDE protocol has several components, including a "Service," "Topic," and "Items." In FileMorph, the Service name is always TclEval (because that is the underlying name that the Tcl interpreter supports), the Topic name is FileMorph, and Items (data or return values) are not currently required. 

There are various programming languages on Windows in which one can write a DDE client to automate a DDE application, including Tcl, Python, VBA, C/C++, and others. An easy way to automate TextSweep from the command line is to install Chris Oldwood's free DDE Command tool from [http://www.chrisoldwood.com/win32.htm]. The tool can then be incorporated into a batch script such as the following: 























-------------------
title: Help
alias: Help

FileMorph provides comprehensive user documentation from the "Help" menu, and also provides tooltips for the toolbar buttons. Additional user support is available via the "Contact Code by Kevin" item in the Help menu; and the website link in the help menu.








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182


'''Windows Scripting'''
 
Automating the application on Windows can be done using the Dynamic Data Exchange (DDE) protocol. The DDE protocol has several components, including a "Service," "Topic," and "Items." In FileMorph, the Service name is always TclEval (because that is the underlying name that the Tcl interpreter supports), the Topic name is FileMorph, and Items (data or return values) are not currently required. 

There are various programming languages on Windows in which one can write a DDE client to automate a DDE application, including Tcl, Python, VBA, C/C++, and others. An easy way to automate TextSweep from the command line is to install Chris Oldwood's free DDE Command tool from [http://www.chrisoldwood.com/win32.htm]. The tool can then be incorporated into a batch script such as the following: 

   @echo off
   set testdir  "C:/Users/kevin/Desktop/unitfiles"
   if exist %testdir% (
   rmdir %testdir%
   )
   xcopy "testsource" %testdir%
   start FileMorph.exe
   call timeout 2 >null
   call DDECmd execute --server TclEval --topic FileMorph --command "set_directory_path %testdir%"
   call DDECmd execute --server TclEval --topic FileMorph  "set_old_extension jpg"
   call DDECmd execute --server TclEval --topic FileMorph  "set_new_extension gif"
   call DDECmd execute --server TclEval --topic FileMorph  "change_extension"
   call DDECmd execute --server TclEval --topic FileMorph  "set_old_text test"
   call DDECmd execute --server TclEval --topic FileMorph  "set_new_text foo"
   call DDECmd execute --server TclEval --topic FileMorph  "change_text"
   call DDECmd execute --server TclEval --topic FileMorph  "set_added_text bar"
   call DDECmd execute --server TclEval --topic FileMorph  "set_prefix_or_suffix 1"
   call DDECmd execute --server TclEval --topic FileMorph  "add_text"
   call DDECmd execute --server TclEval --topic FileMorph  "change_file_time"
   start %testdir%


-------------------
title: Help
alias: Help

FileMorph provides comprehensive user documentation from the "Help" menu, and also provides tooltips for the toolbar buttons. Additional user support is available via the "Contact Code by Kevin" item in the Help menu; and the website link in the help menu.

172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193






194
195
196
197
198
199
200

The following open-source technologies have gone into the development of FileMorph:

 * The Tcl/Tk GUI toolkit. Website: [http://www.tcl.tk]. License: [http://www.tcl.tk/software/tcltk/license.html]
 * The Perl programming language. Website and license: [http://www.perl.org].
 * The tcllib and tklib libraries for Tcl/Tk. Website and license: [http://tcllib.sourceforge.net].
 * The BWidget GUI library for Tcl/Tk. Website and license: [http://tcllib.sourceforge.net].
 * The customfont package. Website and license: [http://fossil.codebykevin.com].
 * The Aquahig package for OS X. Website and license: [http://fossil.codebykevin.com].
 * The "windowlist" package. Website and license: [http://fossil.codebykevin.com].
 * App icon from the Gnome project. Website: [http://www.gnome.org]. License: [http://creativecommons.org/licenses/by-sa/3.0/].
 * Icon fonts from Iconic project. Website and license: [https://github.com/somerandomdude/Iconic].
 * Help viewer by Keith Vetter: [http://wiki.tcl.tk/19649].
 * TkDND for drag and drop. Website and license: [http://sourceforge.net/projects/tkdnd/].
 * aem package for AppleScript support. Website and license: [http://fossil.codebykevin.com]/
 * Twapi packages for Windows integration. Website and license: [http://twapi.sourceforge.net]
 * Windows executable deployment based on code from [http://perl-node-interface.blogspot.com/2011/03/deploy-perl-application-on-windows.html]
 

-------------------
title: FileMorph Version History
alias: History







'''2.9 (May 1, 2017):'''
 * Improved scrolling performance, security support on macOS.
 * Improved security support on Windows.

'''2.8 (January 15, 2017):'''
 * Improved security in application update process.







<







<






>
>
>
>
>
>







194
195
196
197
198
199
200

201
202
203
204
205
206
207

208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226

The following open-source technologies have gone into the development of FileMorph:

 * The Tcl/Tk GUI toolkit. Website: [http://www.tcl.tk]. License: [http://www.tcl.tk/software/tcltk/license.html]
 * The Perl programming language. Website and license: [http://www.perl.org].
 * The tcllib and tklib libraries for Tcl/Tk. Website and license: [http://tcllib.sourceforge.net].
 * The BWidget GUI library for Tcl/Tk. Website and license: [http://tcllib.sourceforge.net].

 * The Aquahig package for OS X. Website and license: [http://fossil.codebykevin.com].
 * The "windowlist" package. Website and license: [http://fossil.codebykevin.com].
 * App icon from the Gnome project. Website: [http://www.gnome.org]. License: [http://creativecommons.org/licenses/by-sa/3.0/].
 * Icon fonts from Iconic project. Website and license: [https://github.com/somerandomdude/Iconic].
 * Help viewer by Keith Vetter: [http://wiki.tcl.tk/19649].
 * TkDND for drag and drop. Website and license: [http://sourceforge.net/projects/tkdnd/].
 * aem package for AppleScript support. Website and license: [http://fossil.codebykevin.com]/

 * Windows executable deployment based on code from [http://perl-node-interface.blogspot.com/2011/03/deploy-perl-application-on-windows.html]
 

-------------------
title: FileMorph Version History
alias: History

'''3.0 (September 1, 2018):'''
 * New scripting API for Windows.
 * Removal of console on Windows.
 * Migration to new source code server.
 * UI improvements.

'''2.9 (May 1, 2017):'''
 * Improved scrolling performance, security support on macOS.
 * Improved security support on Windows.

'''2.8 (January 15, 2017):'''
 * Improved security in application update process.
245
246
247
248
249
250
251
252
253
254
255
256
257
258
title: License
alias: License
 
'''The MIT License (MIT)'''

FileMorph source code: [http://fossil.codebykevin.com/fossil.cgi/filemorph/]

Copyright (c) 2017 WordTech Communications LLC

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.







|





|
271
272
273
274
275
276
277
278
279
280
281
282
283
284
title: License
alias: License
 
'''The MIT License (MIT)'''

FileMorph source code: [http://fossil.codebykevin.com/fossil.cgi/filemorph/]

Copyright (c) 2018 WordTech Communications LLC

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Added unit_test.bat.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@echo off
set testdir  "C:/Users/kevin/Desktop/unitfiles"
if exist %testdir% (
rmdir %testdir%
)
xcopy "C:/Users/kevin/Desktop/testsource" %testdir%
start FileMorph.exe
call timeout 2 >null
call DDECmd execute --server TclEval --topic FileMorph --command "set_directory_path %testdir%"
call DDECmd execute --server TclEval --topic FileMorph  "set_old_extension jpg"
call DDECmd execute --server TclEval --topic FileMorph  "set_new_extension gif"
call DDECmd execute --server TclEval --topic FileMorph  "change_extension"
call DDECmd execute --server TclEval --topic FileMorph  "set_old_text test"
call DDECmd execute --server TclEval --topic FileMorph  "set_new_text foo"
call DDECmd execute --server TclEval --topic FileMorph  "change_text"
call DDECmd execute --server TclEval --topic FileMorph  "set_added_text bar"
call DDECmd execute --server TclEval --topic FileMorph  "set_prefix_or_suffix 1"
call DDECmd execute --server TclEval --topic FileMorph  "add_text"
call DDECmd execute --server TclEval --topic FileMorph  "change_file_time"
start %testdir%