{$codepage utf8} {$mode objfpc} Unit MiLista; Interface Uses sysutils, classes, windows; Type TStringListWin=class(TStringList) public procedure SaveToFile(Arch:unicodestring);virtual; //sobrecargado procedure LoadFromFile(Arch:unicodestring);virtual; //sobrecargado End; Implementation procedure TStringListWin.SaveToFile(Arch:unicodestring); var arch1:THandle; Begin Arch1:=CreateFileW(PWideChar(Arch), GENERIC_READ or GENERIC_WRITE,0,nil,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0); FileWrite(Arch1,Text[1],length(Text)); FileClose(Arch1) End; procedure TStringListWin.LoadFromFile(Arch:unicodestring); var arch1:THandle; BytesEscritos:longint; aux:ansistring; Begin arch1:=CreateFileW(PWideChar(Arch), GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0); BytesEscritos:=FileSeek(Arch1,0,fsFromend); FileSeek(Arch1,0,fsFromBeginning); setlength(aux,BytesEscritos); FileRead(Arch1,aux[1],BytesEscritos); Text:=aux; FileClose(Arch1) End; End.