home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magazyn Exec 5
/
CD_Magazyn_EXEC_nr_5.iso
/
Recent
/
biz
/
dopus
/
DOpusRxTrash.lha
/
TrashcanOfDaveClarke.dopus5
< prev
Wrap
Text File
|
2001-06-07
|
4KB
|
143 lines
/* 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: Copy "'Percorso||File.i'#?" 'trashcan' ALL CLONE'
Address Command 'Run >NIL: <NIL: Delete "'Percorso||File.i'#?" ALL QUIET FORCE'
Address Command 'Run >NIL: <NIL: Echo "Copy *"'trashcan||File.i'*" TO *"'Percorso||File.i'*" ALL CLONE" >>'delfiles
End
Else
Do
Address Command 'Run >NIL: <NIL: Copy "'Percorso||File.i'" 'trashcan
Address Command 'Run >NIL: <NIL: Delete "'Percorso||File.i'" QUIET FORCE'
Address Command 'Run >NIL: <NIL: Echo "Copy *"'trashcan||File.i'*" TO *"'Percorso||File.i'*"" >>'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: Execute 'delfiles
Address Command 'Run >NIL: <NIL: Delete 'delfiles
Address Command 'Run >NIL: <NIL: Delete 'trashcan'#? QUIET FORCE'
Address Command 'Run >NIL: <NIL: Delete 'trashcan'#? ALL QUIET FORCE'
Call DisplayError('Ho riciclato tutti i file nei cestini')
Dopus Script 'Cestino riciclato'
End
When namestr = 2 Then
Do
Address Command 'Run >NIL: <NIL: Delete 'trashcan'#? QUIET FORCE'
Address Command 'Run >NIL: <NIL: Delete 'trashcan'#? ALL QUIET FORCE'
Address Command 'Run >NIL: <NIL: Delete 'delfiles' QUIET FORCE'
Call DisplayError('Ho vuotato tutti i cestini')
Dopus Script 'Cestino vuotato'
End
Otherwise Nop
End
Segnale = 3
End
When event = 'info' Then Call DisplayError('stefano.regattin@tin.it'lf'http://members.tripod.it/esseerre/Stefano.html')
When event = 'close' then Segnale = 1
When event = 'inactive' then Segnale = 2
Otherwise Nop
End
End
Errore:
Ferma:
CTRL_C:
Sintassi:
Dopus SetAppIcon Icona BUSY OFF
If Segnale ~= 2 then Dopus RemAppIcon Icona
If Segnale = 3 then Signal ReInit
Call ClosePort(NomePorta)
Dopus Script 'Cestino rimosso'
Exit
DisplayError: Procedure Expose LF
Parse Arg Message
Command Flash
Dopus Request '"'message'" OK'
Return