A grans trets podem dir que la rutina en FPK treballada a este article transforma un arxiu eml (format de correu electrònic) a html.
eml2html té la llicència CC BY-SA 4.0© 2 per Jose Ismael Sánchez Ordiñana
En realitat el que es fa este programa en Free Pascal és extraure la part que està en html del eml i reformatar tant els fí de línia com els caràcters especials. Pel que fa al primer cas açò es fa reemplaçant el “=” a final de línia per un encadenament de frases, pel que fa al segon es recodifica el =HEX per un ‘&#dec;’, mantenint la resta del document igual. Açò funcionarà sempre que el eml tinga encapsulat este format rar de html i si no hi ha imatges (tot i que resultaria fàcil implementar-ho
Pots baixar-te’l ací: eml2html (6 downloads)
Pots vore el codi font del programa en la següent caixa :
{ Program eml2html; Uses sysutils, strutils; Var s:String; t,t1:text;p:Boolean; Function tune(ss:string):String; Var aux:String;n,k:Integer; Begin k:=length(ss);n:=1;aux:=''; Repeat Begin If Copy(ss,n,1)<>'=' then aux:=aux+copy(ss,n,1) else Begin aux:=aux+'&#'+inttostr(hex2dec(copy(ss,n+1,2)))+';';inc(n,2); end; Inc(n); End; Until n>k; tune:=aux; End; Begin If Paramcount=0 then begin writeln ('Bàsic eml2html (CC) BY-SA 4.0. Jose Ismael Sánchez Ordianana. Hivern 2024.');Halt(0);End; Assign (t,paramstr(1)+'.eml');Assign(t1,paramstr(1)+'.html'); {$i-} Reset (t); {$i+} If ioresult<>0 Then Begin Writeln ('Fitxer ',paramstr(1)+'.eml',' no trobat.');halt(1);end; p:=False;Rewrite (t1); Writeln (t1,'<html>'); Writeln (t1,'<body>'); While not eof(T) Do Begin Readln (t,s); If s='</body>' Then p:=false; If p Then Begin If Copy (s,Length (s),1)='=' Then Write (t1,tune(Copy(s,1,Length(s)-1))) Else Writeln (t1,tune(s)); End; If s='<body>' Then p:=true; End; Writeln (t1,'</body></html>'); Close (t); Close (t1); End.