Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 22.12.2006, 21:56   #1
v0id
AnyKey`щик
 
Регистрация: 29.11.2006
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Кодировка

совсем запутался с ней... Принимаю с формы строку... и она в хз каком формате, надо передать ее на сайт отправки смс в кои8... вроде как сделал перевод в кои затем перевод в html кодировку... на эмуляторе работает а на телфоне (моторола) опять косяк =( в чем же дело?
(Offline)
 
Ответить с цитированием
Старый 23.12.2006, 14:58   #2
IVenoMI
Знающий
 
Регистрация: 10.08.2006
Сообщений: 254
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Кодировка

С моторолами практически не работал, однако могу предположить, что телефон использует свою внутреннюю кодировку символов...

Протесть что он выдает посимвольно и напиши таблицу преводов...
(Offline)
 
Ответить с цитированием
Старый 23.12.2006, 16:12   #3
v0id
AnyKey`щик
 
Регистрация: 29.11.2006
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Кодировка

проверил на сименсе, тож самое...
(Offline)
 
Ответить с цитированием
Старый 23.12.2006, 18:37   #4
IVenoMI
Знающий
 
Регистрация: 10.08.2006
Сообщений: 254
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Кодировка

Хм... У меня на Сименсе таких проблем не было...

Возможно ошибка как раз в твоей процедуре перекодировки...
(Offline)
 
Ответить с цитированием
Старый 23.12.2006, 19:25   #5
v0id
AnyKey`щик
 
Регистрация: 29.11.2006
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Кодировка

эх.. нету ошибок у меня а вот мидлетпаскале.... кароче сделал след. когда из формы получаю строку перековерковываю ее в Ansi после этого пытался в кои8 сразу и затем в хтмл.. но не выхожит.. не сработывает... решил изменить перекодировку в кои 8... и выяснилось что примерно такой код "if 242 = 242 then то то...." не срабатывает! изменил код немного.. построив по другому сравнение и все заработало....

ЗЫ: лучше начну потом яву учить чем ето г юзать....
(Offline)
 
Ответить с цитированием
Старый 24.12.2006, 01:03   #6
IVenoMI
Знающий
 
Регистрация: 10.08.2006
Сообщений: 254
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Кодировка

Это вопрос мнений, мне с Дельфи подручнее было перепрыгивать на Мидлет Паскаль, хотя Яву я тоже достаточно неплохо знаю...

Кстати, ради интереса, скинь начальный и конечный вариант кода...
(Offline)
 
Ответить с цитированием
Старый 27.12.2006, 18:43   #7
v0id
AnyKey`щик
 
Регистрация: 29.11.2006
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Сообщение Re: Кодировка

function HexDigit(i: Integer): String;

var

  hchr: array[0..15] of Char; 

begin

    hchr[0]:= '0';

    hchr[1]:= '1';

    hchr[2]:= '2';

    hchr[3]:= '3';

  hchr[4]:= '4';

    hchr[5]:= '5';

  hchr[6]:= '6';

    hchr[7]:= '7';

    hchr[8]:= '8';

    hchr[9]:= '9';

    hchr[10]:= 'A';

    hchr[11]:= 'B';

    hchr[12]:= 'C';

    hchr[13]:= 'D';

    hchr[14]:= 'E';

    hchr[15]:= 'F';

    

     HexDigit := hchr[i and $F];

end;



function Byte2Hex(i: Integer): String;

var

  s: String;

begin

  s := HexDigit( i and $F );

  i := right(i, 4); //i div 16; //shr 4;

  Byte2Hex := HexDigit( i and $F ) + s;

end;



function tohtmlcode(s: String): String;

var

  r: String;

    i: Integer;

begin

  r := '';

  for i := 0 to Length(s) - 1 do

    r := r + '%' + Byte2Hex(Ord(GetChar(s, i)));

  tohtmlcode:= r;

end;



function Str2UTF8(sta: string):string;
var    ia: integer;    saa : string;
begin
    saa:='';
    for ia:= 0 to Length(sta) do
        if GetChar(sta, ia) > '~' then 
            saa:= saa + Chr(Ord(GetChar(sta, ia)) - 64432)
        else 
            saa:= saa + GetChar(sta, ia);
    Str2UTF8:= Copy(saa, 0, Length(saa)-1);
