Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: lasy - Gennaio 14, 2017, 06:24:52 pm

Titolo: ciao mondo
Inserito da: lasy - Gennaio 14, 2017, 06:24:52 pm
ciao ragazzi, come da titolo sono alla prima esecuzione di un programma pascal.
ho installato lazarus-ide v1.6.2 su ubuntu 16.04.

il programma che ho scritto è il classico "ciao, mondo" per vedere se tutto gira. allora:

me lo compila e lo esegue anche lo vedo dall'icona "play".

il problema è che non ho la visualizzazione su alcun terminale.

devo installare un terminale specifico?? o devo attivarlo da qualche parte?
Titolo: Re:ciao mondo
Inserito da: Stilgar - Gennaio 14, 2017, 06:30:36 pm
Ciao.
Prova a controllare le impostazioni del progetto.
Possibile che sia un progetto grafico e che il "ciao mondo" finisca in /dev/null? Oppure che sia così rapido che non ti accorgi che apre e chiude una shell?
Per fare la contro prova:
con la bash vai fino al punto in cui dovrebbe trovarsi l'eseguibile e provi a lanciarlo da riga di comando.
Se l'eseguibile emette il primo vagito controlla le impostazioni di progetto.

PS:
Ciao e benvenuto :)
Stilgar
Titolo: Re:ciao mondo
Inserito da: xinyiman - Gennaio 14, 2017, 06:30:49 pm
Ciao lasy e benvenuto!

Non ho capito la tua domanda. Innanzitutto sei su linux, windows o mac?

Se lo compili per terminale, poi devi aprire un terminale (o una console di windows) andare dentro la cartella dove risiede l'eseguibile compilato e lanciarlo da li.

Altrimenti metti un repeat until keypressed al fondo del tuo programma e così se fai doppio click sul tuo eseguibile vedi il risultato
Titolo: Re:ciao mondo
Inserito da: Stilgar - Gennaio 14, 2017, 06:33:52 pm
xinyiman :)

Citazione
ciao ragazzi, come da titolo sono alla prima esecuzione di un programma pascal.
ho installato lazarus-ide v1.6.2 su ubuntu 16.04.
OT: Metti un'emoticon con una faccina che si sta uccidendo dal ridere?
Stilgar
Titolo: Re:ciao mondo
Inserito da: lasy - Gennaio 14, 2017, 06:47:24 pm
sto parlando semplicemente di questo:
Codice: [Seleziona]
program Project1;
uses
crt;

begin
  writeln('2+5=',2+5);
  readln();

end.   

va in esecuzione ma non vedo nulla
Titolo: Re:ciao mondo
Inserito da: Stilgar - Gennaio 14, 2017, 06:51:39 pm
Mistero...
Da riga di comando hai provato?

Stilgar
Titolo: Re:ciao mondo
Inserito da: xinyiman - Gennaio 14, 2017, 06:57:46 pm
xinyiman :)

Citazione
ciao ragazzi, come da titolo sono alla prima esecuzione di un programma pascal.
ho installato lazarus-ide v1.6.2 su ubuntu 16.04.
OT: Metti un'emoticon con una faccina che si sta uccidendo dal ridere?
Stilgar

 ;D ;D ;D ;D
Titolo: Re:ciao mondo
Inserito da: lasy - Gennaio 14, 2017, 07:14:41 pm
Mistero...
Da riga di comando hai provato?

Stilgar

che vuoi dire con "da riga di comando""??

ma puoi dirmi dov'è che dovrebbe essere visualizzato? io ho il terminale di gnome, dovrebbe aprirlo automaticamente all'esecuzione? oppure la ide ha un terminale suo proprio?
Titolo: Re:ciao mondo
Inserito da: Stilgar - Gennaio 14, 2017, 07:22:52 pm
va benissimo il terminale Gnome.
Uno vale l'altro :) Per quello indicavo genericamente la bash (la shell di default nei sistemi pinguinati).

Il compilatore dovrebbe averti prodotto un program1 da qualche parte nel disco (non so dove tu abbia fatto eseguire la compilazione). Pesuppongo da qualche parte nella home, come comportamento di default.

