Splice 1.5 build: 9639 released: 2010-11-07 Recombine bits of files into new files.. Copyright: (c) 2017 Canadian Mind Products. C++ command line utility. Download from: http://mindprod.com/products3.html#SPLICE ---- Notes: This program can only be used from the command prompt, (or via an command line style icon shortcut) e.g. under Windows command.exe or JPSoft tcmd.exe, formerly called the DOS box. Just clicking the programs in a directory listing will not do anything useful. Just typing the program names at the command prompt will not either. This program requires a manual install! See below. This program works with vanilla text files, (e.g. ASCII files or UTF-8 Unicode files). You will need a text editor to create and view them, not a word processor. e.g. notepad, Visual Slick Edit or other suitable text editor http://mindprod.com/jgloss/editor.html. You must use a monospaced font http://mindprod.com/jgloss/monospacedfonts.html (aka fixed pitch, aka programmer font) to view your files, or they won't look properly aligned. I put out an avalanche of free software into the world, and submit PAD files to hundreds of distribution sites, but I rarely hear back from anyone. What's happening? Does it all just work fine? It is so complicated nobody can figure out how to use it and they give up on it? It is it useful? Since everyone has the source, do people just fix the programs to their liking themselves? Did you have trouble installing? Do I presume you know too much? I would be happy to hear from you about your experiences, positive or negative and your requests for improvements. A one-line email to roedy@mindprod.com would be great. ===> Free <=== Full source included. You may even include the source code, modified or unmodified in free/commercial open source/proprietary programs that you write and distribute. May be used freely for any purpose but military. For more details on this restriction, see http://mindprod.com/contact/nonmil.html If you include any Canadian Mind Products code in your own applications, your app too must be labelled non-military use only. http://mindprod.com/contact/nonmil.html All C++ source and EXE files code are included. ---- Prerequisites: This program runs under Microsoft Windows from the command line (e.g. Win2K/XP/Vista) ---- Installing on a PC: Download source and executable files to run on your own machine as a standalone utility. To install, extract the zip download with WinZip (or similar unzip utility) into any directory you please, often J:\ -- ticking off the use folder names option. ---- Installing on a MacIntosh: Use Safari to download source and executable files to run on your own machine as a standalone utility. The EXE files will not work. You will have to recompile, perhaps making minor changes to the source code. Safari will automatically unpack the zip into ~/Downloads (version 10.5) [or on the Desktop (version 10.4 and earlier)]. First install a recent Java JDK or JVM. See http://mindprod.com/jgloss/installingjava.html. You may optionally move the download tree to a permanent home. ---- Rebuilding: The zip already contains the necessary exe, so unless you modify the program, there is no need to recompile the source or recompile it. Configure.java basedir="E:/" in rebuild.xml to the drive where your files are and tweak rebuild.xml. Use ANT and rebuild.xml, not build.xml, to rebuild and link. ---- Use: SPLICE for "gene" splicing, cutting, copying, inserting and overlaying bits of a file into another. Uses for SPLICE: 1. excising a section of a file. 2. replacing a section of a file. 3. inserting a section into a file. 4. extracting a section of a file. 5. appending a section onto a file. Splice is designed to work on text files. For audio files, you would use an audio editor like GoldWave. For word processing files, you would use the word processor that created the two files. It can be used on binary files in the rare instance just butting the files together is sufficient. SPLICE commands, may be upper or lower case: SPLICE CUT MyFile1.Txt START 6 LENGTH 5 RECSIZE 1024 remove a slice from a file offset 6 length 5 Offsets and lengths are measured in blocks of 1024. SPLICE CUT MyFile1.Txt START 6 LENGTH 5 TO MyFile2.txt RECSIZE 1024 remove a slice from a file offset 6 length 5 and copy it to a new file. SPLICE CUT MyFile1.Txt START 6 LENGTH 5 APPEND MyFile2.txt RECSIZE 1024 remove a slice from a file offset 6 length 5 and copy it to the end of another file. SPLICE CUT MyFile1.Txt START 6 LENGTH 5 OVERLAY MyFile2.txt AT 7 RECSIZE 1024 remove a slice from a file, offset 6 length 5, overlay it on top of another file at offset 7. SPLICE CUT MyFile1.Txt START 6 LENGTH 5 INSERT MyFile2.txt AT 7 RECSIZE 1024 remove a slice from a file, offset 6, length 5, insert at offset 7 in another file SPLICE COPY MyFile1.Txt START 6 LENGTH 5 TO MyFile2.txt RECSIZE 1024 copy a slice from a file offset 6 length 5 to a new file SPLICE COPY MyFile1.Txt START 6 LENGTH 5 APPEND MyFile2.txt RECSIZE 1024 copy a slice from a file offset 6 length 5 to the end of another file. SPLICE COPY MyFile1.Txt START 6 LENGTH 5 OVERLAY MyFile2.txt AT 7 RECSIZE 1024 copy a slice from a file, offset 6 length 5, overlaying it on top of another file at offset 7, replacing the previous data. SPLICE COPY MyFile1.Txt START 6 LENGTH 5 INSERT MyFile2.txt AT 7 RECSIZE 1024 copy a slice from a file, offset 6, length 5, inserting at offset 7 in another file. START defaults to 0 AT defaults to 0 RECSIZE defaults to 1 If length reaches out past the end of the source file, it will be shortened. Target files will be expanded as needed with zeroes. Because of the antiquity of this program it uses 32-bit rather than 64-bit arithmetic internally. This limits it to files of 2 GB. It is on my todo list to extend it. This program may be freely copied and used for any purpose except military. C++ source included. ---- Version History: 1.0 1997-04-27 initial release 1.1 1997-04-28 added APPEND add abbreviations for keywords 1.2 1998-11-08 embed Barker address correct Bulk::move logic so that fromOffset is defined. 1.3 2007-01-04 convert to POSIX, safe char handling lib, long filename support. 1.4 2009-03-11 add ant build script and Visual C++ project build file. 1.5 2010-11-07 fix delete[] bug the compiler did not detect. -30-