Guardate questo codice free pascal:
Program Prova;
Uses Crt,Graph;
Var Gd,Gm:integer;
Scelta:char;
Begin
Gd:=detect;
Initgraph(Gd,Gm,'C:\FPC');
Rectangle(0,0,766,1365);
SetfillStyle(1,11);
Floodfill(1,1,11);
Outtextxy(0,40,'Prova!!!');
Outtextxy(0,50,'Questa serve per testare una struttura If...then semplice');
Outtextxy(0,60,'Premi A');
Read(Scelta);
If (Scelta='a') then Outtextxy(0,80,'GIUSTO!') else OuttextXy(0,80,'SBAGLIATO!');
Readkey;
end.
Se non fossimo in modalità grafica, il programma, premendo 'a' o qualcosaltro, farebbe vedere la risposta giusta, 'GIUSTO' o 'SBAGLIATO'
Come mai non avviene la stessa cosa nella modalità grafica? c'é un'altra parola indicante input grafico?
Ecco cosa mi hanno risposto al riguardo:
Tradotto con gli strumenti per le lingue di google
Stai cercando di eseguire questo su windows? Che funzionerà, ma non come desiderato; D Si crea una finestra per visualizzare la grafica e poi ascoltare l'input sulla console. Eseguirlo da una console e si vede quello che voglio dire.
Per utilizzare il grafico a finestre, è necessario utilizzare winCrt. Ecco una versione modificata che funziona su windows
Non utilizzare leggere perché è ancora una volta la lettura dalla console al posto della finestra grafica.
Program prova;
Uses winCrt,Graph;
Var
Gd,Gm:smallint;
Scelta:char;
Begin
Gd:=detect;
Initgraph(Gd,Gm,'C:\FPC');
Rectangle(0,0,100,200);
SetfillStyle(1,11);
//Floodfill(1,1,11);
Outtextxy(0,40,'Prova!!!');
Outtextxy(0,50,'Questa serve per testare una struttura If...then semplice');
Outtextxy(0,60,'Premi A');
Scelta:=readkey;
If (Scelta='a') then Outtextxy(0,80,'GIUSTO!') else OuttextXy(0,80,'SBAGLIATO!');
Readkey;
end.