/* Trashcan for Directory Opus 5.5 by Dave Clarke from an ieda of Stefano Regattin $VER: TrashcanOfDaveClarke.dopus5 1.0 (2.2.2001) */ /* Change to suit */ CestinoPieno = 'ENVARC:Sys/def_trashcan' CestinoVuoto = 'ENVARC:Sys/def_trashcan' ListaFileCestinati = 'SYS:T/Eliminati' Signal On Ferma Signal On CTRL_C Signal On Sintassi LF = '0a'x Options Results Options FailAt 21 Address 'DOPUS.1' If Exists('LIBS:rexxsupport.library') Then Call AddLib('rexxsupport.library',0,-30) Else Do Call DisplayError('Richiede la rexxsupport.library') Exit 20 End NomePorta = 'trashport' If ~OpenPort(NomePorta) Then Do Say 'Non posso mettere il cestino!' Exit End MenuCestino.count = 3 MenuCestino.0 = 'Ricicla' MenuCestino.1 = '---' MenuCestino.2 = 'Elimina' ReInit: If Exists(ListaFileCestinati) then ImmagineCestino = CestinoPieno Else ImmagineCestino = CestinoVuoto EndIf Dopus AddAppIcon 'trashport' 'Cestino' 8111966 icon iconimage info snap close local quotes menu MenuCestino Icona = Result Segnale = 0 Do While Segnale = 0 If Waitpkt(NomePorta) Then Do Pacchetto = GetPkt(NomePorta) Evento = GetArg(Pacchetto,0) ID = GetArg(Pacchetto,1) NomiDeiFile = GetArg(Pacchetto,2) Gestione = GetArg(Pacchetto,3) Call Reply(Pacchetto,0) Select When event = 'dropfrom' Then Do NumeroFile = 0 Do While NomiDeiFile ~= '' NumeroFile = NumeroFile + 1 Parse Var NomiDeiFile '"' File.NumeroFile '"' NomiDeiFile End If Gestione ~= 0 Then Do Lister Query Handle Path Percorso = strip(result,'b','"') End If ~Exists(FileCestinati) Then Address Command 'Echo "Failat 21" >'FileCestinati Do i = 1 To NumeroFile If handle = 0 Then Do Percorso = Reverse(SubStr(Reverse(File.1), Verify(Reverse(File.1),':/','m', 2))) File.i = Substr(File.i, Length(Percorso) + 1, Length(File.i) - Length(Percorso) - 1) End If Word(statef(Percorso||File.i), 1) = 'DIR' Then Do Address Command 'Run >NIL: NIL: NIL: >'delfiles End Else Do Address Command 'Run >NIL: NIL: NIL: >'delfiles End End Dopus Script 'Lasciato sul cestino' Segnale = 3 End When event = 'menu' Then Do Select When NomiDeiFile = 0 Then Do Address Command 'Run >NIL: NIL: NIL: NIL: NIL: NIL: NIL: