Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: doublemm - 26 Maggio 2010, 22:47:53

Titolo: [RISOLTO]cambiare estensione a un file
Inserito da: doublemm - 26 Maggio 2010, 22:47:53
cio a tutti.Come si fa a cambiare l'estensione di un file?
Titolo: Re: cambiare estensione a un file
Inserito da: fsurfing - 26 Maggio 2010, 22:52:00
con l' istruzione MOVE il cui prototipo è:
MOVE sOldName AS String TO sNewName AS String
Titolo: Re: cambiare estensione a un file
Inserito da: Ceskho - 26 Maggio 2010, 23:01:43
Comunque tieni presente che cambiare l'estensione non vuol dire cambiare formato.....sia chiaro....

Questa domanda mi da un senso si dejavu...
Titolo: Re: cambiare estensione a un file
Inserito da: fsurfing - 26 Maggio 2010, 23:05:50
puoi anche cambiare un foto da .JPG a .jpg senza cambiare formato ,(alcuni programmi vedono solo una delle due  :o)  :P
Titolo: Re: cambiare estensione a un file
Inserito da: doublemm - 26 Maggio 2010, 23:24:07
a me serve per non elaborare 2 volte un file.Mi spiego:
ho un programma che esporta dei dati in exel
salvo il file in cvs
apro il cvs con gambas isolo i dati che mi servono e li accodo ad una tabella in un database sqlite
cambio estensione al file così quando vado ad eseguire di nuovo l'operazione sui file elaboro solo quelli .cvs e non i .old
Titolo: Re: cambiare estensione a un file
Inserito da: Ceskho - 27 Maggio 2010, 14:49:09
a me serve per non elaborare 2 volte un file.Mi spiego:
ho un programma che esporta dei dati in exel
salvo il file in cvs
apro il cvs con gambas isolo i dati che mi servono e li accodo ad una tabella in un database sqlite
cambio estensione al file così quando vado ad eseguire di nuovo l'operazione sui file elaboro solo quelli .cvs e non i .old

Ma senza cambiare formato puoi semplicemente aggiungere un suffisso al nome del file elaborato tipo OLD giustamente e poi controllare i primi tre caratteri dei file...se sono uguali a OLD eviti di ritrattarli altrimenti lo analizzi...
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: doublemm - 27 Maggio 2010, 15:54:34
si infatti dopo li è una questione di scelta potrei anche cancellarli i file tanto ne ho già un altra copia nel pc al lavoro.
Adesso ho un altro problema con il quale perderò un sacco di tempo se non c'è una soluzione migliore che non conosco. E' da un anno che gestisco la stampante fiscale via software e il programma ogni giorno mi genera il file excel con tutte le statistiche della giornata.
Mi trovo con 365 file excel e l'unico modo che conosco per convertirli è farlo ad uno ad uno aprendolo con office oppure openoffice e salvarlo in cvs. Conosci per caso una procedura per farli tutti assieme?
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: Ceskho - 28 Maggio 2010, 00:32:37
si infatti dopo li è una questione di scelta potrei anche cancellarli i file tanto ne ho già un altra copia nel pc al lavoro.
Adesso ho un altro problema con il quale perderò un sacco di tempo se non c'è una soluzione migliore che non conosco. E' da un anno che gestisco la stampante fiscale via software e il programma ogni giorno mi genera il file excel con tutte le statistiche della giornata.
Mi trovo con 365 file excel e l'unico modo che conosco per convertirli è farlo ad uno ad uno aprendolo con office oppure openoffice e salvarlo in cvs. Conosci per caso una procedura per farli tutti assieme?

Non saprei....dovresti vedere se esiste un software che lo fa da riga di comando e devi darli in pasto tutti i file..
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: leo72 - 30 Maggio 2010, 11:28:36
Hai provato a fare un piccolo script bash con quel programmino che ti ho segnalato nell'altro post?
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: doublemm - 31 Maggio 2010, 17:09:37
vorrei tanto provare anche se non so come si fa ma non riesco a installare il programma. Dal software center installa ma poi non lo trovo. Ho provato a scaricarlo e a installarlo dal terminale ma mi da errore 1 quando faccio il make.
Mi dice che manca ./depcomp

Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: leo72 - 31 Maggio 2010, 22:11:42
Se hai provato a compilarlo a mano allora non hai risolto tutte le sue dipendenze. Ed il messaggio citato ne è una prova.
Prova a leggere la documentazione allegata ai sorgenti: riporta sempre cosa serve per compilare un programma.
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: doublemm - 03 Giugno 2010, 16:59:44
mi da questo errore :

matteo@matteo-laptop:~/Scaricati/xlhtml-0.5$ make
make  all-recursive
make[1]: ingresso nella directory «/home/matteo/Scaricati/xlhtml-0.5»
Making all in cole
make[2]: ingresso nella directory «/home/matteo/Scaricati/xlhtml-0.5/cole»
cd .. && automake-1.11 --gnu cole/Makefile
cole/Makefile.am: required file `./depcomp' not found
cole/Makefile.am:   `automake --add-missing' can install `depcomp'
make[2]: *** [Makefile.in] Errore 1
make[2]: uscita dalla directory «/home/matteo/Scaricati/xlhtml-0.5/cole»
make[1]: *** [all-recursive] Errore 1
make[1]: uscita dalla directory «/home/matteo/Scaricati/xlhtml-0.5»
make: *** [all] Errore 2

