L'algoritmo l'ho trovato e funziona alla perfezione ma mi sa che ho trovato un bug nel TP.
Se apro il file, leggo dal file è tutto ok ma al momento della sovrascrittura non funziona e mi lascia il file invariato...
this is the code:
Scusate per l'eleganza a basso livello ma devo ancora passare per la fase "pulizia del codice"codice:PROGRAM commenta; USES crt; CONST N=100; TYPE generico = RECORD appoggio : string; END; classe = ARRAY[1..N] OF GENERICO; VAR conf : TEXT; j,i,max : INTEGER; c:classe; begin clrscr; {$I-} ASSIGN(conf,'c:\nome_file.txt'); RESET (conf); writeln('LEGGE IL FILE'); i:=1; WHILE not eof(conf) DO Begin ReadLn(conf,c[i].appoggio); if length(c[i].appoggio)>max then max:=length(c[i].appoggio); i:=i+1; End; readkey; writeln('SCRIVE CONTENUTO FILE'); FOR j:=1 to i do writeln(c[j].appoggio); readkey; max:=max+12; writeln('MODIFICA RECORD'); for j:=1 to i do begin while (length(c[j].appoggio)<max) do begin c[j].appoggio:=c[j].appoggio+' '; end; Insert(';',c[j].appoggio, length(c[j].appoggio)); end; readkey; writeln('SCRIVE IL RECORD MODIFICATO'); FOR j:=1 to i do writeln(c[j].appoggio); readkey; writeln('SCRIVE CONTENUTO FILE MODIFICATO'); reset(conf); for j:=1 to i do begin writeln(conf,c[j].appoggio); end; close(conf); {$I+} readkey; end.![]()

:
Rispondi quotando