Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

А в %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]

>> Увлечения / хобби
>> Программирование в Делфи, С++, ассемблере и других яхыках
Вы эту анкету "поносИть" взяли? С вопросом как-то не вяжется.


Наверх

Титульная страница Поиск, карта сайта Написать письмо