Newsgroup: it.comp.appl.access
Titolo: Drag&Drop in Access?

Ciao a tutti.
Mi servirebbe riuscire ad intercettare il nome di un file trascinato in una 
zona di una form Access (2000). Mi basterebbe quindi ottenere il nome del 
file trascinato, non ho bisogno di cose evolute.
Da quel che son riuscito a capirne, NON è possibile farlo con metodi 
"ortodossi". Lo confermate (o, meglio, mi smentite recisamente? :-)?
Grazie e ciao!
Angelo.- 

 ha scritto nel messaggio 
news:lPEtd.479831$35.20...@news4.tin.it...

Su 
www.sitocomune.com
 trovi qualcosa.
Quello che chiedi è fattibilissimo in molti modi: API, Comdlg32.ocx (il 
classico file apri), DIR, ecc..
Hai sempre lo stesso problema? Aprire un file basandoti sulla estensione?
Ciao, Carlo 

 ha scritto nel messaggio
news:lPEtd.479831$35.20...@news4.tin.it...

Il giochino che vuoi fare è gestibile, ma al contrario di quanto credi
dicendo che
non vuoi nulla di EVOLUTO per ottenerlo serve SUBCLASSARE il CONTROLLO
per la gestione DRAG.
Ora se avessi usato un OCX del tipo TREEVIEW popolandolo con una Ricorsiva
con l'elenco
dei File potresti pensare di gestire l'evento del controllo che dispone di
Tale gestione, ma
SUbclassare il CommonDialog senza il suo OCX per realizzare il DRAG è cosa
da ESPERTISSIMI
e bada che non stò esagerando....!
Già credo ti sarà abbastanza complesso comprendere la tecnica del
SubClassing dei controlli
e come intercettarne i MESSAGGI e come dirottare la procedura di Windows
senza CRASHARE
la macchina.....!!
Io prima di imbattermi negli effeti speciali ad alto livello starei con i
piedi in terra a rendere
funzionale quanto stai facendo....!!!
Per esperienza personale questi giochetti sono decisamente pericolosi se
usati in modo non corretto
e ti obbligano a spostare il tuo livello di programmazione dalla GESTIONE
DATI
al CODICE fine a se stesso.
Ciao
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------


linguaggio che ho appreso essere Visual Basic.
Bene, ma allora perchè una cosa così semplice come quella che chiede Magoo 
diventa una cosa da "espertissimi"???
Tanto per chiarire cosa significhi fare la stessa cosa in Delphi, ho messo a 
questo URL
 
http://digilander.libero.it/mauro.falzari/project1.zip
un'applicazione (311 Kb) che fa proprio ciò che chiede Magoo; sono 89 righe 
di codice in tutto, di cui esattamente 37 scritte a mano e il resto in 
maniera automatica dall'ambiente di sviluppo. 
Sì e no 10 minuti di lavoro. Per il drag&drop ho fatto uso di un componente 
(non visuale, in questo caso): è stato sufficiente piazzarlo sulla finestra a 
design-time, et voilà! Ecco qui cosa significa incapsulazione e modularità 
del codice!
Note: 
-accetta il drag&drop a livello di finestra e mostra l'elenco dei file 
rilasciati; 
-con solo qualche riga in più di codice si potrebbe far accettare il rilascio 
di file solo a una certa area o a un certo controllo (es: la listview) o 
accettare solo file aventi una determinata estensione; 
-con altre righe in più di codice si potrebbero visualizzare le icone 
associate a ciascun file e con altre righe in più, si potrebbero visualizzare 
i menu contestuali di Windows di ciascun file o cartella e si potrebbe 
eseguire ciascuno allo stesso modo in cui farebbe Windows.
La fantasia non ha limiti, e programmare in Delphi è divertente!
Ora sono davvero OT. Scusate l'entusiasmo e mi ritiro sui miei NGs. 
P.S.: Alessandro, hai uno stile nell'uso delle maiuscole che fa molto Nuova 
Elettronica :-)
-- 
Mauro Falzari 
   [ 
http://digilander.libero.it/mauro.falzari
 ]
 
 "Se guardi nell'abisso, anche l'abisso guarda in te." 
   (Friedrich Nietzsche)

 Elettronica :-)