non so cosa fare
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: leo72 - 03 Giugno 2010, 18:34:06
Ti sta dicendo che gli manca un programma:
Codice: [Seleziona]
cole/Makefile.am: required file `./depcomp' not found

Hai installato tutte le dipendenze necessarie a compilare i pacchetti?
Che sistema usi?
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: doublemm - 03 Giugno 2010, 19:41:30
uso ubunto 10 non è molto che ho abbandonato windows quindi non sono molto esperto ho visto che mi chiedeva depcomp ho provato ad installare l'ultima ver do automake ma nulla
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: ealmuno - 03 Giugno 2010, 20:03:52
prova installando:
Codice: [Seleziona]
build-essential subversion libtool autoconf
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: doublemm - 03 Giugno 2010, 20:30:03
ho provato a copiarlo dal terminale ma dice:
build-essential: command not found
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: Ceskho - 04 Giugno 2010, 00:29:11
Infatti il comando esteso è:

Codice: [Seleziona]
sudo apt-get install build-essential subversion libtool autoconf

o

Codice: [Seleziona]
sudo aptitude install build-essential subversion libtool autoconf
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: doublemm - 05 Giugno 2010, 13:48:08
Hai provato a fare un piccolo script bash con quel programmino che ti ho segnalato nell'altro post?

sono riuscito ad installare e a convertire con uno script sia in csv che in html. Il risultato migliore sarebbe in html perchè trovo la tabella identica a quella in xls. Fino ad ora ho sempre accodato i dati in un db sqlite tramite cvs usando la funzione split e togliendo caratteri particolari all'occorenza. Secondo voi è la strada migliore o avendo un file perfetto in html c'è un modo migliore per fare la conversione

Visto e considerato che ho perso 10 giorni per installare e capire come funziona il programma, vi posto due righe su come eseguire un piccolo ciclo per convertire più file contemporaneamente:

installare xlhtml (io ho avuto un po di problemi risolti con l'installazione aggiornata di automake e di autoconf) poi nel terminale ho eseguito questo script:
Codice: [Seleziona]
for file in $(ls /tuadir);
do xlhtml -csv -xp:0-100 $file > $(basename $file .xls).csv;
done

xp:0-n è il numero di righe

per convertire in html:
Codice: [Seleziona]
for file in $(ls /tuadir); 
do xlhtml $file > $(basename $file .xls).html;
done
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: Ceskho - 05 Giugno 2010, 15:05:00
La strada migliore è quella che tu reputi migliore....vuoi perchè è più semplice, vuoi perchè è più leggera, solo tu puoi decidere quale sia la migliore... ;)

Se poi vuoi sapere qual'è la migliore per quanto riguarda uso di memoria o richiesta di cicli allora il discorso è diverso....
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: doublemm - 05 Giugno 2010, 15:11:57
il problema è che non ho la minima idea di come leggere i dati da un file html quindi non so se sia più semplice convertire da html o csv, mi piacerebbe conoscere tutte e due le strade
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: Ceskho - 05 Giugno 2010, 15:14:17
Posso darti una dritta....immagina che il file HTML sia come un semplice file di testo (infondo è un file di testo) e che devi leggere al suo interno solo i file che ti interessano. Apri il file HTML, guarda come è strutturato, aprilo con gambas mediantre codice e depuralo da tutte le cose che non servono. Ti rimarrà solo la roba utile che potrai leggere in maniera molto più comoda.
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: doublemm - 05 Giugno 2010, 15:24:37
lo apro nella stessa maniera che apro il csv?
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: Ceskho - 05 Giugno 2010, 15:29:38
lo apro nella stessa maniera che apro il csv?
Non so il CVS come lo apri....il file html puopi parirlo come un normale di testo:

Codice: [Seleziona]
testo AS String

testo = File.Load(path_file)

ora in testo hai tutto il tuo file html con relativi tag e robaccia varia....ora sta a te ripulirlo per farti rimanere solo ciò che ti serve.
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: doublemm - 05 Giugno 2010, 18:07:14
sto provando per vedere la differenza tra html e csv ma non capisco perchè se carico il file in una textbox lo vedo mentre se lo carico in una textarea la textarea rimane vuota
Titolo: Re: [RISOLTO]cambiare estensione a un file
Inserito da: Gaspare - 10 Giugno 2010, 18:20:42
volendo fare un semplice programmino per cambiare estenzione a tutti i file presenti in una directory con un solo click ho trovato più semplice inviare da shell il comando CHCASE... esso può sovrascrivere o meno i file "old" (ricetta 5.5.2 di linux guida pratica  :D )

per convertire ad esempio tutti i file della dir corrente da htm ad html senza sovrascriverli:
Codice: [Seleziona]
chcase -x 's/htm/html/' '*.htm'


mentre per sovrascriverli:
Codice: [Seleziona]
chcase -o -x 's/htm/html/' '*.htm'