Newsgroup: it.comp.lang.delphi
Titolo: Formato file

Ciao a tutti,
  ho un problema con il riconoscimento dei file.
 
Ho una form dove in un bel pannello devo mostrare, dipendentemente dal tipo 
di file, un memo, una griglia excel o un pdf.
Questo perche', grazie a tutti quelli che interpretano gli avvisi in modo 
univoco (inviare la richiesta in formato testo), mi trovo a
lavorare con questi tre tipi di file (onestamente c'e' chi mi manda anche le 
richieste in word o openoffice ma sono casi limite e poco tratati).
 
Il file lo apro con un banale dialog fornita con delphi, ma una volta 
selezionato il file  come posso capire che e' un file di testo,
excel (nelle varie versioni) o un pdf ??
E' abbastanza (maccheronico) sicuro fidarsi delle estensioni del file ??.
 
Scusate la banalita' della domanda !!!
 
Grazie a tutti
 
Ciao
 
Daniele
 
 

> E' abbastanza (maccheronico) sicuro fidarsi delle estensioni del file ??.
 
 
Io piu' che maccheronico, questa logica la definirei cinofallica.. va be..
In teoria hai ragione, ama all'atto pratico, visto che ANCHE IL SISTEMA OPERATIVO fa lo stesso, delegando poi alle varie app una verifica approfondita del formato di file, non credo ci siano alternative.
 
A.

 approfondita del formato di file, non credo ci siano alternative.
 
Ho adottato una soluzione ancor piu' artigianale e poco ortodossa !!!!!
Considerato che ho 2 componenti particolari, ovvero una griglia excel nativa 
(flexcel) e un visualizzatore di pdf (gnostice) mi sono arrangiato con una 
serie di tentativi.
Il primo e' tentare di caricare la griglia, se da errore non e' della 
famiglia excel (xls, xlsx, xlsm ecc..) quindi tento di caricare il file nel 
visualizzatore di pdf.
Se da erorre anche qui, non e' un pdf e quindi lo carico nel memo.
Unico neo e' che se' un file tipo word, vengono caricate le spurie (i primi 
caratteri), ma e' accettabile ..... sta poi all'operatore (indovina chi 
e'!!) arrangiarsi !
 
Grazie ancora
 
Ciao
 
Daniele
 

 serie di tentativi.
 
..ma xche ti complichi la vita cosi' e non fai semplicemente una shellexecute cosi ci pensa il sistema operativo?
 
 
A.

shellexecute cosi ci pensa il sistema operativo?
La situazione e' questa, tramite email ricevo un file (che in teoria 
dovrebbe essere di testo ... ma in realta' mandano quello che vogliono)
in cui ci sono delle richieste da valutare e a mia volta devo inoltrare 
queste richieste ai miei fornitori.
A questo proposito in una form ho inserito due controlli uno con la 
richiesta originale del cliente, e nell'altro la mia eseguita al mio 
fornitore sugli articoli
che si possono lavorare.
Credo, non sono sicuro, che usando la shellexecute si apra l'applicativo 
assegnato all'estensione e non so come "intrappolare" (per esempio edobe 
reader)
in una regione particolare dello schermo (per esempio nell'area del 
pannello).
 
Grazie per l'interesse.
 
ciao
 
Daniele 
 

 [...]
 
Se non ricordo male, i formati di file che hai citato sono abbastanza riconoscibili sin dai primi byte, quindi potresti esplorare quelli per determinare di quale tipo di file si tratta, e poi scegliere il visualizzatore appropriato senza andare per tentativi (che magari potrebbe portarti a riuscire ad aprire un file correttamente visualizzando però delle schifezze, o che nel migliore dei casi comunque rallenta tutta l'operazione).
 
Aiutati con un editor esadecimale, tipo *HxD* (
http://mh-nexus.de/en/hxd/
), per campionare i primi byte dei file.
 
Ciao,
  Marco.
 
-- 
MARCO BREVEGLIERI (Software and Web Developer)
 #Home: 
http://www.marco.breveglieri.name
 
 #Blog: 
http://www.compilaquindiva.com
 
 #DelphiPodcast: 
http://www.delphipodcast.com