![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
А в %C0
DelphiN! © (2004-10-05 09:51:00)Нет ли у кого случайно ф-ии, переводящей русские буквы в их "интернет коды"?
Заранее благодарен!
Alx2 (2004-10-06 09:22:00) [1]
Function Convert(Const S: String): String;
Const
ValidSet = ['A'..'Z', 'a'..'z', '*', '@', '.', '_', '-', '0'..'9', '$', '!', '''', '(', ')'];
HexTable = '0123456789ABCDEF';
Var
k: integer;
Begin
Result := '';
For k := 1 To Length(S) Do
If S[k] In ValidSet Then
Result := Result + S[k]
Else
Result := Result + '%' + HexTable[1+Byte(S[k]) Shr 4]+
HexTable[1+Byte(S[k]) And $F];
End;
DelphiN! (2004-10-06 08:33:00) [2]Вот написал процедурку, но работает она коряво :
function BinStringToUnicode(s:String):String;
var
m:set of char;
i:integer;
str:String;
buff,text:PChar;
begin
m := ['A'..'Z','a'..'z','*','@','.','_','-','0'..'9','$','!','''','(',')'];
i := 1;
while i <= length(s) do
begin
if not (s[i] in m) then
begin
str := s[i];
buff := PChar(str);
text := buff;
BinToHex(buff,text,2);
str := text;
delete(s,i,1);
insert('%'+str,s,i);
i := i+length(str);
end else
s[i] := s[i];
inc(i);
end;
result := s;
end;
П7 (2004-10-05 11:09:00) [3]Ну, видишь какой ты на самом деле умный, знаешь, какие символы не переводятся, вот и не переводи их. Что тут сложного-то? Объясни свою проблему? Ты неумеешь программировать? Или тебе нужна таблица символов? Или что ещё? Где вопрос-то спрятан?
Мастер (2004-10-05 10:51:00) [4]>Skyle © (05.10.04 10:48) [5]
Можешь переводить и их совершенно спокойно, по крайней мере латинский буквы. Про остальные сказать ничего не могу.
Skyle (2004-10-05 10:48:00) [5]> [3] Мастер © (05.10.04 10:14)
Не все символы переводятся напрямую.
Эти символы не переводятся
'A'..'Z','a'..'z','*','@','.','_','-','0'..'9','$','!','''','(',')']
DelphiN! (2004-10-05 10:17:00) [6]Спасибо за помошь!
Мастер (2004-10-05 10:14:00) [7]% означает всего лишь, что за ним следует HEX-код символа.
То есть переводи символ в шестнадцатеричный вид, добавляй "%".
DelphiN! (2004-10-05 10:05:00) [8]А что вы видете такого в этом вопросе, просто никогда этим не интересовался и не сталквался...
Fay (2004-10-05 09:55:00) [9]>> Увлечения / хобби
>> Программирование в Делфи, С++, ассемблере и других яхыках
Вы эту анкету "поносИть" взяли? С вопросом как-то не вяжется.