Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
15-1448473849
RusSun
2015-11-25 20:50
2017.01.15
Хулиганы добавили offtop сообщения в KOL конференции


15-1450042201
Юрий
2015-12-14 00:30
2017.01.15
С днем рождения ! 14 декабря 2015 понедельник


15-1447932039
DayGaykin
2015-11-19 14:20
2017.01.15
Умножение и сложение UInt64 с переполнением.


15-1454511393
pavelnk
2016-02-03 17:56
2017.01.15
Солнечная станция


3-1310534275
bestonix
2011-07-13 09:17
2017.01.15
TUniTable




   Наверх