|
@@ -975,13 +975,13 @@ end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-Procedure TStrings.LoadFromFile(const FileName: string);
|
|
|
|
|
|
+Procedure TStrings.LoadFromFile(const FileName: string; IgnoreEncoding : Boolean = True);
|
|
Var
|
|
Var
|
|
TheStream : TFileStream;
|
|
TheStream : TFileStream;
|
|
begin
|
|
begin
|
|
TheStream:=TFileStream.Create(FileName,fmOpenRead or fmShareDenyWrite);
|
|
TheStream:=TFileStream.Create(FileName,fmOpenRead or fmShareDenyWrite);
|
|
try
|
|
try
|
|
- LoadFromStream(TheStream);
|
|
|
|
|
|
+ LoadFromStream(TheStream, IgnoreEncoding);
|
|
finally
|
|
finally
|
|
TheStream.Free;
|
|
TheStream.Free;
|
|
end;
|
|
end;
|
|
@@ -1001,9 +1001,7 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-Procedure TStrings.LoadFromStream(Stream: TStream);
|
|
|
|
|
|
+Procedure TStrings.LoadFromStream(Stream: TStream; IgnoreEncoding : Boolean = True);
|
|
{
|
|
{
|
|
Borlands method is no good, since a pipe for
|
|
Borlands method is no good, since a pipe for
|
|
instance doesn't have a size.
|
|
instance doesn't have a size.
|
|
@@ -1019,6 +1017,11 @@ Var
|
|
BufLen,
|
|
BufLen,
|
|
I,BufDelta : Longint;
|
|
I,BufDelta : Longint;
|
|
begin
|
|
begin
|
|
|
|
+ if not IgnoreEncoding then
|
|
|
|
+ begin
|
|
|
|
+ LoadFromStream(Stream,Nil);
|
|
|
|
+ Exit;
|
|
|
|
+ end;
|
|
// reread into a buffer
|
|
// reread into a buffer
|
|
beginupdate;
|
|
beginupdate;
|
|
try
|
|
try
|