// // DIR-EXT-W2k.VDM 19.05.2002 // // Sort a listing created by "DIR /S" in Win2000 by filename // // Attention: For german Windows !!! // // Delete several unneeded lines R("|<|*Datentr„ger in|*|N", BEGIN+ALL+NOERR) if(EM){ return } R("|<|*Datentr„gernummer|*|N", BEGIN+ALL+NOERR) R("|<|*|*|N", "", BEGIN+ALL+NOERR) R("|<|*Datei(en)|*|N", "", BEGIN+ALL+NOERR) R("|<|*Verzeichnis(se)|*|N", BEGIN+ALL+NOERR) R("|<|*Anzahl der |*|N", "", BEGIN+ALL+NOERR) R("|<|X", "", BEGIN+ALL+NOERR) // resort every line to have the filename leading BoF While(! At_EOF){ S("Verzeichnis von ", ADVANCE+NOERR) RCB(11, CP, EOL_POS) // path BoL Del_Line(1) Set_Marker(6, CP) While(Match("Verzeichnis von ")!=0){ if(At_EoF) { break } BoL RCB(12, CP, CP+39) // size etc. RCB(13, CP+39, EOL_Pos) // name BoL Del_Line(1) RI(13) IT(" | ") RI(11) IT(" | ") RI(12) IN(1) } } // beautify (line up) the path BoF #103=0 while(! At_EoF){ S("||", NOERR+ERRBREAK) if(Cur_Col > #103){ #103 = Cur_Col } Line(1, NOERR) } BoF while(! At_EoF){ S("||", NOERR+ERRBREAK) Ins_Indent(#103) Line(1, NOERR) } // beautify (line up) the date and size BoF #103=0 while(! At_EoF){ S("||", NOERR+ERRBREAK+COUNT, 2) if(Cur_Col > #103){ #103 = Cur_Col } Line(1, NOERR) } BoF while(! At_EoF){ S("||", NOERR+ERRBREAK+COUNT, 2) Ins_Indent(#103) Line(1, NOERR) } // sort the file by filename and path BoF Num_Str(#103, 103, LEFT+NOCR) Reg_Set(103, "1:", INSERT) // BUG: doesn't work! "NOT ENOUGH MEMORY ...:" fixed since 15.06.2002 Sort_Merge(@(103), 0, File_Size) //Sort(0, File_Size)