Se non sai cosa sono i primi due allora c'è poca speranza che qualcuno te li possa spiegare qui (senza offesa) e di manuali pascal se ne trovano pochi e incompleti.
I record sono delle strutture che ti permettono di utilizzare i file (almeno per quanto mi riguarda) ma possono essere trattate come strutture dati.
E' un argomento molto vasto cmq vedi un po' se riesci a reffarti con il mio codice:
codice:
PROGRAM HTML;
CONST N=100;
TYPE generico=RECORD
appoggio:string[30];
END;
classe=ARRAY[1..N] of generico;
VAR c:classe;
i:INTEGER;
conf:TEXT;
BEGIN
{$I-} {**fa in modo da non bloccare il programma se trova un errore}
ASSIGN(conf,'C:\nome_file.ext'); {**assegna alla var conf il file nome_file.ext}
RESET(conf); {**resetta il "puntatore" del file}
i:=1;
WHILE (NOT EOF(conf)) DO {**End Of File va avanti fino a quando non arriva alla fine del file}
begin
Readln(conf,c[i].appoggio); {**prende la riga I del file e la }
i:=i+1; {**mette nel primo elemento di appoggio}
end;
c[2].appoggio:='ciao ciao';
Writeln(conf,c[2].appoggio); {**scrive nel file 'ciao ciao'}
RESET(conf);
CLOSE(conf); {**chiude il file}
{$I+} {**chiude l'eccezione}
IF IOResult<>0 THEN {**se ci sono stati problemi con il file (non esiste oppure è in sola lettura)}
begin
WriteLn('scrivi quello che vuoi');
end;
END.
adesso nel codice ci saranno un po' di errori e ho farcito il tutto con un po' di ca**ate ma il concetto è questo.