Главная страница
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.025 c
15-1453673352
Jeer
2016-01-25 01:09
2017.01.15
С днем Штурмана ВМФ!


15-1452378602
Юрий
2016-01-10 01:30
2017.01.15
С днем рождения ! 10 января 2016 воскресенье


15-1457536558
DVM
2016-03-09 18:15
2017.01.15
Как думаете, это ошибка в TPointerStream в VCL?


15-1451551751
кгшзх
2015-12-31 11:49
2017.01.15
взлетит или не заморачиваться?


2-1424860792
SvetaZ
2015-02-25 13:39
2017.01.15
Поле Data для каждого Strings[i] в StringList