Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
970 Beiträge
 
Delphi 6 Professional
 
#6

AW: HTML-Quellcode in TMemo anzeigen

  Alt 21. Feb 2018, 21:50
Hmm..

Quick and Dirty:

Delphi-Quellcode:
function LoadUTF16ToAnsiString(AFileName: string): AnsiString;
var
  tmpFile : TFileStream;
  tmpBOM : WideChar;
  tmpsize : Int64;
  tmpWide : WideString;
  i : integer;
begin
  result := '';
  tmpFile := TFileStream.Create(AFileName,fmOpenRead or fmShareDenyNone);
  try
    if tmpFile.Read(tmpBOM, sizeof(tmpBOM)) = sizeof(tmpBOM) then begin
      if ((tmpBOM = Widechar($FEFF)) or (tmpBOM = Widechar($FFFE))) then begin
        tmpsize := (tmpFile.size -2) Div SizeOf(tmpWide[1]);
        setlength(tmpWide,tmpsize +1);
        tmpWide[tmpsize +1] := #0;
        tmpFile.Read(tmpWide[1],tmpSize * SizeOf(tmpWide[1]));
        if tmpBOM = Widechar($FFFE) then
          for i := 1 to length(tmpWide) do tmpWide[i] := WideChar(Swap(Ord(tmpWide[i])));

        result := tmpWide;
      end else begin
        tmpFile.Position := 0;
        setlength(result,tmpFile.size);
        tmpFile.Read(result[1],tmpFile.size);
      end;
    end else begin
      tmpFile.Position := 0;
      setlength(result,tmpFile.size);
      tmpFile.Read(result[1],tmpFile.size);
    end;
  finally
    tmpFile.Free;
  end;
end;
Wie geschrieben Quick and Dirty..
Funktioniert aber nur zufriedenstellend, wenn in der Datei nur Zeichen aus dem ANIS-Bereich verwendet werden.
Sollten dort Unicode/Sonderzeichen enthalten gewesen sein, dürften diese damit weg sein
  Mit Zitat antworten Zitat