end;


function Str2ASCII(sta: string):string;
var    ia: integer;    saa: string;
begin
    saa:='';
    for ia:= 0 to Length(sta) do
    if GetChar(sta, ia) > '~' then 
        saa:= saa + Chr(Ord(GetChar(sta, ia)) + 64432)
    else 
        saa:= saa + GetChar(sta, ia);
    Str2ASCII:= Copy(saa, 0, Length(saa)-1);
end; 


function mp(s, sub: String): Integer;

var

    i: Integer;

begin

    mp:= -1;

    for i:= 0 to Length(s) - 1 do begin

        if tohtmlcode(GetChar(s, i)) = tohtmlcode(sub) then begin

            mp:= i;

            Break;

        end;

    end;

end;



function WinKoi(st: String): String; 

var 

  i:      Integer;

    z:   Integer;

  s:   String;

  win: String;

  koi: String;

begin 

  s := st;

  win := Chr(168) + Chr(84) + Chr(254) + Chr(224) + Chr(225) + Chr(246) + Chr(228) + Chr(229) + Chr(244) + Chr(227) + 

Chr(245) + Chr(232) + Chr(233) + Chr(234) + Chr(235) + Chr(236) + Chr(237) + Chr(238) + Chr(239) + Chr(255) + Chr(240) + 

Chr(241) + Chr(242) + Chr(243) + Chr(230) + Chr(226) + Chr(252) + Chr(251) + Chr(231) + Chr(248) + Chr(253) + Chr(249) + 

Chr(247) + Chr(250) + Chr(222) + Chr(192) + Chr(193) + Chr(214) + Chr(196) + Chr(197) + Chr(212) + Chr(195) + Chr(213) + 

Chr(200) + Chr(201) + Chr(202) + Chr(203) + Chr(204) + Chr(205) + Chr(206) + Chr(207) + Chr(223) + Chr(208) + Chr(209) + 

Chr(210) + Chr(211) + Chr(198) + Chr(194) + Chr(220) + Chr(219) + Chr(199) + Chr(216) + Chr(221) + Chr(217) + Chr(215) + 

Chr(218) + Chr(144);



  koi := Chr(168) + Chr(184) + Chr(192) + Chr(193) + Chr(194) + Chr(195) + Chr(196) + Chr(197) + Chr(198) + Chr(199) + 

Chr(200) + Chr(201) + Chr(202) + Chr(203) + Chr(204) + Chr(205) + Chr(206) + Chr(207) + Chr(208) + Chr(209) + Chr(210) + 

Chr(211) + Chr(212) + Chr(213) + Chr(214) + Chr(215) + Chr(216) + Chr(217) + Chr(218) + Chr(219) + Chr(220) + Chr(221) + 

Chr(222) + Chr(223) + Chr(224) + Chr(225) + Chr(226) + Chr(227) + Chr(228) + Chr(229) + Chr(230) + Chr(231) + Chr(232) + 

Chr(233) + Chr(234) + Chr(235) + Chr(236) + Chr(237) + Chr(238) + Chr(239) + Chr(240) + Chr(241) + Chr(242) + Chr(243) + 

Chr(244) + Chr(245) + Chr(246) + Chr(247) + Chr(248) + Chr(249) + Chr(250) + Chr(251) + Chr(252) + Chr(253) + Chr(254) + 

Chr(255) + Chr(144);



  for i := 0 to Length(s) - 1 do begin

        z := {Pos}mp(win, GetChar(s, i));

        if (z > -1) then

          s:= SetChar(s, GetChar(koi, z), i);

    end;

    

  WinKoi := s;

end;
затем Text:= Str2ASCII(GetTextBoxString);
и перед пост запросом tohtmlcode(WinKoi(Text));

вопчем что то типа того, сначало было проще)

я сейчас на делфи пишу, пока перевел на мидлет паскаль этот банальный код изматерился весь %))
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
кодировка форума ISO-8859-1 ISKATEL Наш форум 3 24.06.2009 20:32
Кодировка в Get запросе. http://neten.org Основной форум 7 27.02.2007 12:46
еще кодировка HolyDel Основной форум 5 24.12.2006 21:12


Часовой пояс GMT +4, время: 14:36.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com