Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: Narciso - Ottobre 28, 2012, 05:01:47 am

Titolo: Distribuire software per linux
Inserito da: Narciso - Ottobre 28, 2012, 05:01:47 am
Salve,
ho da poco installato Lazarus Su Ubuntu per fare il porting di alcuni programmi per Linux ( non mi dite che si poteva fare da windows col crosscompiling perche' ci hi provato un mese senza riuscirci).
Il mio probloema ora è questo:  il mio programma su windows funziona installando tutti i file in una sola cartella ( anche se sarebbe meglio dividere i file di dati dal file eseguibile), quindi chi lo vuole installare si sceglie una cartella in c:\windows\programmi e ci copia tutto ( quando non uso un Installer), in Linux come funziona? In quali cartelle devono andare i file? Come creare una shortcut per mettere un link sul destop e avviare il programma?

Chissa' se sono stato chiaro, aspetto ansioso suggerimenti.
Titolo: Re:Distribuire software per linux
Inserito da: bonmario - Ottobre 28, 2012, 08:02:03 am
Ciao,
premetto che non ho mai distribuito programmi a scopo commerciale, ma solo free. In ogni caso, essendo io un "tifoso" degli applicativi portabili, sia in Windows che in Linux, metto tutto in una directory e comprimo. Al massimo, all'interno di quella directory, creo delle sottodirectory per manuale, dati, ecc.
In windows comprimo con formato Zip, in Linux con Tar.Gz.

Nel caso in cui mi fossi spiegato male, trovi i miei programmi qui: http://digilander.libero.it/bonmario/uty/download.html

Ciao, Mario
Titolo: Re:Distribuire software per linux
Inserito da: xinyiman - Ottobre 28, 2012, 09:39:43 pm
Io anche metto tutto in una cartella e interrogo il percorso dell'eseguibile con Application.Location e poi da li gestisco sottodirectory e altre cose
Titolo: Re:Distribuire software per linux
Inserito da: bonmario - Ottobre 29, 2012, 08:00:25 am
Ottimo, non sapevo dell'esistenza di "Application.Location". Io ho sempre fatto ExtractFileDir(Application.ExeName).
Però, ora che guardo il codice, alla fine fanno la stessa cosa !!!!

Ciao, Mario
Titolo: Re:Distribuire software per linux
Inserito da: nomorelogic - Ottobre 29, 2012, 12:42:09 pm
Il mio probloema ora è questo:  il mio programma su windows funziona installando tutti i file in una sola cartella ( anche se sarebbe meglio dividere i file di dati dal file eseguibile), quindi chi lo vuole installare si sceglie una cartella in c:\windows\programmi e ci copia tutto ( quando non uso un Installer), in Linux come funziona? In quali cartelle devono andare i file? Come creare una shortcut per mettere un link sul destop e avviare il programma?

Sotto linux si dovrebbero rispettare alcune convenzioni tipo:

Maggiori e più precise informazioni si possono trovare in http://wiki.freepascal.org/Multiplatform_Programming_Guide#Configuration_files (http://wiki.freepascal.org/Multiplatform_Programming_Guide#Configuration_files) dove ci sono indicazioni utili anche per windows.

Questo sopra il linea ufficiale :)
In linea ufficiosa, se non ci sono molte impostazioni da tener presente, una sottocartella con delle impostazioni va bene comunque ;)


Edit:
prova queste linee di codice
Codice: [Seleziona]
  ShowMessage(GetAppConfigDirUTF8(FALSE));
  ShowMessage(GetAppConfigDirUTF8(TRUE));
  ShowMessage(GetAppConfigFileUTF8(FALSE, TRUE));
  ShowMessage(GetAppConfigFileUTF8(TRUE, TRUE));
  ShowMessage(GetAppConfigFileUTF8(FALSE, FALSE));
  ShowMessage(GetAppConfigFileUTF8(TRUE, FALSE));