Differenze tra le versioni di "Copiare in una cartella un programma.gambas contenuto in un altro programma.gambas"

Da Gambas-it.org - Wikipedia.
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
Riga 3: Riga 3:
 
Il programma.gambas dovrà essere posto nella cartella "''Progetto''" presente nella ''TreeView'' dell'Ide dove sono elencate Cartelle e sorgenti del programma.
 
Il programma.gambas dovrà essere posto nella cartella "''Progetto''" presente nella ''TreeView'' dell'Ide dove sono elencate Cartelle e sorgenti del programma.
  
Il problema che si pone è quello che, una volta copiato, il programma.gambas perde il permesso per essere eseguito come programma. Per far riacquistare tale permesso al programma.gambas copiato, bisognerà lanciare la funzione ''Chmod'' accompagnata dalla modalità ''rwxr-x---'', capace di riattribuire quel permesso al programma.
+
Il problema che si pone è quello che, una volta copiato, il programma.gambas perde il permesso per essere ''eseguito'' come programma. Per far riacquistare tale permesso al programma.gambas copiato, bisognerà lanciare la funzione ''Chmod'' accompagnata dalla modalità ''rwxr-x---'', capace di riattribuire quel permesso al programma.
  
 
Esempio:
 
Esempio:
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   
   With Application
+
   Copy Application.Path &/ "nome_programma.gambas" To "/tmp/nome_programma.gambas"
    Copy .Dir &/ .Name & "/.hidden/nome_programma.gambas" To "/tmp/nome_programma.gambas"
 
  End With
 
 
   
 
   
 
   <FONT color=#B22222>Chmod</font> "/tmp/nome_programma.gambas" <FONT color=#B22222>To</font> "<FONT color=#B22222>rwxr-x---</font>"
 
   <FONT color=#B22222>Chmod</font> "/tmp/nome_programma.gambas" <FONT color=#B22222>To</font> "<FONT color=#B22222>rwxr-x---</font>"
 +
 +
'''End'''
 +
 +
 +
 +
====Copiare, rendere eseguibile ed eseguire un programma====
 +
Vediamo di seguito una dimostrazione più completa per copiare - per esempio - un programma.gambas secondario da un altro programma.gambas principale, renderlo poi eseguibile, cambiandogli i permessi, ed infine eseguire il programma.:
 +
  '''Public''' Sub Button1_Click()
 +
 +
  If Exist("/tmp/programma.gambas") then
 +
    Kill "/tmp/programma.gambas"
 +
  Else
 +
<FONT color=#006400>' ''Si provvede a copiare il file del programma dalla cartella del progetto in un'altra cartella qualsiasi:''</font>
 +
    Copy Application.Path &/ "programma.gambas" To "/tmp/programma.gambas"
 +
  Endif
 +
 
 +
<FONT color=#006400>' ''Si procede a modificare i permessi del programma, affinché possa essere eseguito:''</font>
 +
  <FONT color=#B22222>Chmod</font> "/tmp/programma.gambas" To "r-xr-xr-x"
 +
 
 +
  Repeat
 +
<FONT color=#006400>' ''Fintanto che non sono cambiati i permessi del programma, si esegue il ciclo:''</font>
 +
    Wait 0.01
 +
  Until Stat("/tmp/programma.gambas").Auth = "r-xr-xr-x"
 +
 +
<FONT color=#006400>' ''Viene infine lanciato il programma:''</font>
 +
  Shell "/tmp/programma.gambas"
 
   
 
   
 
  '''End'''
 
  '''End'''

Versione attuale delle 13:12, 20 ago 2022

E' possibile inserire in un programma.gambas un altro programma.gambas, e successivamente far copiare quest'ultimo in una qualsiasi directory perché sia avviabile.

Il programma.gambas dovrà essere posto nella cartella "Progetto" presente nella TreeView dell'Ide dove sono elencate Cartelle e sorgenti del programma.

Il problema che si pone è quello che, una volta copiato, il programma.gambas perde il permesso per essere eseguito come programma. Per far riacquistare tale permesso al programma.gambas copiato, bisognerà lanciare la funzione Chmod accompagnata dalla modalità rwxr-x---, capace di riattribuire quel permesso al programma.

Esempio:

Public Sub Button1_Click()

  Copy Application.Path &/ "nome_programma.gambas" To "/tmp/nome_programma.gambas"

  Chmod "/tmp/nome_programma.gambas" To "rwxr-x---"

End


Copiare, rendere eseguibile ed eseguire un programma

Vediamo di seguito una dimostrazione più completa per copiare - per esempio - un programma.gambas secondario da un altro programma.gambas principale, renderlo poi eseguibile, cambiandogli i permessi, ed infine eseguire il programma.:

 Public Sub Button1_Click()

  If Exist("/tmp/programma.gambas") then
    Kill "/tmp/programma.gambas"
  Else
' Si provvede a copiare il file del programma dalla cartella del progetto in un'altra cartella qualsiasi:
    Copy Application.Path &/ "programma.gambas" To "/tmp/programma.gambas"
  Endif
 
' Si procede a modificare i permessi del programma, affinché possa essere eseguito:
  Chmod "/tmp/programma.gambas" To "r-xr-xr-x"
 
  Repeat
' Fintanto che non sono cambiati i permessi del programma, si esegue il ciclo:
    Wait 0.01
  Until Stat("/tmp/programma.gambas").Auth = "r-xr-xr-x"

' Viene infine lanciato il programma:
  Shell "/tmp/programma.gambas"

End