Gambas-it
  Blog     Wiki     Download     Il resto del Pinguino  
10 Settembre 2010, 23:57:36 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizie: Nasce Il resto del Pinguino: Scrivi anche tu!
 
   Home   Guida Ricerca Utenti Accedi Registrati  
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: [Risolto] path e shell  (Letto 132 volte)
Cri
Gamberetto
*
Scollegato Scollegato

Messaggi: 43


Mostra profilo
« inserito:: 10 Marzo 2010, 13:46:43 »

Ecco il mio problema 8spero di riuscire a spiegarlo bene):
Ho un gruppo di file ai quali devo accedere. sono in un directory contenute  nella directory in cui ho il progetto.
Tutto bene fino a quando accedo da Gambas, ad esempio
Codice:
FOR EACH File IN Dir("./immagini/img", "*.jpg").Sort()
Fornisce in modo corretto tutti i nome dei file jpg contenuti in Gambas/MioProgetto/immagini/img.
Viceversa, se voglio poi stampare uno di questi file con

Codice:
Miastampa = "./immagini/img/" & nomefile
  SHELL ("lpr " & Miastampa)
Non trova il file (nonostante, ovviamente, ci sia) perché la shell ha, come directory di default, la mia home.
Ho risolto, temporaneamente, il problema specificando il path assoluto (a partire dalla mia home), anziché relativo, in questo modo:
Codice:
Miastampa = "./Gambas/MioProgetto/immagini/img/" & nomefile
  SHELL ("lpr " & Miastampa)
La soluzione,comunque, è temporanea perché un progetto così non è, ovviamente, portabile.
Come si può risolvere definitivamente il problema?
Grazie in anticipo!
« Ultima modifica: 10 Marzo 2010, 17:14:04 da Cri » Registrato
Ceskho
Moderatore
Senatore Gambero
*****
Collegato Collegato

Messaggi: 2.626


Vi Veri Veniversum Vivus Vici


Mostra profilo WWW
« Risposta #1 inserito:: 10 Marzo 2010, 14:32:41 »

Per ovviare al tuo problema puoi interrogare

Application.Path

Che ti restituisce la cartella dove risiede il progetto.

Quindi con

Codice:
Application.Path &/ "immagini/img"

Avrai la cartella che desideri....
Registrato

SITO
Attivista politico sinistroide!
LEGGETE IL REGOLAMENTO E FATE LE RICERCHE
"Io sono ciò che sono per merito di ciò che siamo tutti"...perciò fatti un esame di coscienza chiedendoti perchè sono così!!!
Cri
Gamberetto
*
Scollegato Scollegato

Messaggi: 43


Mostra profilo
« Risposta #2 inserito:: 10 Marzo 2010, 17:09:31 »

 Ghigno Grazie di cuore ! Bacio
provo e metto risolto!
Funziona! Grazie di nuovo!!!
« Ultima modifica: 10 Marzo 2010, 17:14:34 da Cri » Registrato
Ceskho
Moderatore
Senatore Gambero
*****
Collegato Collegato

Messaggi: 2.626


Vi Veri Veniversum Vivus Vici


Mostra profilo WWW
« Risposta #3 inserito:: 10 Marzo 2010, 18:33:07 »

Ghigno Grazie di cuore ! Bacio
provo e metto risolto!
Funziona! Grazie di nuovo!!!

Vallo a dire ad fsurfing.... Ghigno

P.S.

Vi adoro quando mettete [Risolto]
Registrato

SITO
Attivista politico sinistroide!
LEGGETE IL REGOLAMENTO E FATE LE RICERCHE
"Io sono ciò che sono per merito di ciò che siamo tutti"...perciò fatti un esame di coscienza chiedendoti perchè sono così!!!
fsurfing
Moderatore
Senatore Gambero
*****
Scollegato Scollegato

Messaggi: 1.613



Mostra profilo WWW
« Risposta #4 inserito:: 10 Marzo 2010, 18:59:38 »

