home *** CD-ROM | disk | FTP | other *** search
- 100 rem beispiel fuer eine kleine
- 101 rem directory-manipulation:
- 102 rem scratch-schutz einzelner files
- 103 rem nach anzeige des filenamens:
- 104 rem j = schuetze dies file
- 105 rem n = weiter zum naechsten file
- 106 rem e = ende
- 107 rem achtung !!! "schuetzt" auch
- 108 rem schon gescratchte files wenn
- 109 rem verlangt, stellt sie aber nicht
- 110 rem wieder her !!!
- 111 rem scratch-schutz wird im direct.
- 112 rem durch ein '<' hinter dem
- 113 rem filetyp angezeigt. naeheres
- 114 rem siehe tabelle folge 1 !!!
- 115 rem achtung !!! nur zusammen mit
- 116 rem den unterprogrammen 1 & 2
- 117 rem lauffaehig !!!
- 118 :
- 119 :
- 120 mm=0
- 130 mm=mm+1:dd$="":gosub1000
- 140 if dd$=nn$thenend
- 150 printmid$(dd$,4,16):inputaa$
- 160 if aa$="e"then end
- 170 if aa$="n"then 130
- 180 hh$=left$(dd$,1)
- 190 hh$=chr$(asc(hh$)or2^6)
- 200 dd$=hh$+right$(dd$,29)
- 210 gosub2000
- 220 goto 130
- 230 end
- 1000 rem unterprogramm 1
- 1001 rem lesen eines eintrages aus dem
- 1002 rem directory (alle 30 bytes !!!)
- 1003 rem in die variable dd$
- 1004 rem uebergabeparameter:
- 1005 rem mm=nummer des eintrages der
- 1006 rem gelesen werden soll
- 1007 :
- 1008 :
- 1009 :
- 1010 open 15,8,15,"i":open8,8,8,"#"
- 1020 nn$="":fori=1to30:nn$=nn$+chr$(0):nexti
- 1030 xx=int((mm-1)/8)
- 1040 print#15,"u1 8 0 18 0"
- 1050 forzz=1toxx+1
- 1060 print#15,"b-p 8 0"
- 1070 get#8,tt$:tt=asc(tt$+chr$(0))
- 1080 get#8,ss$:ss=asc(ss$+chr$(0))
- 1090 if tt=0 then dd$=nn$:goto1170
- 1100 print#15,"u1 8 0";tt;ss
- 1110 nextzz
- 1120 pp=mm-(xx*8):pp=(pp-1)*32+2
- 1130 print#15,"b-p 8";pp
- 1140 forzz=1 to 30:get#8,zz$
- 1150 ifzz$=""thenzz$=chr$(0)
- 1160 dd$=dd$+zz$:nextzz
- 1170 close 8:close 15
- 1180 return
- 2000 rem unterprogramm 2
- 2001 rem schreiben eines eintrages in
- 2002 rem das directory (30 bytes !!!)
- 2003 rem uebergabeparameter:
- 2004 rem mm=nummer des eintrages der
- 2005 rem geschrieben werden soll
- 2006 rem dd$=directoryeintrag
- 2007 :
- 2008 :
- 2009 :
- 2010 open 15,8,15,"i":open8,8,8,"#"
- 2020 xx=int((mm-1)/8)
- 2030 print#15,"u1 8 0 18 0"
- 2040 forzz=1toxx+1
- 2050 print#15,"b-p 8 0"
- 2060 get#8,t$:tt=asc(t$+chr$(0))
- 2070 get#8,s$:ss=asc(s$+chr$(0))
- 2080 if tt=0 then 2150
- 2090 print#15,"u1 8 0";tt;ss
- 2100 nextzz
- 2110 pp=mm-(xx*8):pp=(pp-1)*32+2
- 2120 print#15,"b-p 8";pp
- 2130 print#8,dd$;
- 2140 print#15,"u2 8 0";tt;ss
- 2150 close 8:close 15
- 2160 return
-