// // VI-FILECHK.VDM C.Z. 25.04.2003 // 14.07.2003 // // Prüft, ob die aktuelle Datei auch noch in parallelen Verzeichnissen existiert. // Wenn ja, werden alle "Doubletten" ebenso geöffnet. // // Ursprüngliche Entwicklung für C:\transfer\ // Seit 17.07.2003 mit kompletten Pfaden auch auf DOS C:\transfer\\dir\dir\file // geht das so aber nicht mehr... ==> VI-FILECHK2.VDM // Reg_Set(103, PATH_ONLY) Reg_Set(104, FILENAME) #103=Win_Color #104=Win_Color_Erase #105=Buf_Num #106=Win_Num Buf_Switch(Buf_Free()) Reg_Ins(103) EoF Search("\", REVERSE) Reg_Copy_Block(105, 0, Cur_Pos) // path of parent directory Buf_Quit(OK) System('"DIR /A:D /B |@(105) > |(VEDIT_TEMP)\vi-filechk.tmp"', DOS+SIMPLE) Buf_Switch(Buf_Free()) File_Open("|(VEDIT_TEMP)\vi-filechk.tmp") BoF while (! At_EOF) { Reg_Copy_Block(106, Cur_Pos, EoL_Pos) if (File_Exist("|@(105)\|@(106)\|@(104)")) { Ins_Text('File_Open("') Reg_Ins(105) Ins_Text("\") EoL Ins_Text("\") Reg_Ins(104) Ins_Text('", ATTACH+BROWSE)') Ins_Text(" if(Buf_Num != #105) {") Ins_Text(" #101=Buf_Num BoF Buf_Switch(") Num_Ins(#105, LEFT+NOCR) Ins_Text(") BoF Buf_Switch(#101) if(Compare(") Num_Ins(#105, LEFT+NOCR) Ins_Text("+BUFFER, CASE) == 0) {Win_Color(128,128)}else{Win_Color(79,79)} BoF }") Ins_Text(" ") Line(1, NOERR) } else { BoL Del_Line(1) } } BoF Reg_Copy_Block(106, 0, File_Size) Buf_Quit(OK) Call(106) Reg_Save(106,"c:\tmp\vivdm.txt", OK) Buf_Switch(#105) BoF Win_Switch(#106, ATTACH) Win_Color(#103,#104) Win_Tile() Return(0,Delete)