Главная страница
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.021 c
2-1419250635
Drowsy
2014-12-22 15:17
2017.01.15
Вопрос по TShellTreeView.


3-1308531630
Дмитрий С
2011-06-20 05:00
2017.01.15
Mysql, большой blob. как лучше?


15-1455112976
K-1000
2016-02-10 17:02
2017.01.15
Canvas. Вывести зеркальное изображение с альфой?


2-1425461509
Asher
2015-03-04 12:31
2017.01.15
Сортировка дат в TStringList


3-1308469793
she-wolf2829
2011-06-19 11:49
2017.01.15
запуск хранимых процедур