home *** CD-ROM | disk | FTP | other *** search
- FileSelect Version 2.0
- (C) André Wichmann / CLUSTER September 1990.
- Posener Weg 4
- 5300 Bonn 1
- Deutschland
-
- Dieses Programm ist Freeware und darf frei kopiert, verändert oder benutzt
- werden, auch in kommerziellen Programmen.
-
-
- -----------------------------------------------------------------------------
-
- - FileSelect V2.0 -
- ~~~~~~~~~~~~~~~~~~~~~
-
- Und hier ist ein weiterer Filerequester in der nicht enden wollenden Serie...
- Aber dieses Mal mit einigen neuen Features !
-
- PRO UND CONTRA
- ~~~~~~~~~~~~~~~
-
- Pro FileSelect V2.0:
-
- - Zeigt auch die Filegrößen an, ist aber trotzdem noch klein
- genug, um auf einen Lo-res Screen zu passen
- - Schnell und Kurz (Meiner Meinung nach !)
- - Die Farben können frei bestimmt werden
- - Eine Filterliste kann übergeben werden
- - Keine Beschränkungen (manche können nur 200 Files anzeigen
- warum eigentlich ?!?)
- - Alles ist mit Strukturen und einem eigenen include-file ge-
- löst worden (sehr Zukunftsfreundlich !)
- - Drei neue, hilfreiche Gadgets können jetzt ein oder ausge-
- schaltet werden: makedir, delete und rename (Habe ich schon
- oft vermißt !!!)
- - Natürlich kann man den Windowtitel, den Pfad und den
- Filenamen beim Aufruf angeben (Ich muß wohl nicht erwähnen,
- daß man FileSelect irgendwo auf dem Screen plazieren kann)
- - Wenn kein Screenpointer übergeben wird, sucht sich
- FileSelect automatisch den aktiven Screen heraus
- - Zurück bekommt man den Pfad, den Filenamen UND den vollen
- Namen
- - Device-Anzeige und Doppelklick werden unterstützt
- - Man braucht keine große, externe library wie ARP
-
- FileSelect V2.0 Contras:
-
- - Die Routine muß wegen einigen Images im CHIPMEM liegen
- (wird demnächst verbessert)
-
- WIE MAN ES BENUTZT
- ~~~~~~~~~~~~~~~~~~~
-
- Man kann im 'Path'-Gadget einen beliebigen Pfad eingeben, den FileSelect
- nach drücken der Return-Taste anzuzeigen versucht.Zur Fileauswahl kann man
- entweder die Maus benutzen oder den Namen im 'File'-Gadget eingeben.Um den
- Requester zu beenden muß man entweder 'Okay' anklicken, einen Doppelklick
- auf einem File machen oder 'Cancel' anklicken.Die drei DOS-gadgets (makedir,
- delete und rename) machen das Gleiche wie die gleichnamigen CLI-Kommandos.
- Manchmal kann man diese Gadgets nicht anwählen; sie sind dann vom Hauptpro-
- gramm ausgeschaltet worden.Mit dem rechten Mausknopf kann eine Liste aller
- angeschlossenen Devices ausgegeben werden (df0:, ram: usw.).
-
- WIE MAN FILESELECT AUFRUFT
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- Diese Version ist mit dem DevPac Assembler V2.14 geschrieben worden, aber
- wenn das linkfähige Programm 'FileSelect.o' benutzt wird, kann es in jeder
- Sprache aufgerufen werden (glaube ich zumindest).Der eigene Quellcode muß
- das include-file 'FileSelect.i' included haben, da dieses einige wichtige
- Strukturen und Konstanten definiert.Um FileSelect aufzurufen, muß das
- Adressregister a0 auf folgende Struktur zeigen:
-
- 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 Dies ist die X-Position für das FileSelect Window.
- Mit NFS2_CENTREPOS (-1) wird es auf einem Hires-
- Screen zentriert.
- NFS2_TopEdge.w Dies ist die Y-Position für das FileSelect Window.
- Mit NFS2_CENTREPOS (-1) wird es auf einem Hires-
- Screen zentriert.
- NFS2_WindowTitle.l Ein Zeiger auf den Window-Titel, der mit einem Null-
- Byte abgeschlossen sein muß.Mit NFS2_DEFAULTTITLE (0)
- wird ein vorgegebener Titel benutzt.
- NFS2_DefaultPath.l Ein Zeiger auf einen String, der in das Pfad-Gadget
- übertragen werden soll.Mit NFS2_NODEFAULT (0) wird
- kein Pfad vorgegeben.
- NFS2_DefaultFile.l Ein Zeiger auf einen String, der in das File-Gadget
- übertragen werden soll.Mit NFS2_NODEFAULT (0) wird
- kein Filename vorgegeben.
- NFS2_Screenptr.l Der Zeiger auf den Screen.NFS2_ACTIVESCREEN (0)
- bringt FileSelect dazu, sein Window auf dem aktuellen
- Screen anzuzeigen.
- NFS2_GadgetFlags.w Dieses Flag schaltet die drei DOS-Gadgets makedir,
- delete und rename an bzw. aus.Mit NFS2_NOGADGETS (0)
- werden alle drei ausgeschaltet, mit NFS2_MAKEDIR (1),
- NFS2_DELETE (2) und NFS2_RENAME (4) einzelnd
- eingeschaltet.Beispiele:
- NFS2_MAKEDIR!NFS2_DELETE schaltet alle bis auf das
- Rename-Gadget an.
- NFS2_MAKEDIR!NFS2_DELETE!NFS2_RENAME schaltet alle
- DOS-Gadgets ein.
- NFS2_FirstFilter.l Ein Zeiger, der auf die erste Struktur der Filter-
- Liste zeigt (siehe unten).Mit NFS2_NOFILTER (0)
- zeigt alle Files an.
- NFS2_BackPen.b Der Pen, mit dem der Hintergrund gezeichnet werden
- soll.Mit NFS2_DEFAULTPEN (0) wird 1 (Weiß) benutzt.
- NFS2_FilePen.b Der Pen für die Fileanzeige.Vorgegeben: 2 (Schwarz).
- NFS2_DirPen.b Der Pen für dir Diranzeige.Vorgegeben: 3 (Orange).
- NFS2_GadgetPen.b Der Pen für die Gadgets.Vorgegeben: 2 (Schwarz).
- NFS2_Reserved1.l Auf Null setzen!
- NFS2_Reserved2.l Auf Null setzen!
-
- Man kann FileSelect eine Liste von Filtern übergeben,d.h. daß Files mit
- den angegebenen Endungen nicht angezeigt werden.Das kann sinnvoll sein,
- wenn man keine .info-, .iff-, .txt-files usw. angezeigt haben will.
- NFS2_FirstFilter sollte dann auf diese Struktur zeigen:
-
- 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 Entweder ein Zeiger auf das nächste Element der
- Filterliste oder FS2F_LASTFILTER (0) um das Ende
- der Liste zu markieren.
- FS2F_FilterLength.b Länge des Strings in bytes.
- FS2F_AdjustToWord.b Unwichtig; zum Angleichen an die Wortgrenze.
- FS2F_Filter Ein Zeiger auf den String, der die Endung darstellt.
- FS2F_Reserved Auf Null setzen!
-
- Wenn kein Guru aufgetaucht ist, wird daß Hauptprogramm folgende Struktur
- im Datenregister d0 zurückerhalten:
-
- 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) bedeutet, daß der Benutzer das Okay-
- Gadget angeklickt hat.FS2_CANCEL (1) heißt das
- Gleiche für das Cancel-Gadget.FS2_WINDOWERR (3)
- bedeutet, daß FileSelect das Window nicht öffnen
- konnte (vermutlich wegen zu wenig CHIPMEM).
- FS2_Path.l Ein Zeiger auf den Pfad.FS2_NOPATH (0) taucht dort
- nach CANCEL oder WINDOWER auf.
- FS2_File.l Ein Zeiger auf den Filenamen.FS2_NOFILE (0) taucht
- dort nach CANCEL oder WINDOWERR auf.
- FS2_FullName.l Ein Zeiger auf den vollen Namen (Pfad + Filename).
- FS2_NOFULLNAME (0) taucht dort nach CANCEL oder
- WINDOWERR auf.
- FS2_Reserved1.l Normalerweise Null.
- FS2_Reserved2.l Normalerweise Null.
-
- FileSelect braucht sehr wenig Speicher, nur ein wenig CHIPMEM für das Window
- und pro angezeigtes File/Dir/Device 42 Bytes.
-
- Um FileSelect in eigene Programme einzubauen gibt es zwei Möglichkeiten:
-
- 1) Einfach den Quellcode an das Ende des Hauptprogrammes hängen und die
- Include- und die Opt-Zeile löschen.
- 2) Mit blink an das Hauptprogramm anlinken.
-
- Wenn FileSelect V2.0 benutzt wird sollte 'FileSelect.i' includet werden.
- Wenn es nicht gelinkt, sondern mit assembliert wird, werden folgende
- includes gebraucht:
-
- 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
-
- Wenn FileSelect gelinkt werden soll, müssen im Hauptprogramm folgende
- Importe/Exporte definiert werden:
-
- XREF FileSelect
- XDEF _IntuitionBase,_GfxBase,_DOSBase
-
- Beim Aufruf müssen Intuition.library, Graphics.library und Dos.library
- offen sein.
-
- Ich kann leider nicht sagen, wie man FileSelect in anderen Sprachen als
- Assembler benutzt, da ich keine Erfahrung mit solchen Dingen habe.Ich
- weiß nicht, ob Compiler mit meinem Include-file klarkommen, aber wenn
- man es nicht benutzt und FileSelect dazulinkt, müßte es eigentlich
- klappen.Ich hoffe, daß ich bald Post mit Tips bekomme !
-
- FileSelect darf beliebig geändert oder erweitert werden, aber wenn große
- Änderungen gemacht werden, bitte ich darum, die neue Version zugeschickt
- zu bekommen (Ich schicke die Disk natürlich zurück!).Eigene verbesserte
- Versionen werden auch bald erscheinen.
-
- ...AW 29/09/1990...
- Aragorn/CLUSTER rules !!!
-
- -----------------------------------------------------------------------------
-
- CLUSTER ist eine legale Programmierergruppe, die hauptsächlich auf dem Amiga
- arbeitet und Freeware produziert (vielleicht ein paar kommerzielle Programme
- später ?!?).
- CLUSTER ist mit den folgenden Mitgliedern im Januar 1989 gegründet worden:
-
- André Wichmann, Guido Wegener, Martin Rosenkranz, Martin Baumann, Philipp
- Witkop, Stefan Kaspari, Stefan Lietzow und Giang Nguyen.
- Heute, am 29.09.1990, sind wir nur noch die Elite von damals:
-
- André Wichmann Assembler-Programmierer (Aragorn !)
- Guido Wegener C-Programmierer (Wonko der Verständige !)
- Martin Mohr Assembler/Floppy-Programmierer (X-tension !)
- Martin Rosenkranz Grafik (Flex !)
- Philipp Witkop Sound (Madison !)
-
- Briefe sind immer willkommen !!! Schickt Bugs, neue Ideen, Geld, Disks,
- enthusiastische Fan-Briefe usw. an:
-
- André Wichmann
- Posener Weg 4
- 5300 Bonn 1
- Deutschland
-
- Amiga - Die zweitbeste Maschine nach dem C64 !!!
-
-