home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 2
/
ctrom_ii_b.zip
/
ctrom_ii_b
/
PROGRAM
/
C
/
FS191
/
FS.DOC
< prev
next >
Wrap
Text File
|
1993-02-24
|
51KB
|
1,383 lines
FS
Public Domain File Selector
versie 1.9.1
Copyright (C) 1993 by M.C.J. van Breemen.
ALL RIGHTS RESERVED.
COMMERCIAL DISTRIBUTION AND/OR USE PROHIBITED WITHOUT
WRITTEN PERMISSION FROM M.C.J. van Breemen.
FS 1.9.1
Inhoudsopgave
1. Inleiding 3
2. Vereiste hardware en software 3
3. Installatie 4
4. Bediening 5
5. Kommandoregel opties 7
6. Hulpfunkties 10
7. De Whereis funktie 12
8. Voorbeelden van toepassingen 14
9. Technische gegevens 16
10. Licentie voorwaarden en uitsluiting van garantie 18
11. Correspondentieadres 19
12. Geschiedenis 19
pagina 2
FS 1.9.1
1. INLEIDING
FS is de afkorting van File Selector. FS is bedoeld als front-end voor MS-
DOS applikaties die op bestanden werken. Veel (verder uitstekende)
programmatuur biedt tamelijk beperkte mogelijkheden voor het selekteren van
bestanden. FS is hiervoor een alternatief.
Bijvoorbeeld de editor EDIT in MS-DOS 5.0 is onhandig als er veel bestanden
achter elkaar verwerkt dienen te worden die niet de extensie .TXT hebben.
Telkens wordt weer de extensie op .TXT teruggezet. Wat mogelijk zou moeten
zijn is een kommando zoals bijvoorbeeld EDIT *.DOC. Dit werkt niet zonder
meer. Probeer het maar.
FS maakt dit wel mogelijk, maar dan met het kommando FS EDIT *.DOC, dus
gewoon FS voor het gewenste kommando plaatsen. Wat er in feite gebeurt is
dat FS eerst gestart wordt. Met de cursortoetsen en de muis kan er snel
gebladerd worden in de directories. Na selekteren van een bestand start FS
het kommando EDIT op met de juiste bestandsnaam op de kommandoregel. Zodra
EDIT weer verlaten wordt (dus geen nieuwe bestanden openen) komt men terug
in FS en kan er weer een ander bestand geselekteerd worden.
Als extra heeft FS een groot aantal hulpfunkties voor bestandsbeheer aan
boord. Dit maakt het aantrekkelijk om FS ook als gereedschap te gebruiken
om snel door directory structuren te bladeren en allerlei handelingen op
bestanden uit te voeren. Roep FS hiervoor aan met een onschuldig
doelkommando zoals DIR of ECHO.
2. VEREISTE HARDWARE EN SOFTWARE
De volgende apparatuur wordt ondersteund:
Een IBM compatibele PC van het type XT of AT, draaiend onder MS-DOS. Een
Microsoft compatibele muis is optioneel. Een video adapter die de video
modes TEXTC80 of TEXTMONO ondersteunt. Dit zijn in feite alle mij bekende
adapters vanaf MDPA tot en met XVGA. Expanded memory (EMS) vanaf versie 3.2
wordt ondersteund.
FS is bruikbaar in combinatie met software die in de kommandoregel een
bestandsnaam kan verwerken. Programma parameters worden doorgegeven.
pagina 3
FS 1.9.1
3. INSTALLATIE
Installatie is eenvoudig. Kopieer het bestand FS.EXE naar een directory die
in de PATH variabele is opgenomen. Bijvoorbeeld naar de DOS directory op de
bootschijf.
De PATH variabele wordt normaal gezet in het opstart bestand AUTOEXEC.BAT.
Kontroleer met een editor (EDIT AUTOEXEC.BAT) of een regel zoals
SET PATH=C:\DOS;
aanwezig is. Voeg deze eventueel zelf toe. Kopieer FS.EXE naar de directory
met bijvoorbeeld het kommando
COPY A:\FS.EXE C:\DOS
FS dient nu na rebooten beschikbaar te zijn, ongeacht de drive of directory
waarin u zich bevindt. Raadpleeg bij eventuele problemen ook de MS-DOS
handleiding.
FS verstaat bepaalde programma parameters waarmee de werking van FS
beinvloed kan worden. Standaard beginnen deze programma parameters met het
karakter /. Indien dit in konflikt komt met andere programma parameters die
via FS doorgegeven dienen te worden, kan er met een environment variabele
FSSWITCH een ander karakter ingesteld worden. Doe dit bij voorkeur in het
opstartbestand AUTOEXEC.BAT. Neem hierin bijvoorbeeld op:
SET FSSWITCH=]
Bij dit voorbeeld worden (na rebooten) FS programma parameters herkend die
met het karakter ] beginnen.
FS kan zichzelf tijdelijk uit het geheugen halen, het zogenaamde "swappen".
Praktisch het volledige konventionele geheugen komt dan vrij voor de
doelkommando's. Dit swappen wordt verzorgd door XSPAWN routines van Whitney
Software Inc., en gebeurt bij voorkeur naar EMS geheugen. Indien dit niet
aanwezig is, swapt FS zichzelf naar disk. Eerst wordt geprobeerd te swappen
naar de directory waar de TMP of TEMP environment variabele naar wijst,
daarna wordt geprobeerd te swappen naar de huidige directory. TMP heeft
voorrang over TEMP. Definieer eventueel zelf TMP in het opstartbestand
AUTOEXEC.BAT. Voeg met een editor (EDIT AUTOEXEC.BAT) bijvoorbeeld de regel
SET TMP=C:\SCRATCH toe. De directory C:\SCRATCH dient natuurlijk wel
aanwezig te zijn. Het is mogelijk TMP naar een ramdisk te laten wijzen.
pagina 4
FS 1.9.1
4. BEDIENING
FS is te gebruiken met doelkommando's die een bestandsnaam als parameter
accepteren. Bijvoorbeeld EDIT, DIR, GRASPRT, PICEM, DELETE, ARJ, PKUNZIP,
LHA enzovoorts. Roep FS aan met op de kommandoregel de naam van het
doelbestand en eventueel een zoekmasker en parameters. De syntax is:
FS doelkommando
of
FS doelkommando zoekmasker
Het zoekmasker is een tekenreeks waarmee de namen van de bestanden in de
directory gefilterd worden. Alleen met het zoekmasker overeenstemmende
bestanden worden getoond. Dit zoekmasker mag de jokertekens * en ?
bevatten. Het jokerteken * vervangt een willekeurig aantal willekeurige
karakters (ook nul). Het jokerteken ? vervangt precies een willekeurig
karakter. Bijvoorbeeld zoekmasker *.C toont alleen bestanden met extensie
C, bijvoorbeeld TEST.C. Zoekmasker *.C* toont alleen bestanden waarbij de
extensie met C begint, bijvoorbeeld TEST.C maar ook TEST.COM. Zoekmasker
FS?.C toont bijvoorbeeld FS0.C en FS1.C. Als het zoekmasker niet wordt
opgegeven wordt *.* gebruikt.
Er verschijnt een venster met maximaal zes kolommen van 19 bestanden,
gesorteerd op alfabet. Rechts bovenaan in het kader is af te lezen hoeveel
bladzijden er aanwezig zijn. Links bovenaan staat de aktieve directory.
Gewone bestanden zijn in wit afgebeeld, verborgen bestanden zijn helder
wit. Directories zijn geel afgebeeld, verborgen directories zijn licht
groen. Het volume label is in cyaan afgebeeld. Een speciaal soort directory
heeft een naam van twee punten. Dit is de bovenliggende directory. Op het
eerste bestand links-boven bevindt zich de bestandscursor. Deze cursor is
te besturen met de muis of met het toetsenbord.
a. muisbediening
Door de muis te bewegen beweegt er een kleinere muiscursor over het
scherm. Ga met de muis cursor op het gewenste bestand staan en druk op
de linker muisknop. Eenmaal drukken verplaatst de bestandscursor,
tweemaal drukken (op dezelfde positie binnen 0.75 seconden) selekteert
het bestand.
Bij selektie (dubbelklik) van een directory wordt de betreffende
directory geopend (bij selektie van de directory .. wordt dus
omhooggestapt). Bij selektie van een normaal bestand wordt het
doelkommando aangeroepen met als kommandoregel de naam van het
geselekteerde bestand, inclusief drive en path.
Door op de rechter muisknop te drukken wordt een directory
teruggestapt.
pagina 5
FS 1.9.1
b. toetsenbord besturing
Door de cursortoetsen (pijltjestoetsen) te bewegen verplaatst de
bestandscursor zich over het scherm. Als er meer dan een bladzijde
aanwezig is kan er met PgDn en PgUp gebladerd worden. De toets End
springt naar het laatste bestand van de laatste bladzijde. De toets
Home springt naar het eerste bestand van de eerste bladzijde. De toets
U stapt een directory terug. De toets T springt naar de top directory
(root). Bij indrukken van de toetsen A tot en met Z, terwijl de Alt
toets ingedrukt is, springt de bestandscursor naar het eerste bestand
wat begint met de betreffende letter (A-Z) of naar het daaropvolgende
bestand.
Drukken op Return selekteert het bestand. Bij selektie van een
directory wordt de betreffende directory geopend (bij selektie van de
directory .. wordt dus omhooggestapt). Bij selektie (Return) van een
normaal bestand wordt het doelkommando aangeroepen met als
kommandoregel de naam van het geselekteerde bestand, inclusief drive en
path.
Een belangrijke toets is de Esc toets. Gebruik deze om FS te verlaten
ZONDER het doelkommando uit te voeren, of om negatief op bepaalde funkties
van FS te reageren.
pagina 6
FS 1.9.1
5. KOMMANDOREGEL OPTIES
De werking van FS kan beinvloed worden door extra opties mee te geven op de
kommandoregel. Volgorde en plaats zijn niet belangrijk, mits ze achter het
doelkommando staan. Opties die voor FS onbekend zijn worden doorgegeven aan
het doelkommando. FS opties worden uitgefilterd. Aanroepen van FS zonder
argumenten op de kommandoregel beschrijft kort de geldige opties.
Geldige opties zijn (aangenomen dat / het switch karakter is):
/1 Voer FS eenmaal uit, verlaat FS onmiddelijk voor aanroepen van
het doel kommando en keer niet meer terug naar FS. Voordeel van
deze methode is dat praktisch geen geheugen beslag wordt gelegd
door FS. Ook indien er met piping gewerkt wordt is /1 nodig. MS-
DOS gaat pas verder met het ontvangende kommando als het sturende
kommando is afgesloten.
/C Stel de video adapter in op kleur. Normaal probeert FS niets te
wijzigen aan de video mode. Er wordt alleen gekeken of de video
mode TEXTMONO aktief is. Dan worden karakter attributen gebruikt
in plaats van kleuren. De optie /C probeert de video mode om te
schakelen naar TEXTC80.
Direkt achter de C kunnen nog zestien hexadecimale kleurwaardes
meegegeven worden waarmee de kleuren van FS gewijzigd kunnen
worden. Er dienen precies tien karakters opgegeven te worden.
Geldige kleurwaardes zijn:
0 zwart
1 blauw
2 groen
3 cyaan
4 rood
5 magenta
6 bruin
7 wit
8 donker grijs
9 licht blauw
A licht groen
B licht cyaan
C licht rood
D licht magenta
E geel
F helder wit
pagina 7
FS 1.9.1
De plaats achter de C heeft de betekenis:
1 achtergrondkleur FS kader
2 tekstkleur niet-geselekteerd normaal bestand
3 tekstkleur niet-geselekteerd directory bestand
4 achtergrondkleur bestandscursor
5 tekstkleur geselekteerd normaal bestand
6 tekstkleur geselekteerd directory bestand
7 achtergrondkleur informatie en hulp kader
8 tekstkleur informatie en hulp kader
9 tekstkleur foutmeldingen
10 tekstkleur programmavragen
11 tekstkleur niet-geselekteerd bestand met hidden attribuut.
12 tekstkleur niet-geselekteerde directory met hidden attribuut.
13 tekstkleur niet-geselekteerd volume label
14 tekstkleur geselekteerd bestand met hidden attribuut.
15 tekstkleur geselekteerde directory met hidden attribuut.
16 tekstkleur geselekteerd volume label
/D Stel de standaard kleuren van FS permanent in, dus ook voor
latere FS sessies. Direkt achter de D kunnen nog zestien
hexadecimale kleurwaardes meegegeven worden waarmee de kleuren
van FS permanent gewijzigd kunnen worden. De betekenis is als bij
/C. /D zonder kleurwaardes kiest de standaardinstelling
/D17E47E2FCEFA3FA3
/M Stel de video adapter in op de eenvoudigste mode, TEXTMONO. Zelfs
de allereerste MDPA adapters ondersteunen deze mode. De
bestandscursor wordt als onderstreping van het geselekteerde
bestand afgebeeld. Voor verborgen bestanden staat een pijl. Let
echter goed op: Sommige geheugen managers zoals QEMM en 386MAX
kunnen het stuk TEXTMONO videogeheugen gebruiken voor andere
zaken. Kiezen van /M resulteert dan in het vastlopen van MS-DOS.
Daar is weinig aan te doen, zelfs het standaard MS-DOS kommando
MODE MONO laat MS-DOS dan vastlopen.
/R Met deze optie onthoudt FS de drive en directory waarvanaf FS is
opgestart, en keert daarnaar terug voordat het doelkommando wordt
uitgevoerd. Zonder de /R optie blijft de laatst geselekteerde
drive en directory aktief tot FS wordt verlaten met ESC.
/Faantal 'Aantal' is een getal direkt na de F wat aangeeft hoeveel
plaatsen FS reserveert in het geheugen voor bestanden per
directory. Het is geen probleem als er in werkelijkheid meer
bestanden in de directory zitten, alleen je ziet ze niet op het
scherm. Indien het gereserveerde aantal wordt overschreden wordt
dit gemeld. Bijvoorbeeld de optie /M1000 zorgt dat directories
tot 1000 bestanden volledig worden weergegeven door FS. Standaard
is dit 456 (vier schermen). De kapaciteit is afhankelijk van het
gekozen memory model tijdens het compileren van FS. Met het small
memory model kunnen directories tot ongeveer 2700 bestanden
volledig worden weergegeven.
pagina 8
FS 1.9.1
/Pnummer 'Nummer' is de positie op de kommandoregel waar de naam van het
geselekteerde bestand terecht moet komen. Dit is nodig als er
kommandoargumenten voor het doelkommando ingegeven dienen te
worden en het niet duidelijk is wat het zoekmasker is. Standaard
wordt positie twee genomen (FS=0, doelkommando=1, zoekmasker=2
enzovoorts).
/W Met deze optie zal FS na uitvoeren van het doelkommando wachten
op een toetsaanslag. Dit geeft de mogelijkheid om schermuitvoer
rustig te bekijken.
/S Met deze optie zal FS het XSPAWN mechanisme uitschakelen. XSPAWN
probeert de FS programmacode tijdelijk uit het werkgeheugen te
halen tijdens het uitvoeren van de doelkommando's, de E funktie
en de X funktie. Het XSPAWN mechanisme werkt niet als er TSR
(Terminate & Stay Resident) programma's opgestart worden vanuit
FS. Gebruik dan de /S optie. Ook als er geen EMS geheugen
aanwezig is en maximaal geheugen niet nodig is, kan de /S optie
gewenst zijn: Swappen naar disk kost veel tijd.
Indien achter de S het karakter E staat, zal alleen het swappen
naar EMS geheugen uitgeschakeld worden. Swappen naar disk gaat
dan gewoon door.
/T Voer het doelkommando niet uit, maar toon het doelkommando op het
scherm. Deze optie is handig om de plaats en volgorde van
doelkommando parameters uit te zoeken.
/N Schakel alle FS funkties uit waarmee veranderingen aan bestanden
aangebracht kunnen worden. Dit zijn de funkties l, a, x, Del, v,
e, r, n en c. De funkties worden verderop beschreven.
Het karakter / wat het begin van een FS optie aangeeft, kan gewijzigd
worden. Dit kan nodig zijn als er met een doelkommando gewerkt dient te
worden wat dit karakter ook verwerkt. Gebruik hiervoor een environment
variabele. Met het MS-DOS kommando SET FSSWITCH=? wordt een nieuw karakter
ingesteld, waarbij ? een willekeurig nieuw karakter is. Dit karakter blijft
geldig tot de computer weer opgestart wordt of tot het met SET FSSWITCH
weer veranderd is. Gebruik niet de tekens < > ; en |. Deze hebben een
speciale betekenis voor MS-DOS.
Het is ook mogelijk de FS opties te zetten met behulp van een environmental
variabele FSPARAMS. Deze dient gedefinieerd te worden als een lijst met
programma-opties zonder de / karakters, gescheiden door spaties of door een
punt-komma. Alle opties behalve /D, opslaan van kleuren zijn zo te
definieren. Bijvoorbeeld SET FSPARAMS=S;W of SET FSPARAMS=S W zal FS zo
instellen dat er niet geswapt wordt (XSPAWN uit) en dat er gewacht wordt op
een toetsaanslag.
De geijkte plaats voor beide environmental variabelen is het AUTOEXEC.BAT
bestand alhoewel ze zonder meer op ad-hoc basis gedefinieerd kunnen worden.
Verwijder desgewenst de variabelen door ze als een lege tekenreeks te
definieren (Bijvoorbeeld SET FSPARAMS=).
pagina 9
FS 1.9.1
6. HULPFUNKTIES
Als FS is opgestart en het selektievenster zichtbaar is, kan van een aantal
hulpfunkties gebruik gemaakt worden. Druk op de toets ? of H om een
overzicht te krijgen van de benodigde toetsaanslagen voor de hulpfunkties.
Druk op ESC om het helpscherm weer te verwijderen, of kies een hulpfunktie.
Ook letters die niet in het hulpfunktie menu staan zoals bijvoorbeeld de
spatiebalk laten het helpscherm weer verdwijnen.
Del Wis het bestand onder de cursor. Er wordt ter bevestiging om de
toetsaanslag Y gevraagd. Na indrukken van hoofdletter Y of kleine
letter y zal geprobeerd worden het bestand te wissen. Iedere
andere toets heeft als resultaat het negeren van de wis aktie.
Bestanden met het R (Readonly) attribuut kunnen niet gewist
worden. Wijzig daarvoor eerst het attribuut met funktie A. Nota
Bene: directories met het R attribuut worden WEL gewist.
Met de Del funktie kunnen ook directories gewist worden,
inclusief alle daarin opgeborgen bestanden en geneste sub-
directories. Omdat de gevolgen van een vergissing hierbij erg
groot kunnen zijn wordt nogmaals ter bevestiging om de
toetsaanslag Y gevraagd.
I Toon een scherm met informatie over het bestand onder de cursor.
Getoond wordt: Bestandsnaam, Grootte in bytes, Datum en Tijd van
de laatste wijziging of de aanmaak, De bestandsattributen en het
type (Bestand, Directory of Volume label). De betekenis van de
bestandsattributen is:
R=Readonly, het bestand kan niet gewist of veranderd worden.
H=Hidden, het bestand is niet zichtbaar in directories.
S=System, het bestand is een van de MS-DOS systeem bestanden.
A=Archive, het bestand is veranderd en dient bij de volgende
backup gekopieerd te worden.
A Verander de bestandsattributen van het bestand onder de cursor.
Er verschijnt een edit venster met de huidige attributen. De
betekenis van de bestandsattributen is als hierboven. De volgorde
van de letters is onbelangrijk. Alleen het aanwezig zijn of het
ontbreken ervan telt. Met de Insert toets wordt de edit modus
gewisseld tussen invoegen en vervangen. Home zet de cursor op het
eerste karakter, End zet de cursor op het laatste karakter.
Alleen geldige karakters worden verwerkt. Esc verlaat het edit
venster zonder de verandering door te voeren, Return of Enter
voert de verandering door.
D Selekteer een andere drive. Er wordt om een toetsaanslag van de
letter van de gewenste drive gevraagd. Niet aanwezige drives
worden genegeerd. Let op: Als een drive wordt gekozen waar geen
disk in zit, wordt een alternatieve fout behandelings routine
opgeroepen waarin u niet naar MS-DOS kunt ontsnappen. Stop alsnog
een disk in de drive en druk op een willekeurige toets behalve F.
De toets F heeft de betekenis van 'Fail', niet gelukt. FS komt
dan met het vorige selektievenster terug.
pagina 10
FS 1.9.1
R Geef het bestand of de directory onder de cursor een andere naam.
Er wordt om een nieuwe naam gevraagd. Hernamen van een bestand
naar een andere directory is mogelijk.
S Toon de inhoud van het bestand in ASCII tekens. Alle soorten
bestanden worden getoond of ze nu leesbaar zijn of niet, ook
programma's en databestanden.
C Kopieer het bestand onder de cursor. Er wordt om een nieuwe naam
gevraagd. Kopieren naar een andere directory is mogelijk.
M Verander het zoekmasker. Normaal wordt dit op de kommandoregel
meegegeven, maar achteraf zetten of wijzigen is met funktie M
mogelijk. Als een lege string wordt ingegeven, komt FS de
volgende keer (tijdens dezelfde sessie) terug met het
oorspronkelijke zoekmasker.
X Start een nieuwe MS-DOS sessie via de COMMAND interpreter. Let
op: FS blijft aktief. Zodra EXIT wordt ingetypt wordt er
teruggesprongen naar FS.
E Probeer het bestand onder de cursor uit te voeren als programma.
De bestandsnaam wordt aan de COMMAND interpreter doorgegeven dus
ook batch programma's worden juist verwerkt. Na beeindigen van
het aangeroepen programma wordt gewacht op een toetsaanslag.
Daarna wordt weer teruggesprongen naar FS. Er kunnen geen
programma parameters meegegeven worden.
/ Lees de directory opnieuw en herschrijf het scherm. Deze funktie
is nuttig als er naar een diskettestation wordt gekeken waar
diskettes gewisseld worden.
F Toon het aantal bytes vrije schijfruimte.
T Ga naar de top directory (root directory) van de schijf.
U Ga een directory terug. (Hetzelfde als bestand .. selekteren).
N Maak een nieuwe directory aan. De plaats van de bestandscursor is
niet relevant. De nieuwe directory wordt in de huidige directory
gezet.
V Maak een nieuw disk volume label aan. De plaats van de
bestandscursor is niet relevant. Het volume label wordt in de
hoofd directory gezet.Een eventueel aanwezig volume label wordt
eerst gewist. Nota Bene: Verwijderen door een leeg volume label
te maken gaat niet. Gebruik hiervoor de Del funktie.
L Verlaat FS zonder het doelkommando uit te voeren en blijf in de
huidige drive en directory, ongeacht een eventuele /R optie. Met
een onschuldig doel kommando zoals FS DIR kan FS dus ook gebruikt
worden om snel te bladeren in alle directories.
pagina 11
FS 1.9.1
Esc Verwijdert hulp, informatie en editvensters van het scherm. Als
ESC wordt ingedrukt bij een schoon FS kader, wordt FS verlaten
zonder het doelkommando uit te voeren, en wordt teruggekeerd naar
de drive en directory waarvanaf FS is opgestart.
P Toon een scherm met informatie over het programma en de auteur.
W Zoek naar een bestand of naar een tekenreeks in een bestand. Deze
funktie is zo uitgebreid dat er een apart hoofdstuk aan gewijd
is, hoofdstuk 7.
Een funktie staat niet in het helpscherm vermeld:
? of H De toetsen om het helpscherm zelf op te roepen.
Indien vanaf het helpscherm een toets wordt ingedrukt waar geen funktie
onder zit heeft dit hetzelfde effect als ESC, dus weghalen van het
helpscherm
7. DE WHEREIS FUNKTIE
De WHEREIS funktie kan twee taken verrichten.
1. Er kan op een of meerdere drives gezocht worden naar bestanden waarvan
de bestandsnaam past bij het zoekmasker.
Er wordt een venster getoond waarin een zoekpatroon voor de
bestandsnaam opgegeven kan worden. Het zoekpatroon wordt automatisch
overgenomen van het zoekmasker, maar is wijzigbaar. De syntax is
flexibeler: Er kunnen meerdere zoekpatronen gelijktijdig opgegeven
worden, gescheiden met een spatie. Het eerste zoekpatroon kan
voorafgegaan worden met een of meer drive letters. Tussen drive letters
en zoekpatroon dient een : te staan. Bijvoorbeeld patroon cd:*.c *.h
z*.* zoekt op zowel drive C als D naar alle bestanden met extensie C,
of extensie H of met een naam beginnend met de letter Z.
Voor het zoekpatroon kan eventueel nog een start directory opgegeven
worden (dus na de :), waarvanaf de zoekaktie begint. Bijvoorbeeld
C:\C700\*.H *.C zoekt in C:\C700 en in alle daarin geneste sub-
directories naar bestanden met extensie C of H. De start directory
dient kompleet opgegeven te worden, dus vanaf de root, niet relatief
vanaf de huidig geselekteerde directory. Dus wel C:\C700\INCLUDE\*.H en
niet INCLUDE\*.H.
Zodra een passend bestand gevonden is wordt dit getoond en kan er
gekozen worden uit Next; zoek naar een volgend bestand, Select; voer
het doelkommando uit op het bestand, Goto; ga naar de drive en
directory van het bestand en plaats de bestandscursor erop, en Esc;
verlaat het venster en ga terug naar FS. Ook tijdens het zoeken kan er
met Esc onderbroken worden. Er wordt dan ter bevestiging om de toets Y
gevraagd. Kiezen van een aktie gebeurt door aanklikken met de muis of
door het intoetsen van de beginletter (in het geval van Esc de Esc
toets).
pagina 12
FS 1.9.1
Indien Goto gekozen wordt en de bestandsnaam niet bij het
oorspronkelijke zoekmasker past, wordt dit zoekmasker aangepast naar
*.* of naar de volle bestandsnaam.
2. Onafhankelijk van bovenstaande taak (dus ook gelijktijdig) kan FS ook
IN een passend bestand zoeken naar een bepaalde tekenreeks. Voer
hiervoor de gezochte tekenreeks in op de volgende regel. Bij een lege
tekenreeks wordt er niet in de bestanden gekeken. De tekenreeks dient
met hoofdletters en kleine letters op de juiste plaats opgegeven te
worden. Indien de lettergroote genegeerd dient te worden kan dit
opgegeven worden door de tekenreeks af te sluiten met /I. Let wel op
dat /I of /i de laatste twee tekens dienen te zijn. Als er bijvoorbeeld
nog een spatie achter komt, wordt /I gezien als deel van de gezochte
tekenreeks. Tijdens het zoeken in een bestand wordt de bestandsnaam
getoond en draait er een wieltje rond. Eenmaal drukken op de Esc toets
onderbreekt het zoeken in het bestand. Er wordt dan naar het volgende
bestand gezocht. Dus drukken van Esc tijdens het zoeken IN een bestand
stopt niet de gehele zoekaktie.
pagina 13
FS 1.9.1
8. VOORBEELDEN VAN TOEPASSINGEN
Het is belangrijk de juiste kommandovorm van FS te kiezen. MS-DOS moet het
doelkommando kunnen vinden, terwijl met FS drastisch van de oorspronkelijke
drive en directory afgedwaald kan worden. De plaats van veel gebruikte
doelkommando's kan het beste in de PATH variabele opgenomen worden. Indien
dit niet mogelijk is, voorkom dan missers met de FS optie /R, of door de
volledige naam en positie van het doelkommando vast te leggen in het FS
kommando. In sommige gevallen is het handig een kommandoregel in een .BAT
bestand te zetten voor toekomstig hergebruik. Bijvoorbeeld de in- en
uitpakkers ARJ en LHA vragen nogal wat opties.
In de volgende voorbeelden is de naam van het geselekteerde bestand
weergegeven als 'drive:\path\bestand.ext'
FS EDIT
Maak een keuze uit alle bestanden en voer het kommando EDIT
'drive:\path\bestand.ext' uit. EDIT is een extern MS-DOS kommando. Er dient
dus een PATH variabele naar EDIT te wijzen, of u dient zich in de directory
te bevinden waar EDIT.EXE staat.
FS EDIT *.C
Maak een keuze uit alle bestanden met extensie .C. Voer het kommando EDIT
'drive:\path\bestand.ext' uit.
FS EDIT *CO*
Maak een keuze uit alle bestanden waar het woorddeel CO in de naam
voorkomt. Voer het kommando EDIT 'drive:\path\bestand.ext' uit.
FS EDIT CO*
Maak een keuze uit alle bestanden waarvan de naam begint met CO. Voer het
kommando EDIT 'drive:\path\bestand.ext' uit.
FS EDIT FS?.C
Maak een keuze uit alle bestanden met extensie .C, met drie karakters voor
de punt en waarvan de naam begint met FS. Voer het kommando EDIT
'drive:\path\bestand.ext' uit.
FS C:\PICTURES\GRASPRT *.GL
Maak een keuze uit alle bestanden met extensie .GL en voer het kommando
C:\PICTURES\GRASPRT 'drive:\path\bestand.ext' uit. Omdat de volledige
plaats van GRASPRT wordt meegegeven, werkt dit kommando overal.
pagina 14
FS 1.9.1
FS GRASPRT *.GL /R
Maak een keuze uit alle bestanden met extensie .GL. Ga naar de
oorspronkelijke drive en directory en voer het kommando GRASPRT
'drive:\path\bestand.ext' uit. Dit werkt mits natuurlijk GRAPSPRT in de
oorspronkelijke drive en directory staat, of er met de PATH variabele naar
gerefereerd wordt.
FS GRASPRT *.GL /1
Maak een keuze uit alle bestanden met extensie .GL en voer het kommando
GRASPRT 'drive:\path\bestand.ext' eenmalig uit. Er wordt niet meer
teruggekeerd naar FS.
FS D:\ARC\ARJ\ARJ e *.ARJ /P3
Maak een keuze uit alle bestanden met extensie .ARJ en voer het kommando
D:\ARC\ARJ\ARJ e 'drive:\path\bestand.ext' uit. De parameter /P3 is hier
belangrijk: het zoekmasker staat op positie drie (FS=0, doelkommando=1,
optie e=2). Standaard zou de e als zoekmasker geinterpreteerd worden.
FS D:\ARC\ARJ\ARJ e *.ARJ /P3 /R
Maak een keuze uit alle bestanden met extensie .ARJ, ga terug naar de
oorspronkelijke drive en directory en voer het kommando D:\ARC\ARJ\ARJ e
'drive:\path\bestand.ext' uit. Het ARJ bestand wordt dus in de
oorspronkelijke directory uitgepakt.
FS C:\PICTURES\PICEM *.GIF
Maak een keuze uit alle bestanden met extensie .GIF en voer het kommando
C:\PICTURES\PICEM 'drive:\path\bestand.ext' uit. PICEM heeft zelf een file
selektor. Verlaat PICEM echter met ESC en laat FS het werk doen.
FS TYPE *.TXT | MORE /1
Maak een keuze uit alle bestanden met extensie .TXT en voer het kommando
TYPE 'drive:\path\bestand.ext' | MORE eenmaal uit. De /1 optie is hier
onmisbaar. MORE wordt pas opgestart als FS beeindigd is.
SET FSSWITCH=-
FS EDIT *.C /NOHI
Maak een keuze uit alle bestanden met extensie .C en voer het kommando EDIT
'drive:\path\bestand.ext' /NOHI. De /NOHI optie wordt hier doorgegeven aan
EDIT omdat het FS switch karakter op - is gezet. (EDIT /NOHI is bedoeld
voor monitors die geen high intensity ondersteunen).
FS COPY *.* B:\ /S
Maak een keuze uit alle bestanden en voer het kommando COPY
'drive:\path\bestand.ext' B:\ uit. De /S optie is hier aan te raden omdat
COPY ook werkt met wat minder konventioneel geheugen en het swappen de
kopieerakties zou vertragen.
pagina 15
FS 1.9.1
9. TECHNISCHE GEGEVENS
FS is geschreven in C. Een aantal delen van de code zijn weer uit andere
programma's gehaald zoals uit voorbeeldprogramma's van Microsoft C en Turbo
C en andere auteurs. Het is niet in de laatste plaats daarom dat FS Public
Domain is. Er is veel zorg besteed aan stabiliseren van het programma. Er
wordt niet van standaard console input/output gebruik gemaakt zodat er niet
eenvoudig met control C uit FS te springen is. De control C handler is
echter niet omgeleid. Wel wordt de standaard MS-DOS error handler omgeleid.
Programmatuur van derden:
Er wordt gebruik gemaakt van XSPAWN routines van Whitney Software Inc. Dit
zijn Public Domain routines die het swappen verzorgen.
De match() funkties (zoekmasker verwerking) en delen van de WHERE IS FILE
funktie zijn overgenomen uit FFF 3.4.5 van Don A. Williams en zijn Public
Domain.
Een kleine testroutine om de aanwezigheid van drives te testen en de
routines om directories op te schonen zijn van Bob Stout en zijn Public
Domain.
De routines voor het zetten en wijzigen van disk volume labels zijn
overgenomen uit het boek 'Systems Programming in Microsoft C' van Michael
J. Young.
De code is onderverdeeld in zeven bestanden:
FS.H Header bestand met include statements, symbolen, en
structuren
FS0.C Het hoofdprogramma.
FS1.C Een bibliotheek met bijna alle functies van de file selector
van FS. Het centrale aanroeppunt is de functie handle_dir.
Omdat er met een minimaal aantal globale variabelen is
gewerkt, is het zeer eenvoudig om de directory functies van
FS in eigen programmatuur in te bouwen.
FS2.C Het restje van de FS funkties, voornamelijk die van de
WHEREIS funktie en de directory wisser.
XSPAWN.H Header bestand van het XSPAWN systeem.
XSPAWNMS.LIB Small memory model library met XSPAWN funkties.
XSPAWN33.ARJ Archief bestand met het volledige XSPAWN systeem versie 1.33
van Whitney Software Inc. Dit bestand is verder niet nodig
voor FS, maar de XSPAWN licentie vereist het meegeven ervan.
Ere wie ere toekomt.
pagina 16
FS 1.9.1
FS versie 1.9.1 is gecompileerd in Microsoft C/C++ versie 7.00. Compileren
met Microsoft C versie 6.00A is niet meer geprobeerd, maar zou zonder
problemen moeten kunnen. Er wordt geen gebruik gemaakt van C++
taalelementen. Zorg dat indien er met de Workbench gewerkt wordt, een stack
van minimaal 8192 bytes gedefinieerd wordt. De libraries GRAPHICS.LIB
(onderdeel van Microsoft C) en XSPAWNMS.LIB dienen te worden mee-gelinkt.
Met de kommandoprocedure BUILDFS kan er ook vanaf de MS-DOS prompt
gecompileerd worden. Het small memory model wordt gebruikt. De inhoud van
BUILDFS is:
CL /c /AS /W3 /BATCH /Os /Ol /Og /Oi /Ow FS0.C
CL /c /AS /W3 /BATCH /Os /Ol /Og /Oi /Ow FS1.C
CL /c /AS /W3 /BATCH /Os /Ol /Og /Oi /Ow FS2.C
LINK /NOI /STACK:8192 /BATCH /EXE /FAR /PACKC FS0.OBJ+FS1.OBJ+FS2.OBJ,
FS.EXE,NUL, GRAPHICS.LIB+XSPAWNMS.LIB,NUL
pagina 17
FS 1.9.1
10. LICENTIE VOORWAARDEN EN UITSLUITING VAN GARANTIE
Deze gecompileerde versie van FS, versie 1.9.1, en de bijbehorende broncode
is vrijgegeven voor het Public Domain circuit. Twee zaken wil ik echter
voorkomen. Ten eerste dat derden er geld aan gaan verdienen en ten tweede
dat ik aansprakelijk word gesteld voor schade. Vandaar dat gebruik en
distributie alleen zijn toegestaan onder de volgende bindende voorwaarden:
a. De auteur van FS, M.C.J. van Breemen, behoudt zich het recht voor
toekomstige versies uit te geven met commerciele doeleinden, dus
versies die niet voor het Public Domain circuit bestemd zijn.
b. FS is Public Domain en moet ook Public Domain blijven. Het is niet
toegestaan FS of delen van FS of afgeleide versies van FS te
verspreiden met in rekening brenging van meer dan de kosten van media
en verzending.
c. Het is toegestaan de broncode van FS naar eigen inzicht te wijzigen
en/of delen van de broncode in andere programmatuur op te nemen, mits
het resulterende programma ook in het Public Domain circuit wordt
vrijgegeven, en er een bronvermelding aanwezig is in het programma of
de documentatie. Zonder uitdrukkelijke schriftelijke toestemming van
M.C.J. van Breemen zijn andere modificaties niet toegestaan. Over
aangepaste licentievoorwaarden kan natuurlijk altijd onderhandeld
worden.
d. M.C.J. van Breemen geeft geen enkele garantie voor de goede werking van
FS en aanvaardt geen aansprakelijkheid voor eventuele schade bij
gebruik van FS. De volgende paragrafen zijn ook van toepassing als u
geen engels kunt lezen.
BECAUSE FS IS LICENSED FREE OF CHARGE, ABSOLUTELY NO WARRANTY IS PROVIDED.
EXCEPT WHEN OTHERWISE STATED IN WRITING, M.C.J. VAN BREEMEN AND/OR OTHER
PARTIES PROVIDE FS "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO
THE QUALITY AND PERFORMANCE OF FS IS WITH YOU. SHOULD FS PROVE DEFECTIVE,
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT WILL M.C.J. VAN BREEMEN AND/OR ANY OTHER PARTY WHO MAY
REDISTRIBUTE FS AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING
ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE (INCLUDING
BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
OTHER PROGRAMS) FS, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
e. Deze licentie voorwaarden zijn alleen geldig voor FS. Indien FS
gedistribueerd wordt samen met andere programmatuur, valt die
betreffende andere programmatuur niet onder deze licentie. Ook het
omgekeerde is het geval. Alleen deze licentie is geldig voor FS. Het
XSPAWN33.ARJ archief bevat een eigen licentie.
pagina 18
FS 1.9.1
11. CORRESPONDENTIEADRES
De auteur van FS is op het volgende adres bereikbaar voor vragen of
opmerkingen over de programmatuur of de licentie voorwaarden, en ook voor
foutmeldingen:
M.C.J. van Breemen
Combinatiepolder 13
5235 TR 's-Hertogenbosch
The Netherlands
Suggesties voor verbeteringen zijn van harte welkom. Ik ben zeer
geinteresseerd in wat er uit deze broncode groeit. FS was bedoeld als
demonstratieprogramma voor de file_handler funktie. Deze funktie is dan ook
erg eenvoudig in andere programma's op te nemen. Toezending van
modificaties van FS en programma's die FS functies gebruiken zou zeer op
prijs gesteld worden.
12. GESCHIEDENIS
Versie 1.0, vrijgegeven op 11 mei 1992.
Dit is de eerste versie.
Versie 1.1, vrijgegeven op 3 juli 1992.
Veranderingen zijn:
a. Het videogeheugen wordt bewaard voor opstarten en hersteld na
afsluiten.
b. Door bewaren en herstellen van het videogeheugen is het scherm rustiger
bij sluiten van de help- en informatieschermen.
c. De help- en informatieschermen geven toetsaanslagen door aan het
hoofdprogramma. Vanuit deze schermen kan dus onmiddelijk aktie genomen
worden. De gebruikersinterface is hierdoor iets gewijzigd.
d. De programmaoptie /W, wachten op een toetsaanslag is toegevoegd.
e. Na funktie E, Execute, wordt altijd gewacht op een toetsaanslag.
f. Funktie A, wijzigen van bestandsattributen is toegevoegd.
g. De Copy en Rename funkties kunnen doelbestanden verwerken in afwijkende
drives en directories.
h. Geprobeerd wordt zoveel mogelijk terug te keren naar het laatst gekozen
bestand, in de laatst gekozen pagina.
i. Funktie ^W is vervangen door F en leest de directory opnieuw.
j. De aktieve drive en directory worden op de bovenste regel getoond.
pagina 19
FS 1.9.1
Versie 1.2, vrijgegeven op 28 juli 1992.
Veranderingen zijn:
a. Funktie T, tonen van de top directory is toegevoegd.
b. Funktie ^F, tonen van het aantal bytes vrije schijfruimte is
toegevoegd.
c. Funktie N, aanmaken van een directory is toegevoegd.
d. De help- en informatieschermen geven muisakties door aan het
hoofdprogramma.
e. XSPAWN mechanisme (Whitney Software Inc.) toegevoegd, samen met
programmaoptie /S om het XSPAWN mechanisme uit te schakelen.
f. De funkties C, Copy en R, Rename negeren een lege naam van het
doelbestand.
g. In de editstring programmafunktie kan de tekstcursor ook gepositioneerd
worden met de muis. Op de Up en Down arrow wordt niet meer gereageerd.
In de Replace modus kan ook een volle string overgetypt worden.
h. Extra kontrole op cursorbesturing bij lege disks, dit gaf problemen.
i. Funktie L, verlaten van FS met behoud van de aktieve drive en directory
is toegevoegd.
j. Funktie A, wijzigen van attributen, de _ tekens verwijderd.
k. Funktie U, een directory omhoogstappen is toegevoegd.
Versie 1.3, vrijgegeven op 5 augustus 1992.
Veranderingen zijn:
a. Fouten in de navigatie hersteld (Terugkeren naar de rootdirectory en de
/R optie gaf soms problemen).
b. Funktie F, nieuwe directory ophalen en tonen, hernaamd naar V.
c. Funktie ^F, toon vrije schijfruimte, hernaamd naar F. Het wordt
moeilijker logische letters te verzinnen voor de funkties.
d. Cursornavigatie met Alt-A t/m Alt-Z toegevoegd.
e. De muiscursor positie wordt hersteld na terugkeren naar FS.
f. Na veranderen van het zoekmasker met funktie M blijft het zoekmasker
bewaard tot FS verlaten wordt of tot met funktie M een leeg masker
wordt ingevoerd.
g. Funktie P, programma informatie toegevoegd.
h. Bij funktie X, naar MS-DOS shell, prompt van child process veranderd.
i. Rechter muisknop heeft dezelfde funktie als toets U, terugstappen.
j. Sterretje toegevoegd links-boven tijdens de directory leesoperatie. Bij
trager netwerkverkeer is deze feedback handig.
k. Help- en infoschermen filteren nu ESC uit, zoals het volgens de
documentatie zou moeten werken.
l. Schaduwwerking toegevoegd aan help- en infoschermen.
Versie 1.4, vrijgegeven op 7 augustus 1992.
Veranderingen zijn:
a. Achterblijvende muiscursor hersteld in de editschermen.
b. Optie /SE, uitschakelen van swappen naar EMS toegevoegd.
c. Optie /T, test mode toegevoegd.
d. Zoekmasker verwerkingsfunktie vervangen voor programmafunkties van Don
A. Williams. Wildcards * en ? werken ook midden in een zoekmasker.
e. Extra controles op geheugenmanagement toegevoegd. Als het geheugen
volliep werd er onder andere bij bewaren en herstellen van
videogeheugen niet gekontroleerd of geheugenallocatie succesvol was.
pagina 20
FS 1.9.1
Versie 1.5, vrijgegeven op 18 september 1992.
Veranderingen zijn:
a. Rechter muisknop, terugstappen gewijzigd. FS bleef terugstappen zolang
de knop ingedrukt gehouden werd. Bij sommige snellere computers werd in
hoog tempo tot aan de root directory teruggestapt. FS reageert nu op
een klik, niet op het ingedrukt houden.
b. Capaciteit vergroot: Niet de gehele find_t structuur, maar alleen
bestandsnaam en attribuut worden intern bewaard. Bijeffect is dat info
van file .. niet meer opgehaald kan worden van directories in de root.
c. Funktie W, Zoeken naar bestand is toegevoegd. Omdat deze funktie
recursieve routines bevat, dient de stack groter te zijn.
d. Kosmetische ingrepen in de source, aan- en uitzetten van de muiscursor
is geintegreerd in de tekst uitvoer funkties.
e. Bij bereiken van het maximaal gereserveerde aantal bestanden (normaal
456) wordt gewaarschuwd.
Versie 1.6, vrijgegeven op 23 september 1992.
Maintenance update:
a. Fout verwijderd in het onthouden van de drive, deze fout is er in
versie 1.5 ingeslopen (strcpy in plaats van strcat).
b. Schaduwwerking help en infoschermen veranderd, de rechter vertikale
balk is nu twee karakters breed.
Versie 1.7, vrijgegeven op 29 september 1992.
Maintenance update:
a. Bij aanbrengen schaduwwerking help en infoschermen wordt de muis eerst
uitgeschakeld.
b. Fout verwijderd in funktie W, zoeken naar bestand. Selekteren en Gaan
naar een bestand in een root directory ging niet.
Versie 1.8.1, vrijgegeven op 12 november 1992.
Veranderingen zijn:
a. Memory management verbeterd in WHEREIS funktie.
b. Er kan een start directory aangegeven worden in de WHEREIS funktie. Er
wordt dan alleen gezocht in de aangegeven directory en in de daar
aanwezige sub-directories.
c. WHEREIS funktie uitgebreid met CONTAINING WHAT optie: zoeken naar een
string in een willekeurig bestand.
d. Terugstap funkties (rechter muisknop, funktie U, selektie van ..
bestand) plaatsen de bestandscursor op de parent directory.
e. Funktie Del, wissen van bestanden kan nu ook directories met geneste
sub-directories wissen.
f. Run-time programma opties kunnen nu ook met environmental variabele
FSPARAMS meegegeven worden.
g. Kleine wijzigingen in de bron code om zowel met Microsoft C 6.00 als
met Microsoft C/C++ 7.00 foutloos en zonder waarschuwingen te kunnen
compileren.
Versie 1.8.2, vrijgegeven op 14 november 1992.
Maintenance update:
a. Funktie X, tijdelijk naar MS-DOS springen, maakt nu gebruik van de
COMSPEC environmental variabele om COMMAND.COM te vinden.
pagina 21
FS 1.9.1
Versie 1.9, vrijgegeven op 11 december 1992.
Veranderingen zijn:
a. Funktie V, nieuwe directory ophalen en tonen, hernaamd naar /.
b. Nieuwe funktie V, zetten van een disk volume label toegevoegd.
c. Bestanden en directories met het Hidden attribuut zijn herkenbaar aan
een aparte kleur (of een pijl voor de naam in monochroom).
d. Disk volume labels worden nu getoond en zijn herkenbaar aan een aparte
kleur.
e. Disk volume labels zijn met de standaard funkties R Rename en Del
Delete te wijzigen en te wissen.
f. De kleurinformatie voor programmaopties /C en /D is uitgebreid met 6
karakters voor de nieuwe kleuren.
Versie 1.9.1 vrijgegeven op 24 februari 1993.
Veranderingen zijn:
a. Programmaoptie N, veranderingen niet toestaan, toegevoegd.
b. Error handler aangepast.
pagina 22