' Dateiinfo aus LHA-Archiven lesen ' Sprache: PowerBASIC ab Vers 2.1 ' Getestet mit LHA 2.12/2.13/2.55 DEFINT A-Z F$=UCASE$(COMMAND$) Zl$="########" OPEN "B",1,F$ IF INSTR(F$,".EXE") THEN 'suche Ende des SFX-Teils DO:GET$ #1,3,S$:LOOP UNTIL S$="-lh" SEEK#1,SEEK(1)-5 END IF PRINT "Filename";TAB(18);"PSize";Tab(30);"OSize";TAB(40); PRINT "Date Time Method CRC" DO GET$ #1,1,Hl$ 'Lnge des Header GET$ #1,ASC(Hl$)+1,H$ Ps&=CVL(MID$(H$,7,4)) 'Datgr.packt Os&=CVL(MID$(H$,11,4)) 'Datgr.unpac Nl=ASC(MID$(H$,21,1)) 'Lnge Datnam F$=MID$(H$,22,Nl) 'Dateiname d$=Fd$(CVI(Mid$(H$,17,2))) 'Datum t$=Ft$(CVI(MID$(H$,15,2))) 'Zeit CRC$=RIGHT$("00"+HEX$(CVI(MID$(H$,22+Nl,2))),4) 'Crc16 'alle Informationen ausgeben PRINT F$;TAB(15);USING$(Zl$,Ps&); PRINT TAB(27);USING$(Zl$,Os&); PRINT TAB(38);d$;TAB(48);t$;TAB(58); PRINT MID$(H$,2,5);Tab(65);CRC$ 'nchste Datei im Archiv suchen O&=Seek(1)+Ps& SEEK #1,O& LOOP UNTIL O&+1=LOF(1) CLOSE END FUNCTION Fd$(d) 'Datum formatieren T$=RIGHT$(STRING$(16,"0")+BIN$(d),16) Fd$=Z$(VAL("&B"+MID$(T$,12)))+"-"+ _ Z$(VAL("&B"+MID$(T$,8,4)))+"-"+ _ Z$(80+VAL("&B"+MID$(T$,1,7))) END FUNCTION FUNCTION Ft$(t) 'Zeit formatieren T$=RIGHT$(STRING$(16,"0")+BIN$(t),16) Ft$=Z$(VAL("&B"+MID$(T$,1,5)))+":"+ _ Z$(VAL("&B"+MID$(T$,6,6)))+":"+ _ Z$(2*VAL("&B"+MID$(T$,12))) END FUNCTION FUNCTION Z$(v) 'fhrende Nulln rein Z$=RIGHT$("00"+LTRIM$(STR$(v)),2) END FUNCTION