Autore Topic: [RISOLTO] Gestione file: problemi in accesso scrittura in Linux  (Letto 997 volte)

Offline filipsnew

  • Gamberetto
  • *
  • Post: 28
    • Mostra profilo
Buonasera a tutti, sono un nuovo utente. Mi sono iscritto perché da poco ho scaricato Gambas su Xubuntu per adattare un programma scritto in VB in ambiente Windows. L'interfaccia (di Gambas) è gradevole, inoltre la documentazione e il supporto sembrano buoni, per questo l'ho preferito a Monodeveloper (che peraltro vincola al modello GTk per la creazione delle GUI, davvero un po' contorto..). Comunque sia, sto intervenendo nel forum perché (tanto per cambiare) ho un problema. In ambiente Linux (sto facendo un po' di test per adattarmi a Gambas, le piccole differenze di questo dialetto ecc..) succede in fase di compilazione che venga segnalato un errore al comando di accesso in scrittura a un file di testo di prova. Ho provato a cambiare i permessi al file da Lettura a Lettura/Scrittura ma niente.. Qualcuno ha avuto un'esperienza analoga e può gentilmente darmi un buon consiglio?

Ecco l'output dell'interprete
« Ultima modifica: 08 Aprile 2015, 08:35:40 da filipsnew »
Sub <homofaberfortunaesuae> End

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.703
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re: Gestione file: problemi in accesso scrittura in Linux
« Risposta #1 il: 30 Marzo 2015, 07:25:14 »
 :ciao:
Benvenuto, ho guardato al volo e ho visto che c'è un errore nel nome file hFile è diventato hfile.
Non credo però che il problema sia solo questo.
« Ultima modifica: 30 Marzo 2015, 07:39:15 da kicco »
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline filipsnew

  • Gamberetto
  • *
  • Post: 28
    • Mostra profilo
Re: Gestione file: problemi in accesso scrittura in Linux
« Risposta #2 il: 30 Marzo 2015, 08:57:00 »
Ciao, infatti la riga problematica precede hfile. Mi sto scervellando ma proprio non riesco a venirne a capo..
vorrei anche precisare che lo stesso scherzo mi capita anche con Mono in Ubuntu
Sub <homofaberfortunaesuae> End

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.703
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Gestione file: problemi in accesso scrittura in Linux
« Risposta #4 il: 30 Marzo 2015, 12:18:29 »
hFile = Open User.Home &/ "test.txt" For Output

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.334
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Gestione file: problemi in accesso scrittura in Linux
« Risposta #5 il: 30 Marzo 2015, 20:32:30 »
Una domanda: perché per la gestione del file hai preferito utilizzare la variabile di tipo Stream anziché quella di tipo File ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline filipsnew

  • Gamberetto
  • *
  • Post: 28
    • Mostra profilo
Re: Gestione file: problemi in accesso scrittura in Linux
« Risposta #6 il: 30 Marzo 2015, 21:22:35 »
cari kikko e milio, grazie per i suggerimenti. Ho seguito il link di kikko e ho trovato una documentazione che sembra davvero ottima. Strano però, perché su 100 ricerche Google non mi era saltato fuori niente rispetto a quella pagina..
Ho risolto :)
ho guardato l'esempio http://www.gambas-it.org/wiki/index.php?title=Scrivere_all%27interno_di_un_file_di_testo, ho pensato un po' al fatto che il path fosse relativo a tmp, così ho provato a mettere il file lì, e tutto è filato liscio. Grazie!

Però mi piacerebbe capire come mai inserendo il file test nella cartella della soluzione Gambas (nell tree del progetto, test figura nella cartella Dati), si verifica quel problema di Access Forbidden in Main.
Sub <homofaberfortunaesuae> End

Offline filipsnew

  • Gamberetto
  • *
  • Post: 28
    • Mostra profilo
Re: Gestione file: problemi in accesso scrittura in Linux
« Risposta #7 il: 30 Marzo 2015, 21:24:41 »
Una domanda: perché per la gestione del file hai preferito utilizzare la variabile di tipo Stream anziché quella di tipo File ?

era solo per fare alcune prove; comunque il problema lo dava anche usando il tipo File.
Sub <homofaberfortunaesuae> End

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.159
  • Tonno verde
    • Mostra profilo
Re: Gestione file: problemi in accesso scrittura in Linux
« Risposta #8 il: 30 Marzo 2015, 21:36:10 »

Però mi piacerebbe capire come mai inserendo il file test nella cartella della soluzione Gambas (nell tree del progetto, test figura nella cartella Dati), si verifica quel problema di Access Forbidden in Main.

Il perché te lo ha spiegato milio se non dai il Path completo, in questo caso Application.Path, come fa a trovare il file?

 :ciao:

P.S. Qualcosa tipo: User.Home &/ Application.Name  ;D
« Ultima modifica: 30 Marzo 2015, 21:39:31 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline filipsnew

  • Gamberetto
  • *
  • Post: 28
    • Mostra profilo
Re: Gestione file: problemi in accesso scrittura in Linux
« Risposta #9 il: 30 Marzo 2015, 21:48:51 »

Però mi piacerebbe capire come mai inserendo il file test nella cartella della soluzione Gambas (nell tree del progetto, test figura nella cartella Dati), si verifica quel problema di Access Forbidden in Main.

Il perché te lo ha spiegato milio se non dai il Path completo, in questo caso Application.Path, come fa a trovare il file?

 :ciao:

P.S. Qualcosa tipo: User.Home &/ Application.Name  ;D

Perfetto! ecco perché anche provando il suggerimento di milio non mi funzionava: non era in effetti sotto home (ma milio mica poteva prevederlo a meno di essere chiaroveggente ;))

Edit

Scusa se rompo ancora un po' le scatole :) ma mi è venuto in mente perché avevo usato quel percorso: era in base a questo tip del giorno di Gambas (v. allegato)

Come si vede, sembra che si debba usare il percorso relativo per accedere a un file nel progetto, e del resto, se guardate il codice del mio primo post, vedete che l'apertura in input funziona (e il path è identico..); inoltre, il msg di errore indica Access Forbidden, non File Does Not Exist. Dovreste allora cortesemente spiegarmi come mai dà questo problema con un file che mi sembra essere all'interno del progetto (nella 'cartella' dati del tree di progetto). Aggiungo che ho provato con "~/test.txt" e il debug non dà interruzione, solo che incomprensibilmente il file nel progetto non risulta modificato dalla successiva operazione di scrittura.  Qualche idea...?  ???

Edit 2

Sì.. funziona solo con il Path assoluto.. continuo cmq a non capire: devo evincere che test.txt in Dati del tree non sia un file di progetto? Con file di progetto si intende forse dire i file generati in fase di creazione progetto?
« Ultima modifica: 31 Marzo 2015, 08:55:11 da filipsnew »
Sub <homofaberfortunaesuae> End

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.334
  • Ne mors quidem nos iunget
    • Mostra profilo
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline filipsnew

  • Gamberetto
  • *
  • Post: 28
    • Mostra profilo
Re: Gestione file: problemi in accesso scrittura in Linux
« Risposta #11 il: 01 Aprile 2015, 23:25:05 »
Ad ogni modo, in via generale sull'argomento dei percorsi, segnalo anche queste tre discussioni:

http://www.gambas-it.org/smf/index.php?topic=2745.0
http://www.gambas-it.org/smf/index.php?topic=457.msg26627#msg26627
http://www.gambas-it.org/smf/index.php?topic=3310.0

ok, grazie, direi che adesso è tutto chiaro (particolarmente illuminante il secondo link).
Sub <homofaberfortunaesuae> End