Beh devo dire che con "Nuova Elettronica" ho avuto molto a che fare,
così
come con "Commodore Computer Club", e sarà forse per questo....?
P.S. avevo visto il tuo sito ed i tuoi esempi, e ti assicuro che
è da un pò che tento di migrare a linguaggi di programmazione più
a basso livello.... magari prima o poi mi decido.
Si tratta di un salto culturale, quello che riesco a fare con Access
ora, intendo la padronanza del mezzo, mi richiederebbe anni passando
ad altri linguaggi, ma credo sia una cosa obbligata, almeno per me
che preferisco lo sviluppo di oggetti stand alone piuttosco che
di gestione database.
Ciao
Alessandro
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 piedi in terra a rendere funzionale quanto stai facendo....!!!
Credimi, l'applicazione sulla quale sto lavorando è decisamente funzionale. 
Quello che chiedo non è un effetto speciale ad alto livello: semplicemente 
vorrei permettere all'utente di scegliere l'immagine che vuole associare al 
record corrente tramite un drag&drop da desktop, invece di ricorrere al 
solito common control per il browse.
Ciao!
Angelo.- 

 Hai sempre lo stesso problema? Aprire un file basandoti sulla estensione?
No, no. Come dico nell'altro messaggio in risposta ad Alessandro, la mia 
applicazione permette di associare un file immagine ad ogni record.
Ovviamente l'immagine deve 1) poter essere aperta (e questo era l'oggetto 
della mia richiesta di ieri, risolta grazie alla chiamata alla API 
ShellExecute suggerita da voi).
Ma 2) deve essere anche possibile "sceglierla". Adesso apro la classica 
dialog box per fare il browse del file, ma mi sarebbe piaciuto permettere 
all'utente di "trascinare" il file dentro l'applicazione.
Ciao!
Angelo.- 

> La fantasia non ha limiti, e programmare in Delphi è divertente!
Confermo tutto. Ho un collega che usa Delphi per i suoi programmi, e non fa 
che parlarmene in termini entusiastici.
Devo decidermi a fare il salto. Devo :-)
Ciao,
Angelo.- 

 Angelo.-
Ciao.


 come con "Commodore Computer Club", e sarà forse per questo....?
ah già, avevo letto dei tuoi inizi col C64, anzi -prima- col VIC20 (199.000 
lire, lo ricordo pure io!).
E se ti dicessi che da Delphi puoi programmare anche in Assembler? :-)
C'è la direttiva ASM e puoi scrivere direttamente i mnemonici del processore 
da codice.
Tuttavia non serve praticamente mai perchè ciò che scrivi è molto ben 
ottimizzato dal compilatore (sì, si può vedere anche come il compilatore ha 
tradotto in Assembler il programma che hai scritto!). Anzi di dirò che per 
quello che ho visto io, il compilatore traduce in Assembler ottimizzando 
molto meglio di quanto farebbe un umano.
Comunque per uno come me che ha smanettato sullo ZX Spectrum oltre che sul 
VIC20 è una bella chicca!
Tipo questa funzione che verifica se una stringa s è nulla, l'ho scritta 
in Assembler per puro divertimento
function IsEmptyString(const s: string): Boolean;
asm
  TEST  EAX,EAX       //se s = '', EAX vale 0
  JZ    @empty        //la stringa è nulla, salto ogni ulteriore controllo
  CMP   [EAX],0       //se il primo carattere di s è #0, considero la stringa 
                      //come nulla
  JE    @empty
  XOR   EAX,EAX       //pongo il risultato uguale a False
  RET
@empty:
  MOV   AL,True
end;
ma il compilatore tradurrebbe
  if s = '' then
in una sola riga di Assembler! (due, se includiamo il salto).
Ma bando alle ciance, l'Assembler ormai ce lo possiamo dimenticare sotto .NET
Era solo un amarcord, se me lo concedi, ciao!


    (Friedrich Nietzsche)
Ciao Mauro.


 NET) 
Delphi 2005 
With Delphi, C#, Microsoft® .NET Framework and Win32® support for GUI, Web, 
database, modeling, and ALM in one hyperproductive RAD environment, Delphi 
2005 makes Windows development tasks faster, better, and easier. 
http://www.borland.com/delphi
Ciao!!


    [ 
http://digilander.libero.it/mauro.falzari
 ]
