Come usare baFindDrive e baCopyFile.

Di: Pablito | 26/09/2020 17:51:49
Per problemi di installazione e richiesta di cd supplementari scrivere qui.

Risposte


Richiesta di inserimento di un CD supplementare.

Ciao a tutti, ho un grande problema. Ho creato un cd con Director e ora vorrei creare una installazione che richieda al computer dell'utente il cd da inserire. Il mio problema è che riesco solo a creare una installazione che installa tutti i file sul computer dell'utente. Vorrei sapere se esiste un programma che ti installa solo un collegamento dell'applicazione e richiama gli altri file che stanno sul cd. Il mio obiettivo è obbligare l'utente a mettere sempre il cd per guardare il cd e non costringerlo a fargli installare sul suo computer più di 300 MB.
Grazie e complimenti per questo forum.

Di: simo | 26/09/2020 17:51:49


Beh, per costringere l'utente a mettere il cd basta non fare l'installer. :)
Grazie per i complimenti, con piacere giro questi complimenti a tutti i partecipanti del forum che condividono la conoscenza per crescere insieme.
Ora vediamo di risolvere anche questo problema, intanto ti ho realizzato quel tutorial sulle finestre secondarie.

Di: Pablito | 26/09/2020 17:51:49

FindDrive e CopyFile

Dunque... per installare un solo file puoi usare (dal solito Xtra buddy api) CopyFile.
Uso (vedi help): Result = baCopyFile (SourceFile, DestFile, Overwrite)
Installando il file con un percorso prestabilito (ad es. c:\\dati\\pippo.exe) hai la certezza di sapere se è stato mai installato il file e quindi di poterlo verificare con un IF quando sarà inserito per la seconda volta il cd-rom.
- Come SourceFile metti una variabile che contiene the moviePath
- Come DestFile metti: c:\\nomeFile.exe
- Overwrite "Always"
Con FindDrive (sempre di buddy api) puoi cercare in tutti i drive un file specifico.
Poi quando lo trova, ti restituisce la lettera del drive dove il file è stato trovato.
Il findDrive lo puoi usare anche per cercare un percorso, per es. FindDrive ("c", "dati\\audio\\fileAudio1.mp3").
Quindi concludendo, se tu fai installare (con CopyFile) solo un file (ad esempio il proiettore) sull'hard disk che contiene la verifica (usando FindDrive) e quindi la ricerca del primo file da caricare nei vari drive,
IF la verifica di FindDrive trova il primo file del Movie da eseguire nel drive G, allora il percorso sarà G:/nomefile.dir.
Altrimenti continuerà la ricerca e sarà un'altra lettera.
Fammi sapere

Di: Pablito | 26/09/2020 17:51:49


Ciao a tutti. Anch'io ho avuto lo stesso problema. Però ho provato come hai scritto ma sto avendo difficoltà nello scrivere la sintassi giusta per quanto riguarda l'uso di "Find Drive". Per favore potresti scrivermi la sintassi completa di questo script che mi sta rubando moltissimo tempo. Ti ringrazio già in anticipo per la tua disponibilità e ancora complimenti per questo fantastico forum!!!!!!!!!!! Ciao.

Di: simo | 26/09/2020 17:52:49

Come usare baFindDrive e baCopyFile.

Ciao Simone,
grazie per i complimenti, sono sempre utili e graditi, passa parola che facciamo una bella comunità, soprattutto se conosci qualche esperto di programmi di grafica professionale o programmatori.
I file da creare sono 2.
Il primo file "ciccio.dir" lo usiamo per copiare "nomefile.dir" sull'hard disk.
Quest'ultimo servirà per trovare il lettore ed eseguire un file a nostra scelta direttamente dal cd/dvd.
Per fare questo, devi solo sapere il nome del file presente sul cd o dvd che vuoi copiare sull'hard disk.
1) Crea un Movie Script (script del filmato):
on startMovie me
Result = baCopyFile(the moviepath&"nomefile.dir", "c:\\TuaCartella\\nomefile.dir", "Always")
end
-- usando startMovie copierà il file sull'hard disk appena sarà eseguito il file (che potrebbe essere una finestra aperta dopo l'autorun)
-- chiaramente TuaCartella e nomefile li modifichi come ti pare.
Salva e apri oppure crea nomefile.dir
2) Crea un bottone nel movie "nomefile.dir" ed associa questo script allo sprite del bottone:
on mouseUp
Result = baFindDrive("C", "NomePrimoFileDelCdRom.dir")
play movie (Result & ":\\" & "NomePrimoFileDelCdRom.dir")
end
-- NomePrimoFileDelCdRom.dir ad esempio può essere il tuo filmato introduttivo del cd o dvd.
-- Se devi aprire un file exe dal cd o dvd, invece di play movie, devi usare open
-- open (Result & ":\\" & "NomePrimoFileDelCdRom.exe")
-- C: significa che inizierà la ricerca a partire dalla lettera C e poi proseguirà con D, E, F, G, ecc.
-- Funziona anche se cerchi un file qualsiasi presente nel cd o dvd e dai il comando di eseguire un altro file.
-- Naturalmente ":\\" è per piattaforma pc.
Fammi sapere

Di: Pablito | 26/09/2020 17:52:49

Problema risolto!!

Grazie, anche un altro problema è stato risolto, sei davvero in gamba. Non ti preoccupare sto già parlando bene di questo forum a tutti i miei amici programmatori e non appena ci sarà occasione, verranno a trovarti.
Ciao e ancora grazie!!!!!!!!!!!!!!!!!!!!

Di: simo | 26/09/2020 17:52:49

Richiesta di CD/DVD risolto.

Ecco lo script da associare al pulsante per verificare la presenza di un file nel lettore:
on mouseUp
Result = baFindDrive("C","NomeFileDelCdRom.txt")
if Result <> "" then
alert "Per favore inserisci il cd-rom o dvd-rom."
else
alert "Tutto OK. Al posto dell'alert metti il comando che vuoi."
end if
end
-- Result restituisce "" invece di Void quando non trova il file.
-- un mio particolare ringraziamento a Goku, sempre prezioso in questi casi.
E ora fatemi sapere se gradite.

Di: Pablito | 26/09/2020 17:52:49

Problemi con Windows 98

Salve a tutti, io ho creato un cd con Director e ho usato il vostro script Lingo per far sì che il software parti solo se è presente un cd dentro il lettore.
Il problema è proprio questo.
Questo script funziona con tutti i sistemi operativi tranne che con Windows 98. Infatti con questo sistema operativo, anche se è presente il cd all'interno del lettore, mi esce lo stesso l'alert con la scritta "Inserire il cd rom".
Vorrei sapere se c'è una soluzione a questo mio quesito e nel frattempo vi ringrazio già in anticipo per la vostra disponibilità.

Di: simo | 26/09/2020 17:52:49


Se è così è una brutta notizia.

Di: Pablito | 26/09/2020 17:52:49