Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2017.01.15;
Скачать: CL | DM;

Вниз

URLEncodeReservedChars   Найти похожие ветки 

 
Эрнест   (2015-02-23 11:55) [0]

Долго искал подобную функцию в Интернете, но не нашёл. Пришлось написать самому.

procedure TForm3.Button1Click(Sender: TObject);
const
 URLReservedChars: array [1 .. 22] of Char = ("!", """, "#", "%", "&", """",
   "*", ",", ":", ";", "<", "=", ">", "?", "[", "]", "^", "`", "{", "|", "}",
   " ");
const
 URLResrCharCodes: array [1 .. 22] of string[2] = ("21", "22", "23", "25",
   "26", "27", "2A", "2C", "3A", "3B", "3C", "3D", "3E", "3F", "5B", "5D",
   "5E", "60", "7B", "7C", "7D", "20");
var
 lyrics: string;
 I, J: Cardinal;
begin
 lyrics := Memo1.Lines.Text;
 for I := Length(lyrics) downto 1 do
   for J := Low(URLResrCharCodes) to High(URLResrCharCodes) do
     if (lyrics[I] = URLReservedChars[J]) then
     begin
        Delete(lyrics[I], I, 1);
       Insert("%" + URLResrCharCodes[J], lyrics, I);
     end;
 Memo1.Clear;
 Memo1.Lines.Add(lyrics);
end;


Вот только Delphi ругается на выделенную в коде строку: Constant object cannot be passed as var parameter. Не пойму в чём дело.


 
MBo ©   (2015-02-23 12:06) [1]

Delete работает со строкой, а lyrics[I] - символ.


 
junglecat ©   (2015-02-23 12:11) [2]

uses httpapp;

HTTPEncode()



Страницы: 1 вся ветка

Текущий архив: 2017.01.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
15-1448477619
K-1000
2015-11-25 21:53
2017.01.15
MapViewOfFile() ускоряет загрузку файлов?


15-1456003937
Юрий
2016-02-21 00:32
2017.01.15
С днем рождения ! 21 февраля 2016 воскресенье


15-1453277297
Dimka Maslov
2016-01-20 11:08
2017.01.15
Немного музыки


15-1449692823
Сергей Суровцев
2015-12-09 23:27
2017.01.15
История и современность


6-1256640553
Encore
2009-10-27 13:49
2017.01.15
Post/get неверная кодировка