Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: Mefrio - 01 Settembre 2010, 09:30:52

Titolo: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: Mefrio - 01 Settembre 2010, 09:30:52
Ragazzi vorrei copiare un file dalla cartella Dati del mio programma ad una cartella del file system...esiste un comando di Gambas che lo permetta?

Ho già cercato ma non ho trovato niente :)
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: leo72 - 01 Settembre 2010, 12:10:19
Esiste il comando COPY ma se la cartella di destinazione necessita di permessi particolari, COPY non funziona visto che opera con i permessi utente.
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: md9327 - 01 Settembre 2010, 12:10:35
"COPY source TO destination" non l'hai trovato?
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: Mefrio - 01 Settembre 2010, 12:51:10
COPY TO come funziona? Mi servirebbero i permessi di root!

Se faccio così

COPY file TO /destinazione

mi da errore....
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: md9327 - 01 Settembre 2010, 13:56:21
Come accennato da Leo, la copia dipende dai permessi, indipendentemente da qualsiasi linguaggio e/o comando da shell.
Ovvio che se tenti di scrivere nella root "/", questo non puoi farlo come utente normale, e poi di norma "nun se fà"...  :nono:
Per le operazioni di copia devi tenere conto dei permessi, non solo dall'applicazione, anche da chi la usa.
Un esempio è quello delle applicazioni web, che girano di norma con l'utente "apache", per cui bisgna tener conto che le operazioni sul file system, indipedentemente dall'applicazione che si stàò usando, l'utente che opera sul sistema è sempre il proprietario del servizio, ovvero apache.
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: Mefrio - 01 Settembre 2010, 14:32:45
Non ho intenzioni malvagie :) come mi consigli allora di fare? Da shell non so come fare....
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: md9327 - 01 Settembre 2010, 14:47:49
A questo punto non ti capisco più...  :o

Le risposte credo parlino da sole. Se stai costruendo una tua applicazione, prova a farci capire le tue intenzioni, ovvero cosa vuoi ottenere, magari riusciamo ad aiutarti a trovare qualche soluzione.
E' ovvio che tentare di aprire la porta, senza avere la chiave, mi pare alquanto complicata. Se vuoi per forza scrivere dove non puoi assolutamente, noi restiamo qui a guardare lo spettacolo..  ;D

Scherzi a parte, prova a spiegarci cosa intendi fare.
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: Mefrio - 01 Settembre 2010, 17:32:47
Te l'ho detto, copiare un file che sta nella cartella Dati del programma in un percorse del filesystem per il quale servono i necessari permessi....
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: leo72 - 01 Settembre 2010, 22:25:41
Il comando COPY allora non credo faccia al caso tuo perché dovresti lanciare l'interprete Gambas con i permessi di root (sconsigliato!) per poter scrivere con le funzioni interne del compilatore su una cartella dove un utente normale non può accedere.

Dovresti appoggiarti ad un programma esterno (anche uno script bash) lanciato da terminale ma in cui chiedi la password per compiere le operazioni di root (sconsigliato!).

Mi aggiungo a md****: ma che deve fare questo programma, per dover scrivere in cartelle proibite?
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: fsurfing - 01 Settembre 2010, 22:59:04
e poi dicono che la curiosità è donna!....  :o
cmq mi associo a leo che si associa a md.... che dovrà mai fare sto programma?
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: Mefrio - 01 Settembre 2010, 23:09:22
Deve modificare dei parametri tranquilli  :) mi serve solo per facilitare degli stupidi lavori ad amici più ignoranti di me :)

comunque ho risolto per vie "trasverse"! Ora creando il pacchetto .deb ho riscontrato un problema...credevo che l'IDE mi creasse un vero e proprio .deb invece mi ha solo creato 3 file

1)Contiene i sorgenti
2)è un archivio gz contenente un file.dif
3)è un file .dsc

ora mi chiedo come sia possibile creare un deb vero e proprio!

Speriamo che sappiate illuminarmi :D
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: Ceskho - 02 Settembre 2010, 00:44:40
Deve modificare dei parametri tranquilli  :) mi serve solo per facilitare degli stupidi lavori ad amici più ignoranti di me :)

comunque ho risolto per vie "trasverse"!

Sarebbe buona prassi dire come è stato ricolto il problema visto l'interesse di diversi utenti e di altrettanti potenziali interessati...

Citazione
Ora creando il pacchetto .deb ho riscontrato un problema...credevo che l'IDE mi creasse un vero e proprio .deb invece mi ha solo creato 3 file

1)Contiene i sorgenti
2)è un archivio gz contenente un file.dif
3)è un file .dsc

ora mi chiedo come sia possibile creare un deb vero e proprio!

Speriamo che sappiate illuminarmi :D

Apri un altro topi. Qui ci sarebbe solo perdita di informazioni e il topic perderebbe il suo senso...
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: Mefrio - 02 Settembre 2010, 10:44:20
ho risolto con un comando della shell

