Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
Delphi 12 Athens
|
AW: Datei mit Steuerzeichen in StringList laden?
4. Jul 2017, 11:50
Es hat nun funktioniert.
Delphi-Quellcode:
var
aFile, sSubStr: String;
AnsiStr: AnsiString;
ByteArray: TArray<Byte>;
begin
sSubStr := 'DasHierMussGefundenWerden';
aFile := 'C:\Users\<name>\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations\27932e73jddafda77b.customDestinations-ms';
ByteArray := TFile.ReadAllBytes(aFile);
try
if Length(ByteArray) > 0 then
begin
SetString(AnsiStr, PAnsiChar(@ByteArray[0]), Length(ByteArray));
if Pos(sSubStr, AnsiUpperCase(AnsiStr)) - 1 > 0 then
// tue etwas, wenn sSubStr in aFile gefunden wurde
end;
finally
SetLength(ByteArray, 0);
end;
Das könnte man eventuell noch etwas optimieren:
Delphi-Quellcode:
uses
System.IOUtils, System.StrUtils;
...
var
aFile, sSubStr: String;
ByteArray: TBytes;
newPos: PAnsiChar;
begin
sSubStr := 'DasHierMussGefundenWerden';
aFile := 'C:\Users\<name>\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations\27932e73jddafda77b.customDestinations-ms';
ByteArray := TFile.ReadAllBytes(aFile);
if Length(ByteArray) > 0 then
begin
newPos := SearchBuf(PAnsiChar(@ByteArray[0]), Length(ByteArray), 0, 0, AnsiString(sSubStr), [soDown]);
if newPos <> nil then begin
// tue etwas, wenn sSubStr in aFile gefunden wurde
end;
end;
end;
|
|
Zitat
|