Autore Topic: [Risolto] path e shell  (Letto 986 volte)

Offline Cri

  • Gamberetto
  • *
  • Post: 43
    • Mostra profilo
[Risolto] path e shell
« il: 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: [Seleziona]
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: [Seleziona]
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: [Seleziona]
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 »

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: path e shell
« Risposta #1 il: 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: [Seleziona]
Application.Path &/ "immagini/img"

Avrai la cartella che desideri....

Offline Cri

  • Gamberetto
  • *
  • Post: 43
    • Mostra profilo
Re: path e shell
« Risposta #2 il: 10 Marzo 2010, 17:09:31 »
 ;D Grazie di cuore ! :-*
provo e metto risolto!
Funziona! Grazie di nuovo!!!
« Ultima modifica: 10 Marzo 2010, 17:14:34 da Cri »

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: path e shell
« Risposta #3 il: 10 Marzo 2010, 18:33:07 »
;D Grazie di cuore ! :-*
provo e metto risolto!
Funziona! Grazie di nuovo!!!

Vallo a dire ad fsurfing.... ;D

P.S.

Vi adoro quando mettete [Risolto]

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: [Risolto] path e shell
« Risposta #4 il: 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!! :P

Offline Cri

  • Gamberetto
  • *
  • Post: 43
    • Mostra profilo
Re: [Risolto] path e shell
« Risposta #5 il: 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]?

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.272
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: [Risolto] path e shell
« Risposta #6 il: 10 Marzo 2010, 19:56:07 »
Codice: [Seleziona]
DIM Percorso AS String

  Percorso = User.home &/ ".MiaCartella"
  IF NOT Exist(Percorso) THEN
    MKDIR Percorso
  ENDIF

Offline Cri

  • Gamberetto
  • *
  • Post: 43
    • Mostra profilo
Re: [Risolto] path e shell
« Risposta #7 il: 10 Marzo 2010, 21:00:49 »
Codice: [Seleziona]
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!

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.272
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: [Risolto] path e shell
« Risposta #8 il: 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?

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: [Risolto] path e shell
« Risposta #9 il: 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

Offline Cri

  • Gamberetto
  • *
  • Post: 43
    • Mostra profilo
Re: [Risolto] path e shell
« Risposta #10 il: 11 Marzo 2010, 05:39:18 »
Giusto, grazie!
Questo mi pare risolva definitivamnete il problema!
Provo in giornata e poi faccio sapere.