Codice: [Seleziona]
SHELL "sudo sed -i 'RIGA DA MODIFICARE' FILE IN CUI RISIEDE LA RIGA DA MODIFICARE && echo RIGA MODIFICATA | sudo tee -a FILE DA MODIFICARE"
io dovevo cambiare solo dei parametri a dei file e così ho risolto....io praticamente volevo copiare tutto il file modificato anzicchè modificare solo il parametro
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: Ceskho - 02 Settembre 2010, 19:11:24
ho risolto con un comando della shell

Codice: [Seleziona]
SHELL "sudo sed -i 'RIGA DA MODIFICARE' FILE IN CUI RISIEDE LA RIGA DA MODIFICARE && echo RIGA MODIFICATA | sudo tee -a FILE DA MODIFICARE"
io dovevo cambiare solo dei parametri a dei file e così ho risolto....io praticamente volevo copiare tutto il file modificato anzicchè modificare solo il parametro

Tieni presente che con sudo il tuo programma funzionerebbe solo su Ubuntu e derivate. Spero tu lo sappia....
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: Mefrio - 02 Settembre 2010, 21:54:29
Certo che lo so, a me serve solo su Ubuntu e derivate!
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: Ceskho - 02 Settembre 2010, 23:51:01
Certo che lo so, a me serve solo su Ubuntu e derivate!

Ok ok..... ;)
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: md9327 - 03 Settembre 2010, 12:33:41
Il programmino "sudo" non esiste solo su ubuntu...
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: Ceskho - 04 Settembre 2010, 00:53:16
Il programmino "sudo" non esiste solo su ubuntu...

No, ma non è carino dover dire alla gente di altre distro di installare sudo....infondo è ubuntu che si comporta diversamente dalle altre e ciò provocherebbe una windowsizzazione della questione....
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: md9327 - 06 Settembre 2010, 15:54:07
Bè, in fondo, ma proprio in fondo... sei intellighiotto...  :P

Sì, in effetti Ubuntu a me personalmente piace poco perchè troppo tendente al windowsivismo... (che parolone, ma dove m'è uscito???)

E' anche vero però, che la maggioranza di quelli che conosco lo usano, ma solo perchè, appunto, apparentemente più semplice...
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: Mefrio - 06 Settembre 2010, 18:04:41
non dire apparentemente, è più semplice! Ho provato varie distro, mi sono soffermato su Sabayon e Arch e devo dire che sono 10 volte più difficili per utente medio
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: md9327 - 06 Settembre 2010, 21:21:16
Per apparentemente intendo che, per le funzioni più comuni, o normali, Ubuntu offre una straordinaria somiglianza a windoz.
Se provi ad usare la versione server, o anche a spinderti un pò più in là con la desktop, ti accorgi che ubuntu è Linux a tutti gli effetti.
COn questo voglio complimentarmi con l'intenzione di ubuntu, di portare il più possibile Linux in tutte le case, cercando in qualche modo di essere un'alternativa a windoz, ma questo, perlomeno per chi conosce un pò linux credo possa fuorviare.

Ad ogni modo...viva Linux!!!
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: Mefrio - 06 Settembre 2010, 23:01:02
se sei un più esperto linuxianamente parlando fai diventare anche Ubuntu difficile ;)
Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: md9327 - 07 Settembre 2010, 10:45:12
Ma nooo...

Pensa che sul mio eeepc ci ho messo ora Ubuntu netbook, che gira che è un'amore, e assomiglia vagamente ad iphone...  :rolleyes:

Potevo impiantarci sopra un Fedora o altro, ma dato che non volevo perderci tempo, doveva funzionare subito, e ubuntu ha riconosciuto tutto di botto, ho scelto proprio questa distro...

Il mio era solo un appunto, in modo che sia chiaro che ubuntu è comunque un so linux, e il lavoro fatto dal gruppo ha fatto in modo di rendere la distro usabile anche da chi manco sà che vuol dire sistema operativo... Un lavoro apprezzabile, e la sua diffusione lo evidenzia!
Solo che, da smanettone, preferisco avere il maggior controllo possibile sul mio sistema, e ubuntu mi metterebbe i bastoni fra le ruote, con le sue facilities.

...tutto qui...

Titolo: Re: Copiare/Spostare file contenuti nelle cartelle del programma
Inserito da: leo72 - 07 Settembre 2010, 17:05:06
Sabayon e Arch... argh...
Io uso Arch ma è una distro da utenti esperti. Se è la prima volta che provi Linux, il mio consiglio è di NON usare Arch: devai fare (nel buon spirito Linux) tutto a mano, non hai strumenti come in Ubuntu.

Sabayon è a metà strada. E' basato su Gentoo, quindi è sulla falsariga di Arch (una distro rolling-release) ma offre un po' di aiuto: l'importante è non cercare di fare "cose particolari" perché allora devi rimetter mano al terminale.

Che, poi, comunque, è ciò  (il terminale) che ti insegna a capire come funziona il S.O.