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

Da Gambas-it.org - Wikipedia.
 
Riga 1: Riga 1:
E' possibile inserire in un programma.gambas un altro programma.gambas, e successivamente far copiare quest'ultimo in una qualsiasi directory perché sia avviabile.
+
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 ''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 ri-attribuire quel permesso al programma.
  
 
Esempio:
 
Esempio:
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
   
 
   
 
   Copy Application.Path &/ "nome_programma.gambas" To "/tmp/nome_programma.gambas"
 
   Copy Application.Path &/ "nome_programma.gambas" To "/tmp/nome_programma.gambas"
 
   
 
   
   <FONT color=#B22222>Chmod</font> "/tmp/nome_programma.gambas" <FONT color=#B22222>To</font> "<FONT color=#B22222>rwxr-x---</font>"
+
   <FONT color=red>Chmod</font> "/tmp/nome_programma.gambas" '''To''' "<FONT color=darkorange>rwxr-x---</font>"
 
   
 
   
  '''End'''
+
  End
 
 
  
  
 
====Copiare, rendere eseguibile ed eseguire un programma====
 
====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.:
 
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()
+
   Public Sub Button1_Click()
 
   
 
   
 
   If Exist("/tmp/programma.gambas") then
 
   If Exist("/tmp/programma.gambas") then
 
     Kill "/tmp/programma.gambas"
 
     Kill "/tmp/programma.gambas"
 
   Else
 
   Else
  <FONT color=#006400>' ''Si provvede a copiare il file del programma dalla cartella del progetto in un'altra cartella qualsiasi:''</font>
+
  <FONT color=gray>' ''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"
 
     Copy Application.Path &/ "programma.gambas" To "/tmp/programma.gambas"
 
   Endif
 
   Endif
 
    
 
    
  <FONT color=#006400>' ''Si procede a modificare i permessi del programma, affinché possa essere eseguito:''</font>
+
  <FONT color=gray>' ''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"
+
   <FONT color=#B22222>Chmod</font> "/tmp/programma.gambas" To "<FONT color=darkorange>r-xr-xr-x</font>"
 
    
 
    
 
   Repeat
 
   Repeat
  <FONT color=#006400>' ''Fintanto che non sono cambiati i permessi del programma, si esegue il ciclo:''</font>
+
  <FONT color=gray>' ''Fintanto che non sono cambiati i permessi del programma, si esegue il ciclo:''</font>
 
     Wait 0.01
 
     Wait 0.01
   Until Stat("/tmp/programma.gambas").Auth = "r-xr-xr-x"
+
   Until Stat("/tmp/programma.gambas").Auth = "<FONT color=darkorange>r-xr-xr-x</font>"
 
   
 
   
  <FONT color=#006400>' ''Viene infine lanciato il programma:''</font>
+
  <FONT color=gray>' ''Viene infine lanciato il programma:''</font>
 
   Shell "/tmp/programma.gambas"
 
   Shell "/tmp/programma.gambas"
 
   
 
   
  '''End'''
+
  End

Versione attuale delle 16:48, 28 giu 2024

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 ri-attribuire 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