$VER: FileXDocumentation 2.0 (28.4.94) FileX - A binary editor © Copyright 1993-1994 by Klaas Hermanns Shareware, all rights reserved. What is FileX? ************** FileX is a binary file editor which offers the following features: - Several files can be modified in several windows and/or views at the same time. - The edit windows can be opened on any public screen and sized to any dimension you want. - Small calculator - Clipboard converter - Fontsensitivity - Locale support if you have OS 2.1 or higher. (English, Finnish, French, German, Swedish (Dutch, Norwegian (not yet included))) - Undo and Redo (only limited to your free memory) - Search and replace with history - Extensive blockfunctions - ARexxport with 77 commands and asynchronical command shell - Printing as hexdump - `Grab memory' to show and modify memory - AppWindow. If FileX runs on the workbench, icons can be moved onto the FileX window and the related file will be loaded automatically. - Iconify - Moreover, FileX will be developed further permanently... Getting started *************** Getting started from workbench ============================== Starting FileX from the workbench, the following tooltypes will be interrogated: COMMANDS Name of the ARexxcommandsettings. If this tooltype is not specified, FileX tries to open `FileXARexxCommands.prefs' from the current directory. When that fails, the file `ENVARC:FileX/FileXARexxCommands.prefs' will be opened. If this file doesn't exist, too, the ARexxcommands will remain unset. FILE A filename that shall be opened right after starting FileX. KEY Name of the Keyfile. If no name is given, FileX will search for the file "FileX.Key" in the program, in the "l:" an in the "s:" drawer. LANGUAGE Specifies the language that should be used in the programm. By default the language from the Workbench Preferences is used. PORTNAME Name of the FileX ARexxport. If the port with the specified name does already exist, the program automatically adds a number to the name and increases it until a non-existing portname is found. (`NAME'->`NAME.1'->`NAME.2'). Standardname: `FILEX'. PUBSCREEN Name of a public screen on which FileX shall be opened on. If this tooltype is not specified, FileX will open a window on the standard public screen. SETTINGS Name of the settingsfile to be loaded at the beginning. If there is no name specified, the program tries to open the file `FileX.prefs' in the current directory. If that fails, `ENVARC:FileX/FileX.prefs' will be tried to open. If this file could not be opened, too, FileX uses the internal settings. STARTUP Name of an ARexxscript that will be executed right at the start. How to start from CLI ===================== Following arguments will be checked: COMMANDS/K KEY/K LANGUAGE/K PORTNAME/K PUBSCREEN/K SETTINGS/K STARTUP/K These tooltypes correspond to the ones for the workbench start. SYNC/S This tooltype forces FileX not to detach from Shell. The menus ********* Project ======= New... Removes the current file from memory. Open... Opens a new file in the current view. Open previously loaded... Opens a requester that shows you all files that have been loaded since the starting of the program. By choosing one the file will be opend again. Save Saves the current file with its current name. A filerequester will be opened if no name has been specified. Save As... Saves the current file with a new name. View New If there is enough room within the window, a new view will be created. The current view will then be split into two sections. Split This will divide the current view into two sections. Next The next view will be activated. Previous The Previous view will be activated. Expand The current view will be brought to the maximum possible size. All the other views will be only one line tall. Grow If possible, the current view will grow one line. Shrink If possible, the current view will shrink one line. Save and Close The current view's file will be saved and the view itself will be closed. If there is no view remaining, FileX will be quit. Close The current view will be closed. If it's the last view of a file, a saftey requester will appear. If it's the very last view, FileX will be quit. New A new window to edit files will be opened. Split to This will open a new window (and view) to edit the same file as in the current view. Next The next FileX edit window will be activated. Previous The previous Filex edit window will be activated. Close The edit window will be closed. If the file has been modified so far, a requester to confirm will appear. Grab memory Opens the `Grab memory' requester, which allows to show and modify memory. To specify the memory range, use the two gadgets and click 'OK' to continue. The shown memory may be modified like a usual file. Print Prints the whole file as hexdump form. Iconify Iconifies FileX. All windows will be closed and the FileX icon appears on the workbench. By double-clicking on this icon or moving an other icon over it, FileX will be reactivated. About... Some more or less important informations about FileX. Quit... Quits FileX. Edit ==== Mark Block Switches block-marking on/off. Cut Cuts the current marked block out of the file and copies it into the blockbuffer. Copy Copies the current marked block into the blockbuffer. Fill Fills the current marked block. The `fill' requester appears to specify the filling pattern . Paste Overwrites the file beginning at the current cursorposition with the block from the blockbuffer. If this block is longer than the rest of the current file, a requester will appear and ask if it's okay to copy the block anyway. Insert Inserts (again beginning at the current cursor position) the block from the blockbuffer to the file. As a result, the file will become larger. Append Adds the block from the blockbuffer to the end of the file. Print Prints the block from the blockbuffer as hexdump. Load block... Loads a block into the blockbuffer. Save block... Saves a block from the blockbuffer as a new file. Undo Executes Undo once. This will revoke the last changes. Redo Executes Redo once. This will retract the last UNDO(s). Switch Switches between ascii and hex. Search and replace ================== Search... This will open a requester to search for a string or hex string. There are two string gadgets within the requester to specify search and replace string. Using the four switches, you can select various options or search modes: Casesensitiv If set, the search option will search case sensitive. Wildcards If set, the question mark ('?') may be used as wildcard. Stringsearch If set, FileX will search for a string. Otherwise, the search string will be interpreted as hex string. The following characters are allowed: 'A'-'F', '0'-'9' and spaces (' '). Example: '46a7Fc32 08'. Replace If set, the search and replace mode will be activated. If the string is found, a requester will appear if you want the replace string to be inserted. Pressing 'Next' oder 'Previous' will start the search process by searching forwards or backwards. Search and replace.. Opens the 'search' requester to search for a string or hexnumber. Search(and replace) next Repeats the search(and replace)-action towards the end of the file. Search(and replace) previous Repeats the search(and replace)-action towards the beginning of the file. Settings ======== Adjust Windowsize The window will be made smaller that the space between bevelbox and windowborder disappears. If there are several views with different settings in one window, free spaces may still exist nevertheless. Display Defines which translationtable is being used to display the ascii characters: Characters Only letters will be shown. The rest is filled with spaces. ASCII ($20-$7F) Only show Hex $20-$7f. all All characters and the related Ascii-characters will be shown. User defined Use a self-defined translationtable to display. Load... Load the defined translationstable. A 256 bytes file will be loaded which assings every byte an Ascii character. This intends the first byte of this file tells FileX the number of the ascii-character of byte 00. The second byte determines the ascii-value of the byte 01 and so on. Font... Opens a fontrequester to choose a font for the current window. Every new window will get this font, too. Other allready existing windows keep their old font. Screen Definitions of the screen FileX shall be opened on: Default public The default public screen. Workbench The workbench screen. Public... A public screen. A requester to choose it appears. Own public... An own FileX public screen. A requester to choose the screenmode appears. If you don't have at least OS 2.1 or the Reqtools library this function is not available. Palette... Opens a paletterequester to set the colors. Requires Reqtools library! The adjusted colours will only be saved, if you are on an own screen. Miscellaneous... Opens the Miscellaneous requester to define some other things for FileX: Altjump Number of lines the cursor will move with Alt-cursorup/down. Scroll border Distance to the upper/lower border from which the view will be scrolled. Max undo level Maximum number of undo levels. Max undo mem Maximum memory used for undo/redo. Clipboard unit Clipboard unit used for the blockmemory. Program priority Priority of the program. Usually only values between -20 and 20 make sense. Use asl.library If set, the Asl library will be used for the file and font requesters. All information requesters are created with the Intuition library. Normally the Reqtools library is used for all requesters. Overwrite If set, a requester to ask you if a allready existing file should be overwritten will NOT appear. Command shell window Settings for the command shell window. Command window Settings for the window that shall be used for the execution of ARexxscripts. Display This defines in which form the file shall be diplayed. It can be chosen between Hex and Ascii display. Spaces Here it's possible to choose how many Bytes shall be shown as a block. You may specify byte, word and longword blocks. It is also possible to define no spaces between the blocks. Load Settings... Loads a settingsfile. Save Settings Saves the settings under the current name. Save Settings As... Saves the settings under a new name. Move ==== Jump to byte... Moves the cursor to an defined position in the file. Mark location... Marks the current cursor position. A requester asks which number that mark shall be (1-10 possible). Each file has ten different marks. Jump to mark... After typing the number (1-10) into the appering requester, the cursor will be set to the stored position. ARexx ===== Command shell... Opens a command shell. Within this shell you may give easy ARexxcommands to FileX. The result(s) will be displayed at once. You can go on working with FileX simultaneous. Execute command... Executes an ARexxscript. Again a requester to choose the name will be opened. Assign command... An ARexxscript will be assigned to one of the 10 menu items. One of the 10 menu items will be assigned an ARexxscript. A filerequester to choose the name and another requester to chose the number (0-9) appear. Empty command #[0-9] 10 menu items to be filled with ARexxscripts that shall be quickly executable. Load commands... Loads a settingsfile for the ARexxscripts. If the files `FileXARexxCommands.prefs' and `ENVARC:FileX/FileXARexxCommands.prefs' could not be found, the ARexxcommands remain unset. Save commands Saves the commands under the current name. Save commands as... Saves the commands under a new name. Misc ==== Open calculator... Opens a small calculator. The cycle gadget or the cursorup/-down key change the numbersystem. The gadgets '>' and '<' copy the current figure into the clipboard or to move a figure from the clipboard in the calculator. The Plus/Minus gadget or the '.' key change the sign of the figure. With the backspace key you may delete the last entered number and with the DEL key you may whipe out the whole figure. Space activates the edit window again. Note: If you miss an ON or AC key, use the '=' key. It has the same function with the slight difference that the display won't be cleared. Open clipboard converter... The Clipboard converter is a powerful tool, but very simple to use. It can be used for converting numbers into raw bytes and vice versa. With the upper cycle gadget you can adjust as what the current clipboard contents shall be interpreted. The display on the right shows the contents. You can choose 'Bin'ary, 'Dec'imal, 'Hex'adecimal, 'Oct'al, 'Raw' for the raw, not interpreted contents, and 'Text'. The only difference between 'Raw' and 'Text' is the display. 'Raw' shows the contents in hex, 'Text' as a text. The lower cycle gadget defines, to what the current contents should be converted to. The display on the right shows the result, a conversion would bring. A click on 'Convert' and the contents will be converted. What about a simple example: The clipboard contains the string "6265 7374". The insertion of the contents into the shell would show the text "6265 7374". The insertion into FileX would show on the right, in the ascii area, the text "6265 7374", too. If you want to insert it on the left, you can use the clipboard converter. Simply switch the contents to 'Hex' and the target to 'Raw' and press convert. The upper display shows 'not valid' now because there is no hex string in the clipboard anymore. An insertion into FileX would show the value "62657374" on the left side now. The ARexxport ************* FileX has got an ARexxport with 77 commands. The documentation about that feature can be found in the file `FileXARexx.doc' resp. `FileXARexx.guide'. Some example programs are stored in the ARexx directory. Already scheduled for the next version: *************************************** - Onlinehelp - XPK support - Edit on device. Please note: ************ For the file, font, screemode and the palette requester as well as all other requesters the Reqtools library may be used, which is copyrighted © bei Nico François. The program `ARexxBox' by Michael Balzer was used to create the basis of the ARexxport. Acknowledgments *************** Robert Gorthsmanns, Thomas Hornik, Thomas Hertz and Jörg Groenewald for the betatesting Benjamin Schörner for the betatesting and the (very quick and dirty) English translation of the documentation. Reinhard Geisler for the COCUNI(++ 49-02832-80861, the best box at the Niederrhein)! Michael Balzer for his ARexxBox. Nico François for his Reqtools library. SAS for their superb C-Developmentsystem. License ******* The copyright for FileX remains by the author in any form! FileX is *NOT* public domain! FileX is shareware. If you use this program longer than a period of two weeks, you must register. For 20 DM or 15 US Dollar, you'll get a personal key file that allows you to use all functions of FileX and stops the nerving requester at the beginning. Without special permission of the author the program may only be used by the registered person. To register, fill in the orderform called `FileX.reg'. You may send it back by normal mail or e-mail. E-mail is only possible if you transfer the money to me. Distribution ************ The keyfile MAY NOT be spread in ANY way. The unregistered version may only be spread if the following files are included: FileX.info FileX/MagicWBIcons.info FileX/FileX FileX/MagicWBIcons FileX/FileX.info FileX/Docs FileX/Docs.info FileX/Catalogs FileX/ARexx FileX/ARexx.info FileX/Install FileX/Install.info FileX/FileX.020 FileX/FileX.020.info FileX/MagicWBIcons/FileX_tool.info FileX/MagicWBIcons/FileX.info FileX/MagicWBIcons/Drawer.info FileX/MagicWBIcons/FileX.doc.info FileX/MagicWBIcons/FileX.guide.info FileX/MagicWBIcons/FileX.reg.info FileX/Docs/Deutsch FileX/Docs/Deutsch.info FileX/Docs/English FileX/Docs/English.info FileX/Docs/Deutsch/FileX.dok FileX/Docs/Deutsch/FileXARexx.dok FileX/Docs/Deutsch/FileX.guide FileX/Docs/Deutsch/FileXARexx.guide FileX/Docs/Deutsch/FileX.reg FileX/Docs/Deutsch/FileX.dok.info FileX/Docs/Deutsch/FileXARexx.dok.info FileX/Docs/Deutsch/FileXARexx.guide.info FileX/Docs/Deutsch/FileX.guide.info FileX/Docs/Deutsch/FileX.reg.info FileX/Docs/English/FileX.doc FileX/Docs/English/FileXARexx.doc FileX/Docs/English/FileX.guide FileX/Docs/English/FileXARexx.guide FileX/Docs/English/FileX.reg FileX/Docs/English/FileX.doc.info FileX/Docs/English/FileXARexx.doc.info FileX/Docs/English/FileXARexx.guide.info FileX/Docs/English/FileX.guide.info FileX/Docs/English/FileX.reg.info FileX/Catalogs/deutsch FileX/Catalogs/français FileX/Catalogs/suomi FileX/Catalogs/svenska FileX/Catalogs/FileXCats.lha FileX/Catalogs/deutsch/FileX.catalog FileX/Catalogs/français/FileX.catalog FileX/Catalogs/suomi/FileX.catalog FileX/Catalogs/svenska/FileX.catalog FileX/ARexx/Spezialsuchen.filex FileX/Install/ReadMe FileX/Install/LiesMich.info FileX/Install/Install FileX/Install/ReadMe.info FileX/Install/Deutsch.info FileX/Install/LiesMich FileX/Install/English.info As long as no file is missing or modified in any way, this archive of FileX may be spread on CD, disk and other mediums or per e-mail. It is not allowed to demand more than 5 DM (or the same amount in your country's currency) for this program, if it's spread on disk. Moreover, you may not use FileX for commercial purposes without a written permission from the author. FileX has been conscientiously tested, so it *should* work properly. Please note that the author can *NOT* be held responsible for *ANY* kind of damaged. Localization ************ Since Version 1.1 it's possible to localize FileX. This feature requires at least OS 2.1 or higher. This means, that all texts used in the program can be translated and used in the program. The required Catalog description and translation files can be found in the `Catalogs' directory. At the moment there are translations in German, English, Dutch, Finnish, Norwegian and Swedish. If someone translates the texts in a different language, I would be very pleased to get the corresponding catalog translation file, so I can include it in the next version. Contactaddress:-) ***************** For bugreports!, postcards, suggestions, new ideas, problems, gifts or any kind of stuff, I can be reached under the following addresses: Klaas Hermanns Weberstraße 42 47533 Kleve Germany E-mail: dalton@cocuni.GUN.de Acc. 539 7088, Bank Code 324 500 00, Sparkasse Kleve. History ******* What's new in Version... V1.1: - Localesupport (English/German) - The window's width can finally be varied. - In additon to the Hex/Ascii display, you may now display Hex or Ascii only, too. - In Hex-display-mode, you can choose how many Bytes shall be shown as a block. You may specify byte, word and longword blocks. It is also possible to define no spaces between the blocks. V2.0: - Several Files can be edited at the same time. So you can divide one window in several editareas (like CED) or even use several windows at the same time (like TheEdge or GoldEd). - Finally there is a status line in which you can see the current cursorposition, the name and the length of the file. - Key files for registered users. So it's very easy to get your registered version by e-mail. - In string gadgets you can select gadget shortcuts with the right amiga key now. - The clipboard is now supported directly. You don't need to use "Load from Clip" or "Save from Clip" anymore. - A small calculator for simple operations in hexadecimal, decimal, octal or binary. - The search requester is even more easy now. There are only two string gadgets, one for the search and one for the replace string. With a switch you can swap between 'search' and 'search and replace'.A history function, like the one in the shell, remembers all previously entered search strings. - A clipboard converter allows you to convert the contents of the clipboard in varius ways. So you can change a textstring, including a number, into the right number. - FileX remembers all the names of the files read from the beginning. Per list requester you can choose old files and open them again. - The ARexx port has been expanded to support the new functions. The command shell is now asynchron.