FAQ v3
Von: Il Razziatore (ilrazziatore@gmail.com) [Profil]
Datum: 03.02.2008 03:33
Message-ID: <47a52801$0$36441$4fafbaef@reader5.news.tin.it>
Newsgroup: it.comp.lang.pascal
Datum: 03.02.2008 03:33
Message-ID: <47a52801$0$36441$4fafbaef@reader5.news.tin.it>
Newsgroup: it.comp.lang.pascal
=== FAQ it.comp.lang.pascal ==
Il gruppo è fatto per discutre sui problemi e sui programmi in pascal.
Non per farsi risolvere i compiti. Molti ( troppi ) postano domande tipo
"Devo fare un programma che... gradito programma"... Postate invece la
vostra soluzione è ne discutiamo volentieri insieme.
1) Non riesco a leggere le riposte al mio post che faccio riposto ?
2) Quali programmi posso realizzare con il pascal
4) Runtime Error 200
5) Come utilizzare la unit graph.tpu
6) Allocare dinamica mente un array
7) Dove posso scaricare il TP 7.0
8) Esiste un compilatore free
9) Passaggio di parametri ad un programma da riga di comando
10) Dove posso trovare materiale utili sul web ?
11) Da pascal a C è possibile ?
12) Esistono le liste in pascal?
13) Esiste una chat del gruppo?
== Non riesco a leggere le riposte al mio post che faccio riposto ? =
Vedi prima se hai avuto risposta all'indirizzo
http://groups.google.com/group/it.comp.lang.pascal/topics?hl=it
== Quali programmi posso realizzare con il pascal =
Non esiste nessuna limitazione alla fantasia il pascal da la possibilità
di realizzare qualsiasi tipo di progetto sviluppato secondo il paradigma
imperativo. Qualunque programma scritto in C/C++ puo' essere tradotto
1:1 in pascal. Il pascal supporta anche l'uso della direttiva ASM che
permette di includere codice in assemper per scendere a basso livello
direttamente opcode in linea. Ovviamente supporta anche la ricorsione.
Grazie a FreePascal e le sue librerie molti problemi sono stati risolti
anche con la compatilibità con DB, Socket e altri settori dove il pascal
era rimasto un po' indietro.
== Runtime Error 200 =
Errore 200, è un errore che viene fuori quando si esegue una divisione
per zero ma è più tristemente nota per il problema della unit CRT legato
ai procesori veloci.
Spesso quando si esegue un eseguibile datato sui PC moderni. O quando si
prova a compilare con il vecchio Turbo Pascal sui moderni PC viene
generato un Error 200 ( Division By Zero ). Questo errore è dato dalla
unit CRT la cui inizializazione era fatta male. Con i primi processori
veloci ( 200MHZ e + ) sono state rilasciate delle patch al problema. Il
problema può essere risolto scaricando la pacth dal sito
www.pascallike.too.it sezione tools e ricompilando il sorgente.
== Come utilizzare la unit graph.tpu =
La unit graph.tpu come tutte le unit del TP si trovano nella directory
tp\units, prima di poterla utilizzare controllatene l'esistenza.
Nell'eventualità che non sia presene scaricatela dalla rete.
Successivamente dal IDE del TP selezionate la voce Options ->Directories
nel text box Unit Directory controllate se è stato inserito il path
giusto dovrebbe esserci una stringa come questa : c:\tp\units
Se non c'è oppure è errata inserite il path corretto, ricordatevi che
il Pascal è stato concepito per dos il quale non vede i nomi lunghi.
Successivamente selezionate File->New si aprirà una finestra blue dove
inserire il codice del vostro programma. Per poter utilizzare una unit
bisogna indicare al copilatore il nome, quindi il vostro programma avrà
un aspetto del genere
program provaGraph;
unit graph;
var grDriver, grMode, ErrCode : Integer;
begin
grDriver:Þtect;
InitGraph(grDriver,grMode,''); *
ErrCode :=GraphResult;
if ErrCode = grOk then
begin
{ interfaccia grafica }
closegraph;
end
else
writeln('Errore :',GraphErrorMsg(ErrCode));
end.
* Tra gli apici va inserito il path del driver grafico che trovate nella
directory tp\bgi, in questa directory sono presenti vari driver e vari
font utilizzabili, ricordate di allegare il file al vostro eseguibile e
di cambiare il path con quello finale del driver altrimenti se lasciat
come path : tp\bgi il vostro eseguibile cercherà il driver in quella
cartella, finchè il programma rimane sul vostro pc nessun
problema ma quando lo spostate non sarà più possibile caricarlo.
== Allocare dinamica mente un array =
Il Pascal non permette l'allocazione dinamica di un array, per poter
effettuare questa operazione bisogna eludere il compilatore con la
direttiva {$R-} che disabilita il check degli indirizzi e
successivamente dichiarare un array di zero caselle ed utilizzare un
puntatore ad esso.
Type DArray = array[0..0]of byte;
DinamArray=^Darray;
Vi sconsiglo vivamente di utilizzare questo tipo di procedura in quanto
potreste "saltare" all'interno della memoria con possible blocco del pc.
Non sarebbe un bel effetto per chi utilizza il vostro programma.
Il Delphi prima e il FreePascal dopo hanno cambiato questa situazione
introducendo la funzione "SetLength" eccone un esempio:
program provaArray;
var
pippo : Array of Integer;
n,i : Integer;
begin
n := 3;
SetLength(pippo, n);
for i := 0 to n - 1 do
begin
pippo[i] := i;
end;
for i := 0 to n - 1 do
begin
write(pippo[i], ' ');
end;
writeln;
end.
Ma non è standard.
== Dove posso scaricare il TP 7.0 =
No, il Turbo Pascal non è free e quindi non si può scaricare a meno di
un preventivo acquisto della licenza.
== Esiste un compilatore free =
Si, il freepascal http://www.freepascal.org/
== Passaggio di paramentri ad un programma da riga di comando =
E' possibile passare parametri al nostro programma da riga di comando
utilizzando le funzioni ParamCount e ParamStr( N ), la prima restituisce
il numero di parametri passati all'eseguibile la seconda permette di
ottenere i valori passati. Per testare il programma da IDE del Turbo
Pascal prima di premere il tasto Run selezionate il menu Run->Parameters
e nel textbox inserite tutti parametri separati da uno spazio.
== Dove posso trovare materiale utili sul web =
Alcune informazioni utili le potrete trovare sui siti:
http://www.pascallike.too.it/
http://dreadnaut.altervista.org/pascal.php
http://www.turbo-pascal.cjb.net/
nella sezione links troverete altri siti che trattano di programmazione
e del pascal, non dimenticate i motori di ricerca.
== Da pascal a C è possibile =
Si, i due linguaggi sono grammaticalmente molto simili e quindi
possibile una facile conversione, in rete troverete vari convertitori
== Esistono le liste in pascal? =
No, le liste non fanno parte dei tipi del pascal.
Esistono numerose librerie che implementano le liste. Sia il Delphi che
il FreePascal ne comprendono una.
== Esiste una chat del gruppo =
Si, sul server irc.azzurra.org esiste la room #turbopascal
----
Queste FAQ sono state scritte dal mitico ReDiCuori, io le ho solo
sitemate qui e la.
--
Il Razziatore,
The Only Good Windows is an uninstalled Windows
-----------------------------------------------
MSN : IlRazziatore@netscape.net
ICQ : 67552596
Yhaoo : Razziatore82
-----------------------------------------------
Founder of MediaPlayer Project
http://mpp.iwebland.com
[ Auf dieses Posting antworten ]
