Делфийцы , помогите: перевожу строку из OleVariant в string и .....

morph 21.05.2004 - 21:21 | _Thanks to VaS!!!_ Делфийцы , помогите: перевожу строку из OleVariant в string и получаю не текст, а строку вопросов, думаю что косяк в кодировке(unicode,ansi). Как получить нормальный текст?
Delphist 1 - 21.05.2004 - 21:26 | Не совсем уверен, но попробуй так: Присвой содержимое OleVariant к переменной типа WideString, а затем уже из этой переменой присвой к переменной string. У тебя вообще где этот OleVariant сидит, как ты к нему обращаешся? Кинь кусок кода.
morph 2 - 21.05.2004 - 21:48 | Короче, я из Visual Basic по winsock'у пересылаю строку, ловлю её из delphi (количество байт совпадает), в том и косяк, что delphi почему-то в процедуре getdata выдаёт данные не в string, а в OleVariant. код ::: procedure TForm1.netDataArrival(Sender: TObject; bytesTotal: Integer); var data:olevariant; dt1:variant; dt2,u:PWideChar; dt3:WideString; wr:word; y:char; dt,t:string; begin net.GetData(data); dt1:=data; edit6.text:=dt1; end; Я уже какие только типы не перепробовал! Как только я не конвертил! Не понимаю в чём проблема, сто % что-то с кодировкой...
Delphist 3 - 22.05.2004 - 00:04 | А попробуй заменить var data:olevariant; на var data: variant; . Ответь, какого типа net?
morph 4 - 22.05.2004 - 16:13 | Спасибо за советы, хотя они не подошли! Я нашёл причину!
Delphist 5 - 22.05.2004 - 18:02 | Так поделись с народом?
morph 6 - 22.05.2004 - 20:35 | Короче, там проблема была с тем, как прога обрабатывает приходящие байты: Мой любимый Visual Basic хавает всё что ему не подсунь!!! А ненавистные дельфя хотят чтобы к ним на порт приходили не символы, а коды символов (поочерёдно), короче чтобы delphi схавал текст, нужно из VB посылать в сокет не текст, а ASC код каждой буковки! Обнаружил случайно! И оказалось, что ПАШЕТ!!! Обидно: столько времени убил на такую ерунду! P.S. Не люблю программеров из BORLAND!!!
Delphist 7 - 22.05.2004 - 21:01 | Подожди, не понял. Текст это и есть череда кодов всех буковок. Как ты шлешь текст в сокет из VB? Может, у тебя там юникод (и с каким byte-order)?
Гоша 8 - 24.05.2004 - 08:45 | Было бы смешно, если не было бы так грустно :)
morph 9 - 25.05.2004 - 08:18 | Да прям берёшь и код в сокет суёшь!!! Я сам офиге, но работает!!! Гоша, а чё там тебе грустно-то? а?
Delphist 10 - 25.05.2004 - 13:08 | morph, покажи как ты далал в старом варианте и как делаешь в новом. Тогда будет понятно почему был затык.
morph 11 - 25.05.2004 - 20:44 | _____________________________________________________________ ДА чё тут непонятного... VB: ... winsock1.sentdata "I hate Borland!" ... а что б дельфи понял надо так: ... st$="I hate Borland!" for i=1 to len(st$) winsock1.sentdata asc(mid$(st$,i,1)) next i ... Delphist так понятно?... :) Слушай кидани мне своё мыло (на negasmail@rambler.ru) _____________________________________________________________
morph 12 - 25.05.2004 - 21:03 | Я наконец то за регистрировал свой родной ник!!!!!! :) Теперь я под ником Negative !!!!!!!!
FWP 13 - 26.05.2004 - 07:54 | У меня такое подозрение, что васик в первом варианте передавал в Unicode. А в Delphi ты пытался засунуть принятые данные в String. Вот поэтому и не работало.
Negative 14 - 26.05.2004 - 12:44 | Походу так! Спасибо что констатировал моё незнание! Но лучше б ты мне помог когда я эту тему открыл, а когда я её сам уже решил, мне помошники не нужны! _____________________ВСЁ ТЕМА ЗАКРЫТА!!!________________________ ЕСЛИ КТО-ТО НЕ ПОНЯЛ КУСОК КОДА ПИШИТЕ НА МЫЛО - ВЫШЛЮ БОЛЬШЕ ________________________________________________________________
XPEH 15 - 26.05.2004 - 13:07 | 14: Повыходу так: тебя в школе не учат, что нужно быть вежливым со старшими?
Negative 16 - 26.05.2004 - 13:38 | 15: Классный ник! Говорит о твоей высокой самооценке! :) А вот на счёт школы ты ошибся причём сильно! Ну ничего прощаю.. А на то что ты, может быть, старше меня, я ложил с высокой колокольни! Ты бы лучше по делу говорил, а не загрезнял форум своим флудом!
XPEH 17 - 26.05.2004 - 15:50 | 16: Да не переживай ты так - все были молодые. Просто речь контролируй, если хочешь, чтобы выслушали и помогли, и все будет ок.

>>