DiskList V3.0 12.03.1992 ========================= by GSP '92 0. Das šbliche... DiskList V3.0 ist Public Domain, d.h. es darf in dem Ordner nur komplett kopiert und weitergegeben werden. WICHTIG: Fr alle etwaigen (sch”nes Wort, gell!) Sch„den, die durch die Benutzung von DiskList entstehen (k”nnten), kann ich keine Haftung bernehmen. ==> Jeder benutzt DiskList kostenlos + auf eigene Gefahr! Folgende Dateien sollten in einem Ordner namens DISKLIST sein: DISKLIST.PRG oder DISKLIST.ACC das Hauptprogramm/Accessory DISKLIST.RSC das Resourcefile DISKLST3.DIR eine Beispiel-Library (nicht so wichtig) DISKLIST.TXT dieser Text (oho!) ... wie gesagt: Das šbliche :-) Ich m”chte an dieser Stelle noch unbedingt betonen, daž ich es fair finde, wenn man sich (fr den Fall, man benutzt DiskList oft oder gerne), auch, im einem selbstzubestimmenden Rahmen, durchaus erkenntlich zeigen wrde, indem man dann vielleicht doch mir einen (kleinen ??) Betrag zukommen lassen wrde, oder zumindest 'ne Postkarte vom Heimatort (PostCardWare?). Deshalb hier meine Konto-Nummer: Peter Seitz Sparkasse Langen-Seligenstadt BLZ 506 521 24 Kto-Nr. 128 032 265 -> es kann ja auch ein kleiner Betrag sein... Jetzt kommt aber endlich die Beschreibung: 1. Was kann DiskList ? DiskList dient dazu, die Inhaltsverzeichnisse von vielen Disketten einzulesen, um dann irgendwann einmal rauszukriegen, wo ein File denn nun steckt. Dazu werden Librarys (.DIR) angelegt, welche die Informationen enthalten und die dann am besten auf der Harddisk gelagert werden, um so schnell zugreifen zu k”nnen. Aužer Disketten k”nnen nartrlich soviele andere Laufwerke eingelesen werden, wie man bekommen kann, also auch Wechselplatten und so was. 2. Bedienung! DiskList l„uft als Accessory und (da das dann kein grožen Aufwand mehr ist) auch als Applikation. Nach dem Start wird das Dialog-Fenster ge”ffnet, in dem alle Vorg„nge per Maus ausgel”st werden k”nnen. Genausogut kann man auch alles mit der Tastatur machen. Kurze Erkl„rung der Buttons mit jeweiliger Taste: [Library] - hiermit wird die aktuelle Library ausgew„ht, in die alle "L" Verzeichnisse eingelesen werden und in der gesucht werden kann. Die ausgew„hlte Library wird rechts daneben angezeigt. Wenn die Library gewechselt wird, sollten vorher alle Datei- Fenster geschlossen werden, da dies nicht automatisch geschieht. [Info] - Library-/Disk-/File-Information, je nachdem, ob eine "I" Diskette, ein File oder garnichts angew„hlt ist. (s.u.) Um File- oder Disketten-Informationen zu bekommen muž man in dem Text-Fenster auf die entsprechende Disk/File Doppel- Klicken. [Anzeigen] - Der Inhalt der Library wird in einem Text-Fenster angezeigt, "A" sofern gengend Speicher vorhanden ist, d.h. etwas mehr als die Library lang ist. [Pfade] - Pfade und/oder Control+"P" [Files] - Files in der Library auch anzeigen. Control+"F" [Einlesen] - Das (darunter) eingesetellte Laufwerk wird eingelesen. Zur "E" Kennzeichnung der Disketten werden die Bytes 3 bis 12 des Boot-Sektors herangezogen, welche normalerweise die Bezeichnung "Filler" fr einen sechszeichigen (d.h. aus 6 (in Worten: sechs) Zeichen bestehenden) Disketten-Namen und "ID" fr eine drei Bytes lange Kennung tragen. Aužerdem wird nach dem Volume-Label gesucht. Diese ganzen Informationen werden nun angezeigt + der Benutzer bekommt die Gelegenheit, einen fr ihn besser geeigneten Namen (z.B. die ersten 32 Zeichen der Beschriftung) einzugeben. Falls ein NeoDesk-Dateiname vorhanden war, so wird dieser voreingestellt. War diese Diskette nun schon in der Library, so wird sie nun ersetzt, anderenfalls angefgt. Es kann Probleme geben, falls zwei Disketten die gleiche ID haben (z.B. meine Harddisk-Partitions). Dann sollte man am besten den Disketten/Laufwerken unterschiedliche GEMDOS-Labels geben. War noch kein Label vorhanden, so kann ein neuer eingegeben werden, welcher auf die Diskette geschrieben wird. Die Diskette sollte nicht schreibgeschtzt sein, da sonst gar nix geschrieben wird (werden kann), der Label aber in die Library bernommen wird (-> dumm gelaufen!). [Laufwerk] - Hier kann das Laufwerk zum Einlesen gew„hlt werden. Natrlich Cursor <- k”nnen auch nur wirklich vorhandene eingestellt werden; Cursor -> theoretisch bis zu 32 Stck - das konnte ich nur nicht testen. [Suchen] - Die zweit-elementarste Funktion ist natrlich das Suchen. "S" Es kann eine Such-Maske eigegeben werden, nach der gesucht wird!!! (Kaum zu glauben!?) - Dafr ist DiskList ja doch da. Natrlich k”nnen Wildcards verwendet werden und zwar: '*' - Beliebig viele Zeichen (auch gar keins) '?' - genau ein Zeichen '[ac-e]' - Ein 'a' und alle Zeichen von a bis e, gem„ž ASCII. '[^aq3]' - Alle NICHT angefhrten Zeichen. (bei [^...]) '\a' - Ein 'a' '\*' - Ein '*' (Damit man auch sowas suchen kann!) Dabei k”nnen beliebig viele (na halt so viele, wie in die Maske passen) Wildcards verwendet werden, auch ein '*' am Anfang oder in der Mitte ('*A*B?[Q-R]', wenn's sein muž). Zu beachten ist, daž '*' ALLE Dateien findet, '*.*' hingegen nur solche, welche auch eine Extension besitzen (z.B. nicht 'LIESMICH', aber 'LIESMICH.TXT'). Aužerdem werden die eingegebenen Zeichen in Grožbuchstaben gewandelt, da kleine ohnehin nicht sinnvoll sein drften. Zus„tzlich k”nnen ab Version 3.11 auch mehrere Masken ange- geben werden, mit ',' getrennt. Diese werden dann alle probiert. Die gefundenen Dateien werden mit Fundstelle (d.h. Diskette + Pfad) in dem Text-Fenster angezeigt. [GSP] - Zeigt die Info-Meldung mit der Versionsnummer von DiskList an. "Help" So was muž ja dabei sein. [Quit] - Naja, ratet mal... Return, Esc Batchfile [Ausfhren] - Dieser Button sollte disabled (grau) dargestellt sein, da das ("B") noch nicht geht. Falls es mal gehen wird, wird es aller Wahrscheinlichkeit nach folgendes machen: Es sollen Batchfiles erstellt werden k”nnen, welche Datei- namen, Ordner und sowas enthalten k”nnen. Diese werden dann daraufhin berprft, ob sie in einer bestimmten Library vorkommen und so festgestellt, wann + wo die letzte Sicherung vorgenommen wurde. Somit k”nnen alle ge„nderten Dateien an ein geeignetes Kopierprogramm bergeben werden (z.B. KOBOLD), welches diese auf die Backup-Disketten sichert. ==> Also ein Backup-Utility. Dieser "Batch-Betrieb" soll dann auch per Kommandozeile oder Message gestartet werden k”nnen, so daž z.B. kurz vor dem Ausschalten der Rechners alle wichtigen (Quell-) Texte autom. gesichert werden. Aber das geht halt noch nicht. 3. Die Tastatur... ... kommt bei DiskList sicher nicht zu kurz, denn: - Die Fenster k”nnen mit "U"/"^U" geschlossen und mit "W"/"^W" gewechselt werden. - Mit den Cursor-Tasten wird folgendes ausgel”st: Umschalt-T. | Text-Fenster | Dialog-Fenster ------------+--------------+------------------ keine | Scrollen | (Laufwerk w„hlen) Shift | Seitenweise" | - Control | 'Sizen' | 'Moven' Shift+ | | Control | 'Moven' | 'Moven' Zu den Cursor-Tasten z„hlt auch "Clr/Home". Die Maus kann sich also ruhig mal ausruhen! 4. Fenster Die Fenster sind normale GEM-Fenster, wie man sie gewohnt ist. (Fast) durch Zufall habe ich aber herausgefunden, daž man ein nicht aktives Fenster mit gedrckt-gehaltener rechter Maustaste wie ein aktives bedienen kann - das schliežt das Verschieben ein!!! Das Dialog-Fenster muž aužerdem nicht unbedingt an dem Schiebe-Balken verschoben werden, sondern jedes unbenutzte Objekt wird automatisch zu einem 'Drag-Objekt'. Ab Version 3.11 sind einige praktische Funktionen hinzugekommen: - Das Dialog-Fenster kann auch bedient werden, wenn es nicht das oberste ist. Um es zu toppen, muž man in die Titel-Zeile klicken. - Die Text-Fenster k”nnen mit der RECHTEN-Maustaste gesized werden, und zwar berall auf dem Rand - nicht nur an dem kleinen Eck! Das geht auch, wenn sie nicht das oberste Fenster sind. (GEM goes X11 :-) - Wird eine SHIFT-Taste gedrckt, kann mit der RECHTEN-Maustaste anstatt gesized geslided werden -> Also REAL-TIME-Slider jederzeit! 4.1 Die Datei-Fenster Datei-Fenster sind alle, in denen die Dateien und Ordner zu sehen sind. Hier kann man folgendes noch machen: Doppel-Klick: auf: eine Datei zeigt die File-Info. einen Ordner zeigt den Ordner in einem neuen Fenster (oder Disk) SHIFT + Doppel-Klick: auf: eine Datei versucht diese anzuzeigen (s. 6) einen Ordner sendet eine VA_OPENWIND-Message an die Haupt-App, (oder Disk) falls diese die kennt - so wie halt TreeView auch! Links-Klick: auf einen Ordner klappt diesen auf oder zu. Toll, gell! (oder Disk) CONTROL+Links-Klick: auf eine Disk zeigt die Disk-Info, in der man den Namen „ndern kann. Mit Help-kann man noch einige (sinnvolle?) Funktionen erfahren: ^C Fenster-Inhalt auf's Clipboard ^S -"- in eine Datei ^X -"- ber XAcc verschicken und vor allem: ^E Daten aus dem Fenster exportieren. Das geschieht in einem (denk' ich) portablen ASCII-Klartext-Format, mit dem die Daten in eine Datenbank oder sonstwohin (z.B.Disk- Aufkleber-Druckprogramm) bernommen werden k”nnen. 5. Dialoge Die Dialoge lassen sich von den Fenstern dadurch unterscheiden, daž es 'Pling' macht, wenn man daneben klickt... Die hbsche graue Leiste (am oberen Rand) dient jedenfalls auch dazu, die Dialoge ber den Bildschirm zu schieben; die Close-Box macht ihrem Namen auch alle Ehre + bricht den Dialog ab - Whow! ...das geht aber leider nicht ohne Maus... wie schade!!!!! 6. Der Viewer Ist ein Viewer installiert, so kann man sich mit dessen Hilfe Dateien ansehen. Um das Vorhandensein eines Viewers zu erkennen, probiert DiskList folgendes aus, bis es einen findet (oder halt nicht): 1. Gibt es einen 'View'-Cookie, so sucht DiskList nach dem Namen, auf den der Cookie zeigt. 2. Alle extendet-names des XAcc2-Protokolls werden nach '2View' oder 'NView' durchsucht (also nach dem Typ: Viewer). 3. Zuletzt wird nachgesehen, ob SHOW_IMG (z.B. als ACC) l„uft. Das ist mein pers”nlicher Viewer - ich mach ja keine Werbung, ist doch auch Public Domain! Der ausgew„hlte Viewer bekommt dann eine VA_START-Message. Dieses Vorgehen ist brigens nicht alleine auf meinem Mist gewachsen, sondern z.T. auch auf Dieter Fiebelkorns (dem Autor von GemView). Das soll mal ein richtiges 'View'-Protokoll geben mit dem Motto: Wie kann ich was von wem anzeigen lassen!? 7. LHarc-Archive Durch Zufall fiel mir die Beschreibung der LZH-Archive in die Finger. Diese werden deshalb genauso wie Ordner behandelt, man kann also auch sehen, was drin ist (und danach suchen lassen). A. Bekannte/behobene Fehler Es gibt noch einige Kleinigkeiten, die mir bekannt und noch nicht behoben sind. Diese haben bei mir aber noch nie zu einem Absturz oder Daten-Verlust gefhrt, sondern sich eher einige Unstimmigkeiten bzw. einfach nur un- praktisch. B. Diverses: DiskList mžte mit allen Aufl”sungen + Konfigurationen zurechtkommen, so weit ich das Testen konnte, geht das auch - garantieren kann ich natrlich fr nichts. Es l„uft zumindest mit allen von mir erreichbaren TOS-Versionen (d.h. 1.02, 1.04, 2.05). Soweit ich weiž, benutzte ich auch nur 'offizielle' Funktionen. šber Anregungen (und Fehler-Reports :-) freue ich mich jedenfalls immer. Benutzer von Let 'em Fly! von Oliver Scheel kommen in den Genuž aller dadurch vorhandenen Features, also Tastatur-Bedienung + 'Soft-Flying' + 'Undo' als Abbruch-Taste. Aužerdem habe ich mir seinen Rat zu Herzen genommen + rufe vor jedem Neuzeichnen des einzigen nicht-verschiebbaren Dialogs (ratet mal, welcher das ist...) form_center neu auf, damit Let 'em Fly! diesen auch bei Bigscreen etc. in den angezeigten Bildschirmbereich bef”rdern kann. Testen konnte ich das allerdings nicht. Jetzt k”nnte ich noch anmerken, daž DiskList das XAcc- (Version 2, Stufe 1), (ansatzweise) das VA-Protokoll (von GEMINI) und einige NeoDesk-Messages untersttzt; somit k”nnen z.B. Tasten-Drcke an DiskList gesendet werden, um es so 'fern- zusteuern'. Einfach mal probieren! #define ACC_KEY 0x502 msg[0]=ACC_KEY; msg[1]=apid; msg[2]=0; msg[3]=(scan<<8) | ascii; /* wie von evnt_keybd() */ msg[4]=shift; /* wie von Kbshift() */ #define AV_SENDKEY 0x4711 msg[0]=AV_SENDKEY; msg[1]=apid; msg[2]=0; msg[3]=shift; /* s.o. */ msg[4]=(scan<<8) | ascii; #define VA_START 0x4711 msg[0]=VA_START; /* DiskList starten */ msg[1]=apid; msg[2]=0; *(char **)&msg[3]=""; /* Kommandozeile macht noch nichts */ Nebenbei: JEDES Accessory sollte zumindest diese drei Messages verstehen!!!! Fr die, die es interessiert, wie DiskList die Daten ablegt, oder alle, die die Librarys ggf. selber benutzen wollen, k”nnen mich gerne ber das Library-Format befragen. So, ich denke das ist mehr als genug... viel Spaž wnscht Euch Peter --------------------------------------------------------------------------- Meine Adresse (Anregungen, Fehler, Geldsendungen, usw): Peter Seitz Robert-Koch-Str. 6 6070 Langen E-Mail (Internet): seitz@rbg.informatik.th-darmstadt.de