Главная страница
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.027 c
15-1447436787
data
2015-11-13 20:46
2017.01.15
подскажите по my sql


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


15-1450980808
pavelnk
2015-12-24 21:13
2017.01.15
Ip письма яндекса


15-1454794206
Юрий
2016-02-07 00:30
2017.01.15
С днем рождения ! 7 февраля 2016 воскресенье


15-1450349876
DayGaykin
2015-12-17 13:57
2017.01.15
TCP прокси