home *** CD-ROM | disk | FTP | other *** search
- File-Select Version 2.0
- (C) by André Wichmann of CLUSTER in 09/1990.
- Posener Weg 4
- 5300 Bonn 1
- West Germany
-
- This program is Freeware and may be copied or used even in commercial
- programs if you mention the author.
-
- -----------------------------------------------------------------------------
-
- - FileSelect V2.0 -
- ~~~~~~~~~~~~~~~~~~~~~
-
- Here is another nice request in the never ending series of filerequests, but
- this time with some more features.
-
- PRO AND CONTRA
- ~~~~~~~~~~~~~~~
-
- FileSelect V2.0 pros:
-
- - Displays the sizes of the files, but is small enough to fit
- on a lo-res screen
- - Fast and small (My opinion!)
- - You can select the colors which should be used (FilePen,
- DirPen, GadgetPen, BackPen)
- - You can give a list of filters to the request-routine (no
- .info-files should be shown for example)
- - No limits (Why can some filerequests only show 200 files ?)
- - All is done with structures and an own include-file (for
- future improvements)
- - Three useful gadgets can optionally be switched on or off:
- makedir, delete and rename. (I missed them in other requests)
- - You can certainly set a windowtitle, a default path and a
- default filename (Well, I need not mention that you can put
- it on any screen-position !)
- - If you do not set a screenpointer FileSelect will use the
- active screen
- - You will get back the path, the file AND the full name
- - Show devices and double-click are also supported
- - You need no large library (as ARP does)
-
- FileSelect V2.0 contras:
-
- - must be in CHIPMEM because of some images (Will be changed
- soon!)
-
- HOW TO USE IT AS AN USER
- ~~~~~~~~~~~~~~~~~~~~~~~~~
- You can enter any path in the 'Path'-gadget and FileSelect will try to show
- the path when you press return.Use either your mouse to select a file or
- directory or type in any filename in the 'File'-gadget.To end the request,
- either double-click a filename, click 'Okay' or click 'Cancel'.Click on the
- 'Makedir'-gadget to create a new directory (A new request will appear).Enter
- a filename and click 'Delete' to delete this (You will be asked if you really
- want to delete that file).Enter a filename and click 'Rename' to rename that
- file (again with a new request).Sometimes these gadgets are switched off by
- the main program so you can't use them.Press the right mouse-button to get a
- list of all connected devices (df0:, ram: etc.).
-
- HOW TO USE IT AS A PROGRAMMER
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- This version is written for the DevPac assembler V2.14, but if you use the
- linkable file 'FileSelect.o' I think you can use it in any language.
- To use it you must include the file 'FileSelect.i' which contains several
- structures and important equates.To call FileSelect a0 must contain a pointer
- on the following structure:
-
- NFS2_NewFileSelect rs.b 0
- NFS2_LeftEdge rs.w 1
- NFS2_TopEdge rs.w 1
- NFS2_WindowTitle rs.l 1
- NFS2_DefaultPath rs.l 1
- NFS2_DefaultFile rs.l 1
- NFS2_Screenptr rs.l 1
- NFS2_GadgetFlags rs.w 1
- NFS2_FirstFilter rs.l 1
- NFS2_BackPen rs.b 1
- NFS2_FilePen rs.b 1
- NFS2_DirPen rs.b 1
- NFS2_GadgetPen rs.b 1
- NFS2_Reserved1 rs.l 1
- NFS2_Reserved2 rs.l 1
- NFS2_SIZEOF rs.w 0
-
- NFS2_LeftEdge.w This is the x-position for FileSelect.Use
- NFS2_CENTREPOS (-1) to centre it on a hires-screen.
- NFS2_TopEdge.w This is the y-position for FileSelect.Use
- NFS2_CENTREPOS (-1) to centre it on a hires-screen.
- NFS2_WindowTitle.l A pointer on the window-title ended with a zero.Use
- NFS2_DEFAULTTITLE (0) to use the default window-
- title.
- NFS2_DefaultPath.l A pointer on a string containing the default path.Use
- NFS2_NODEFAULT (0) for no default path.
- NFS2_DefaultFile.l A pointer on a string containing the default filename.
- Use NFS2_NODEFAULT (0) for no default filename.
- NFS2_Screenptr.l The screenpointer.NFS2_ACTIVESCREEN (0) will force
- FileSelect to use the active screen.
- NFS2_GadgetFlags.w This flag toggles the three dos-gadgets makedir,
- delete and rename on/off.Use NFS2_NOGADGETS (0) to
- switch all off or NFS2_MAKEDIR (1), NFS2_DELETE (2)
- and NFS2_RENAME (3) to switch them on.Example:
- NFS2_MAKEDIR!NFS2_DELETE would switch all except
- Rename on.
- NFS2_MAKEDIR!NFS2_DELETE!NFS2_RENAME would switch all
- dos-gadgets on.
- NFS2_FirstFilter.l A pointer on the first structure of the filter list
- (see below).Use NFS2_NOFILTER (0) to let FileSelect
- display all files.
- NFS2_BackPen.b The pen which will be used for the background.Use
- NFS2_DEFAULTPEN (0) to use 1 (white).
- NFS2_FilePen.b The pen for the file-display.Default: 2 (black).
- NFS2_DirPen.b The pen for the directories.Default: 3 (orange).
- NFS2_GadgetPen.b The pen for the gadgets.Default: 2 (black).
- NFS2_Reserved1.l Set it to zero.
- NFS2_Reserved2.l Set it to zero.
-
- You can give a list of filters to FileSelect, e.g. that files with that
- extension will not be displayed.This can be useful to avoid displaying
- .info-, .iff-, .txt-files etc. NFS2_FirstFilter should point on the
- following structure:
-
- FS2F_FilterElement rs.b 0
- FS2F_NextFilter rs.l 1
- FS2F_FilterLength rs.b 1
- FS2F_AdjustToWord rs.b 1
- FS2F_Filter rs.l 1
- FS2F_Reserved rs.l 1
- FS2F_SIZEOF rs.w 0
-
- FS2F_NextFilter.l Either a pointer on the next filter-structure or
- FS2F_LASTFILTER (0) to end the list.
- FS2F_FilterLength.b Length of the string
- FS2F_AdjustToWord.b Only used to align the next longword.
- FS2F_Filter.l A pointer on a string containing the extension.
- FS2F_Reserved.l Set it to zero.
-
- If there appears no guru-meditation your program will receive a pointer in
- d0 on the following structure:
-
- FS2_FileSelectReturn rs.b 0
- FS2_Status rs.w 1
- FS2_Path rs.l 1
- FS2_File rs.l 1
- FS2_FullName rs.l 1
- FS2_Reserved1 rs.l 1
- FS2_Reserved2 rs.l 1
- FS2_SIZEOF rs.w 0
-
- FS2_Status.w FS2_OKAY (0) means the user clicked Okay.
- FS2_CANCEL (1) means the user clicked Cancel.
- FS2_WINDOWERR (2) means FileSelect was not able to
- open the window (Probably not enough CHIPMEM).
- FS2_Path.l A pointer on a string containing the path.FS2_NOPATH
- (0) if there is no path (after CANCEL or WINDOWERR).
- FS2_File.l A pointer on a string containing the filename.
- FS2_NOFILE (0) if there is no filename (after CANCEL
- or WINDOWERR).
- FS2_FullName.l A pointer on a string containing the full name
- (Path + file).FS2_NOFULLNAME (0) if there is no full
- name (after CANCEL or WINDOWERR).
- FS2_Reserved1.l Normally zero.
- FS2_Reserved2.l Normally zero.
-
- FileSelect will use little memory while running, only for its window and 42
- bytes per file/dir/device.
-
- To include FileSelect in your program you have two possibilities:
-
- 1) You can append the source to your source. Then you must delete the
- include-lines and the opt-line.
- 2) You can link it to your program with blink.
-
- If you use FileSelect V2.0 you must include the file 'FileSelect.i' if you
- use some of the keywords like NFS2_ACTIVESCREEN.If you do not link it but
- assemble it (with your program) the following files must be included:
-
- include exec/exec_lib.i
- include exec/memory.i
- include intuition/intuition_lib.i
- include intuition/intuition.i
- include intuition/intuitionbase.i
- include graphics/graphics_lib.i
- include libraries/dos_lib.i
- include libraries/dos.i
- include libraries/dosextens.i
-
- include FileSelect.i
-
- If you link the routine your program should import/export the following:
-
- XREF FileSelect
- XDEF _IntuitionBase,_GfxBase,_DOSBase
-
- When you call FileSelect, Intuition.library, Graphics.library and
- Dos.library must be open.
-
- If you want to use it in any other language than assembler you must do
- this on your own because I do not know how compilers treat such include-
- files.But I hope that it can easily be linked ! Tips for that can be
- expected in the doc-file of the next version.(Send me Tips !)
-
- Fell free to change this routine ! If you make major changes please send
- me the new versions because I am always interested in improvements.Own
- better versions will follow.
-
- ...AW 29/09/1990...
- Aragorn/CLUSTER rules !!!
-
- -----------------------------------------------------------------------------
-
- CLUSTER is a legal programming formation mainly working on Amiga, coding
- Freeware (and perhaps some commercial programs later).
- CLUSTER was founded on January 1989 with the following members:
- André Wichmann, Guido Wegener, Martin Rosenkranz, Martin Baumann, Philipp
- Witkop, Stefan Kaspari, Stefan Lietzow and Giang Nguyen.
- Then we reduced our members to the best and got a new programmer.
- Now, on 29.09.1990, we have the following members:
- André Wichmann Coding
- Guido Wegener Coding
- Martin Mohr Coding
- Martin Rosenkranz Graphics
- Philipp Witkop Digitizing
- If you want to contact any member of CLUSTER then write to our address:
- André Wichmann
- Posener Weg 4
- 5300 Bonn 1
- West Germany
- André will give the letter to the addressed member.
-
- Send errors, corrections, supporting ideas, criticism, enthusiastic fan-
- letters and money to the author: André Wichmann
- Posener Weg 4
- 5300 Bonn 1
- West Germany
-
-