Functions above encoding work, but their way of coding was different.
Tchromium has need a realy specific, enough specyfic to not to create to typical function.
HttpEncode
to work almost perfectly, but encodes special characters such as +, - etc.
I try the authors functions:
stackoverflow.com/questions/776302/standard-url-encode-function
And i Try
function MyEncodeUrl(source: string): string;
var i:integer;
begin
result := '';
for i := 1 to length(source) do
if not (source[i] in ['A'..'Z','a'..'z','0','1'..'9','-','_','~','.']) then result := result + '%'+inttohex(ord(source[i]),2) else result := result + source[i];
end;
But, I use above functions on fragments of between '/' like:
path := ExtractFilePath(Application.ExeName) ;
function GenerateURL(path: string): string;
var after,temp: string;
begin
path:= ExtractFilePath(Application.ExeName);
after:=Copy(path,1,4);
Delete(path,1,3);
while (Pos('\',path)>0 )do
begin
wynik:=Copy(path,1,Pos('\',path)-1);
if Length(temp)<>0 then
temp:=MyEncodeUrl(temp)+'\';
Insert(temp,after,Length(s));
Delete(path,1,Pos('\',path))
end ;
Delete(after,(Length(after)),1);
Result := StringReplace(after, '\', '/', [rfReplaceAll]);
end;
After above function i just add beginning and end of URL function :
URL := 'file:///' + GenerateUrl(path)+ 'page.htm';
Thanks all for your help