Non è Free...!!!
Se non ricordo male la versione di C++Builder (Borland) era free fino ad
un paio di anni fà quando l'ho scaricata...!
Per me che sono solo un appassionato non si pone nemmeno il problema
di acquistarlo.
Sarà per questo che ho scelto Access... ? scrocco quello dell'ufficio...!
Ciao


 diventa una cosa da "espertissimi"???
Visto che mi sento chiamata in causa, mi permetto d'intervenire (per quanto
non mi piacciano questi Th *filosofici*).
Premesso che nel Th cui alludi non ho decantato le "meravigliose
caratteristiche del vecchio Visual Basic" ma ho esposto dati di fatto;
dovrebbe esserti chiaro che Access sia un DB-RAD.
Le motivazioni che spingono molti sviluppatori ad adottare DB-RAD(s) sono le
caratteristiche di sviluppo visuale per maschere e Reports ... più che i
linguaggi integrati.
Se poi:
1) Invece che innestare script programmabili (come in altri prodotti),
Microsoft mette a disposizione Visual Basic: ben venga, no?
2) Attraverso Visual Basic è possibile interagire con l'API del sistema
Operativo ancora meglio, no?
Chi ha provato concretamente lo sviluppo di software gestionale in VC++ (o
altri C languages) e deve tirare alla fine del mese essendo professionista
... sicuramente ha poco da ridire sull'opportunità d'utilizzare DB-RAD(s).
Discorsi simili facevano i Cobolari anni '70 che avevano esordito dieci anni
prima in RPG o assembly.
O i Clipperisti anni '80 che avevano esordito dieci anni prima in ... Cobol!
Mettere in discussione l'opportunità di abbreviare il ciclo di sviluppo nel
nostro settore, significa non avere esperienza nello sviluppo di
applicazioni aziendali: a volte solo l'analisi comporta settimane di lavoro
e ripensamenti ... figurati se rimane il tempo di smazzarsi "programmazione
a basso livello", come dice qualcuno.
Non mi fa perdere sonno l'idea di sprecare codice per implementare un
giochino di Drag-And-Drop (o rinunciare al giochino) ... l'insonnia
inizierebbe a far capolino in altre circostanze: tipo consegnare una *vera*
applicazione con un mese di ritardo rispetto al convenuto.
Se i tempi di sviluppo non fossero fondamentali non esisterebbero prodotti
RAD e svilupperemmo tutti in C o Java.
Anzi, la scelta Java è tipica per quelle (grosse) software houses del
settore AS/400 che riscrivono i vecchi programmi RPG: difficile che prendano
in considerazione Access, Fox Pro, Visual Basic o ... Delphi.
Vogliono procedure veramente multipiattaforma e già predisposte per girare
come applicazioni web: il massimo.
Sto parlando di realtà che NON hanno problemi di soldi e tempo, un pò come
studenti o appassionati non professionisti.
E Delphi?
Mah: ottimo per i giochini da software Freeware (in 5 minuti anche uno
studente può realizzare un suo "FTP" per esempio), ma poco RAD in ambito
gestionale, specialmente sulla reportistica avanzata da quanto vedo.
Chiaramente ognuno la vede a modo suo, ma io non potrei offrire alla
clientela un "Mosaico" e farlo passare per un gestionale.
C'è poi un altro aspetto del prodotto in questione che dovrebbe far
riflettere: l'ultima versione integra un nuovo Editor .NET che da quanto
vedo è più vicino al Microsoft C# che al vecchio Object Pascal.
Caro Mauro, prega che Borland continui a supportare in futuro il Delphi che
conosci e "ami" ... all'atto pratico, tra qualche anno, potresti ritrovarti
a sviluppare (e rifare i vecchi giochini) su un Framework Microsoft.
Saluti.

 Microsoft. 
questo è assolutamente certo, che prima o poi - volenti o nolenti - ci 
faranno migrare tutti su framework .NET 
(tutto rigorosamente come previsto per l'entrata in vigore di NGSCB, alias 
Palladium:
http://www.complessita.it/tcpa
)
Viva la Microsoft.


 Delphi!
Ricordo: si è parlato spesso di Anders Hejlsberg comprato a suon di dollari
da MS; era un personaggio conosciuto già negli anni '80 in ambiente Borland.
Saluti.