Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Problema rapporti tra la grafica e la finestra normale
Forum - Pascal - Problema rapporti tra la grafica e la finestra normale

Avatar
Loryea (Normal User)
Pro


Messaggi: 165
Iscritto: 02/09/2011

Segnala al moderatore
Postato alle 20:33
Martedì, 27/09/2011
Si potrebbe utilizzare la modalità grafica e  la finestra normale insieme, determinando il tipo di testo utilizzando outext e write?
Se con una sintassi normale non si potesse fare, come faccio?
Ecco un programma versione alfa: crea delle persone con la grafica a seconda dei dati inseribili nella finestra normale:
Codice sorgente - presumibilmente Delphi

  1. Program Peaple_Designer;
  2. uses crt;
  3. var Scheda,Modo,MPrincipale:integer;
  4.         LuStinco,LuCoscia,LuBusto,LuBraccio,LuAvambraccio,LuTesta:Word;
  5.         LaStinco,LaCoscia,LaBusto,LaBraccio,LaAvambraccio,LaTesta:Word;
  6.         Lus,Luc,Lubu,Lubr,Lua,Lut:Integer;
  7.         Las,Lac,Labu,Labr,Laa,Lat:Integer;
  8. begin
  9. repeat
  10. clrscr;
  11. Begin
  12. Writeln('Appena appare una finestra grande,');                    {In caso di problemi controllare il proprio}
  13. Writeln('Riducila in modo da vedere anche questa.');              {compilatore, deve essere FreePascal.}
  14. Delay(6000);                                                      {Nel caso, il compilatore fosse TurboPascal,}
  15. Scheda:detect;                                                    {cambiare il frammento di codice}
  16. Initgraph(Scheda,Modo,'C:\FPC');                                  {'C:\FPC' con 'C:\TP\BGI'. (<--)}
  17. If graphresult<>grOK then
  18.         Writeln('Probelma di modalità grafica:');
  19.         writeln('Premere INVIO per ritentare;');
  20.         Writeln('Lasciare che scadano 10 secondi per chiudere');
  21.         Until readln;
  22.         Delay(10000);
  23.         halt;
  24.         end;
  25. Writeln('Programma irriproducibile di Lorenzo Cacciotti);
  26. delay(6000);
  27. clrscr;
  28. Writeln('Menu di Peaple_designer:');
  29. Writeln;
  30. Writeln('1 Costruzione dettagliata, del personaggio');
  31. Writeln('2 Costruzione approssimata, del personaggio');
  32. Writeln('3 Conversione di un codice, in personaggio');
  33. Writeln('4 Conversione pixel-centimetri');
  34. Readln(Mprincipale);
  35. Clrscr;
  36. Case MPrincipale of
  37. 1:
  38.         Begin
  39.         Writeln('Inserisci le seguenti misure (in pixel):');
  40.         Writeln;
  41.         write('Lunghezza Stinco = ');
  42.         readln(Lustinco);
  43.         write('Larghezza Stinco = ');
  44.         readln(Lastinco);
  45.         Lus:=Lustinco/2+135;
  46.         Las:=Lastinco/2+480;
  47.         Ellipse(Las,Lus,0,359,Lastinco,Lustinco);
  48.         Las:=Las+Lastico;
  49.         Ellipse(Las,Lus,0,359,Lastinco,Lustinco);      
  50.         write('Lunghezza Coscia = ');
  51.         readln(LuCoscia);
  52.         write('Larghezza Coscia = ');
  53.         readln(LaCoscia);
  54.         Luc:=Lucoscia/2+135+Lustinco;
  55.         Lac:=Lacoscia/2+480;
  56.         Ellipse(Lac,Luc,0,359,Lacoscia,lucoscia);
  57.         Lac:=Lac+Lacoscia;
  58.         Ellipse(Lac,Luc,0,359,Lacoscia,Lucoscia);
  59.         write('Lunghezza Busto = ');
  60.         readln(LuBusto);
  61.         write('Larghezza Busto = ');
  62.         readln(Labusto);
  63.         Lubu:=Lubusto+135+Lucoscia;
  64.         Labu:=Labusto+480;
  65.         Luc:=lUC*2;
  66.         Rectangle(480,lubu,Labu,Luc);
  67.         write('Lunghezza Braccio (spalla-gomito) = ');
  68.         readln(LuBraccio);
  69.         write('Larghezza Braccio (spalla-gomito) = ');
  70.         readln(LaBraccio);
  71.         Lubr:=LuBusto+Lucoscia+Lustinco-Lubraccio/2;
  72.         Labr:=Labu-LaBraccio/2-Labusto;
  73.         Ellipse(Labr,Lubr,0,359,Labraccio,lubraccio);
  74.         Write('Lunghezza Avanbraccio = ');
  75.         Readln(LuAvanbraccio);
  76.         Write('Larghezza Avanbraccio = ');
  77.         Readln(LaAvanbraccio);
  78.         LuA:=Lubr-Luavambraccio/2;
  79.         LaA:=Labu-labusto-laavambraccio/2;
  80.         Ellipse(Laa,Lua,0,359,Laavambraccio,luavambraccio);
  81.         write('Lunghezza Testa = ');
  82.         Readln(Lutesta);
  83.         write('Larghezza Testa = ');
  84.         Readln(Latesta);
  85.         readln;
  86.         End;
  87. readln;
  88. end.



Lo so che é un po' lungo, ma non so cosa togliere, e poi, si può tagilare il codice dal mio editor e incollarlo ovunque.
Saluti.

Lorenzo.

PM Quote