Всем привет. Возник вопрос: У меня есть поле Edit (можно Memo), нужно закодировать содержимое в формате URL Encoded. Смотрел алгоритм кодирования, но как реализовать не догнал... Об URL Encoded узнал вот тут: http://ru.wikipedia.org/wiki/URL Кто-то уже сталкивался с подобной задачей? P.S. Спасибо, что уделили время!
Это для отправки софтом или просто так? Если для отправки, то посмотрите свою библиотеку, там наверняка есть эта функция. Например в инди вообще не надо ничего делать, она сама кодирует. В синапсе эта функция лежит в synacode
буду краток - Code: function UrlEncode(Str: string): string; function CharToHex(Ch: Char): Integer; asm and eax, 0FFh mov ah, al shr al, 4 and ah, 00fh cmp al, 00ah jl @@10 sub al, 00ah add al, 041h jmp @@20 @@10: add al, 030h @@20: cmp ah, 00ah jl @@30 sub ah, 00ah add ah, 041h jmp @@40 @@30: add ah, 030h @@40: shl eax, 8 mov al, '%' end; var i, Len: Integer; Ch: Char; N: Integer; P: PChar; begin Result := ''; Len := Length(Str); P := PChar(@N); for i := 1 to Len do begin Ch := Str[i]; if Ch in ['0'..'9', 'A'..'Z', 'a'..'z', '_'] then Result := Result + Ch else begin if Ch = ' ' then Result := Result + '+' else begin N := CharToHex(Ch); Result := Result + P; end; end; end; end; Код лежит на всех сайтах, гуглится за минуту, работает отлично.