In genere sotto windows ti apre un terminale e lo chiude alla fine dell'esecuzione se il progetto lo hai creato con "File->Nuovo->progetto": "Programma semplice" "Programma" o un  "Applicazione Console" .
Se è semplicemente "Applicazione" è un eseguibile che parla con il sistema grafico quindi le console/terminali sono disabilitati (in genere). Con linux non ricordo il comportamento che dovrebbe avere, ma presuppongo lo stesso.
Stilgar
Titolo: Re:ciao mondo
Inserito da: lasy - Gennaio 14, 2017, 07:45:34 pm
allora:

sì, faccio file - nuovo - progetto.
se non salvo, comunque quando compilo mi crea due file in una cartella temporanea:

1) project1 (penso sia l'eseguibile)
2) project1.lpr

ma se eseguo non mi fa vedere nulla. forse manca il collegamento tra il comando "esegui" e il terminale di gnome..
sai dove posso verificare questa cosa, per poterla impostare manualmente??
Titolo: Re:ciao mondo
Inserito da: Stilgar - Gennaio 14, 2017, 08:00:47 pm
Ti chiederei il sorgente con una cosa tipo:
Codice: [Seleziona]

{$mode objfpc}{$H+}

uses
  cthreads, Forms;

begin
  Application.Initialize;
  Writeln('2+5=',2+5);
  Application.Run;   
end;
Titolo: Re:ciao mondo
Inserito da: lasy - Gennaio 14, 2017, 08:16:31 pm
mi dà errore (cfr file allegato)


comunque sono riuscito ad aprire una console con cui si interagisce da questo percorso:

Visualizza>Finestre di debug>Uscita nel terminale.

quindi c'è!! ma non la apre automaticamente
Titolo: Re:ciao mondo
Inserito da: Stilgar - Gennaio 14, 2017, 09:29:35 pm
Perfetto.
Il codice serviva a vedere se era un progetto "scassato".
Il codice implicava un progetto ti tipo "grafico". :) (Forms per intenderci :) )

Stilgar
Titolo: Re:ciao mondo
Inserito da: lasy - Gennaio 14, 2017, 10:13:45 pm
quindi?
Titolo: Re:ciao mondo
Inserito da: Stilgar - Gennaio 14, 2017, 10:21:54 pm
Aspettiamo che un utente che lavori con Linux ti possa aiutare :)
se andando in
/home/giuseppe/tmp con il terminale e lanciando project1 non vedi nulla c'è qualcos'altro che mi sfugge :)

Stilgar
Titolo: Re:ciao mondo
Inserito da: lasy - Gennaio 14, 2017, 10:45:34 pm
ok, grazie
Titolo: Re:ciao mondo
Inserito da: xinyiman - Gennaio 14, 2017, 11:14:19 pm
Ma se segui questa guida cosa ottieni?

http://www.lazaruspascal.it/index.php?page=4
Titolo: Re:ciao mondo
Inserito da: corradoventu - Gennaio 15, 2017, 08:29:20 pm
Ubuntu 17.04, lazarus 1.6.2. Ho inserito un writeln in un progetto grafico e l'output compare nella finestra terminale (Visualizza>Finestre di debug>Uscita nel terminale.)
Titolo: Re:ciao mondo
Inserito da: nomorelogic - Gennaio 16, 2017, 08:47:08 am
allora:

sì, faccio file - nuovo - progetto.
se non salvo, comunque quando compilo mi crea due file in una cartella temporanea:

1) project1 (penso sia l'eseguibile)
2) project1.lpr

ma se eseguo non mi fa vedere nulla. forse manca il collegamento tra il comando "esegui" e il terminale di gnome..
sai dove posso verificare questa cosa, per poterla impostare manualmente??

hai impostato i permessi di esecuzione con chmod?

Edit:
per eseguire/testare i programmi console hai 2 opzioni:
- aprire l'uscita sul terminale dalle finestre di debug (e questo l'hai già trovato), dove non c'è nessuna conversione per i caratteri di escape (ci si abitua presto)
- eseguire direttamente il binario da una shell (e per fare questo hai bisogno che il binario generato abbia il permesso di esecuzione)