application.path non è proprio il massimo nel tuo caso, finchè utilizzi il programma tramite ide ti funziona tutto a dovere , i problemi inizieranno quando andrai a realizzare un file eseguibile o un pacchetto precompilato (credo ch eci arriverai visto che parlavi di portabilità).
devi sapere che tutti i file contenuti nella cartella di progetto vengono inglobati nell' eseguibile, questa è una grandissima comodità perchè ci evita di dover fare pacchetti data dei nostri progetti. il tuo programma può comunque accedere direttamente ad esempio ad un file immagine "inglobato" nell' eseguibile,  ma  il comando lpr no, quindi il tuo programma non funzionerà.
nel tuo caso puoi risolvere solamente creando una cartella (solitamente nascosta) nella home dell' utente al primo avvio in cui copi tutti i file che devono poi essere richiamati dall' esterno, tutti i file che il programma deve creare ecc ecc.


ps fsurfing è sempre il migliore!! Linguaccia
Registrato

Cri
Gamberetto
*
Scollegato Scollegato

Messaggi: 43


Mostra profilo
« Risposta #5 inserito:: 10 Marzo 2010, 19:45:27 »

Grazie anche a te!
Infatti parlavo di portabilità proprio perché vorrei il prima possibile dare i miei programmini 'didattici' ai compagni di mia figlia.
È un bel modo per propagandare linux, no?
Avevo notato che i file contenuti nella cartella del progetto vengono in qualche modo inclusi nel pacchetto, e trovo che sia proprio comodo (ricordo vagamente che con il vb non era così, e questo mi ha piacevolmente stupito).
La cartella nascosta di cui parli, deve essere fatta 'a mano' o c'è modo di automatizzare la procedura?
Non c'è qualche altro modo per mandare in stampa un'immagine (che so, caricandola in una PictureBox nascosta e stampando quella)?

P.S. che devo fare... togliere il [risolto]?
Registrato
milio
Maestro Gambero
****
Scollegato Scollegato

Messaggi: 425



Mostra profilo
« Risposta #6 inserito:: 10 Marzo 2010, 19:56:07 »

Codice:
DIM Percorso AS String

  Percorso = User.home &/ ".MiaCartella"
  IF NOT Exist(Percorso) THEN
    MKDIR Percorso
  ENDIF
Registrato
Cri
Gamberetto
*
Scollegato Scollegato

Messaggi: 43


Mostra profilo
« Risposta #7 inserito:: 10 Marzo 2010, 21:00:49 »

Codice:
DIM Percorso AS String

  Percorso = User.home &/ ".MiaCartella"
  IF NOT Exist(Percorso) THEN
    MKDIR Percorso
  ENDIF
? Io devo stampare un file immagine esistente, non crearmi una cartella!
Registrato
milio
Maestro Gambero
****
Scollegato Scollegato

Messaggi: 425



Mostra profilo
« Risposta #8 inserito:: 10 Marzo 2010, 21:06:21 »

Citazione
La cartella nascosta di cui parli, deve essere fatta 'a mano' o c'è modo di automatizzare la procedura?

Forse avevo capito male?
Registrato
Ceskho
Moderatore
Senatore Gambero
*****
Collegato Collegato

Messaggi: 2.626


Vi Veri Veniversum Vivus Vici


Mostra profilo WWW
« Risposta #9 inserito:: 11 Marzo 2010, 00:35:42 »

state accavallando risposte su richieste.....

Dunque....quello che fsurfing dice è giusto e mi scuso per non averlo evidenziato ma non mi era passato per la mente in quel momento. L'importante è che sia stato fatto.

Il codice postato da milio serve a creare la cartella nascosta che può servire a cri.

Per ovviare al tuo problema puoi copiare l'immagine momentaneamente in home, stamparla ed eliminare la copia. La funzione di copia non ha limiti in ambito di cartelle di filesystem
Registrato

SITO
Attivista politico sinistroide!
LEGGETE IL REGOLAMENTO E FATE LE RICERCHE
"Io sono ciò che sono per merito di ciò che siamo tutti"...perciò fatti un esame di coscienza chiedendoti perchè sono così!!!
Cri
Gamberetto
*
Scollegato Scollegato

Messaggi: 43


Mostra profilo
« Risposta #10 inserito:: 11 Marzo 2010, 05:39:18 »

Giusto, grazie!
Questo mi pare risolva definitivamnete il problema!
Provo in giornata e poi faccio sapere.
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC XHTML 1.0 valido! CSS valido!
Se vuoi sostenere Gambas-it.org puoi fare una piccola donazione utilizzando PayPal: