Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 11.01.2012, 04:36   #11
Рыцарь
 
Аватар для Morfik
 
Регистрация: 13.10.2009
Сообщений: 665
Сказал Спасибо: 38
Имеет 172 спасибок в 108 сообщенях
Morfik пока неопределено
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
кстати додумался как круче делать - string(pchar(@pck[байт с которого идёт строка]));
кто-нить видит подводные камни?
widestring(pwidechar(@pck[байт с которого идёт строка]));
или
string(PWideToString(pwidechar(@pck[байт с которого идёт строка])));

хотя я делал так
widestring(pwidechar(Pointer(DWORD(ppck)+[байт с которого идёт строка]))));
string(PWideToString(pwidechar(Pointer(DWORD(ppck) +[байт с которого идёт строка]))));
где ppck это адрес пакета

Цитата:
function PWideToString(pw: PWideChar): string;
var
p: PChar;
iLen: integer;
begin
iLen := lstrlenw(pw) + 1;
GetMem(p, iLen);
WideCharToMultiByte(CP_ACP, 0, pw, iLen, p, iLen * 2, nil, nil);
Result := p;
FreeMem(p, iLen);
end;
__________________
каждый раз, когда ты пишешь int i вместо short i, сотни пользователей вынуждены докупать планку памяти

служба поддержки 4gay - ICQ 642274822

Последний раз редактировалось Morfik, 11.01.2012 в 04:44.
Morfik вне форума   Ответить с цитированием
Старый 11.01.2012, 04:42   #12
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

дык щас же string=widestring и pchar=pwidechar
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 11.01.2012, 04:45   #13
Рыцарь
 
Аватар для Morfik
 
Регистрация: 13.10.2009
Сообщений: 665
Сказал Спасибо: 38
Имеет 172 спасибок в 108 сообщенях
Morfik пока неопределено
По умолчанию

supernewbie, ну а это смотря а какой делфе говорить, я на 7й доси
__________________
каждый раз, когда ты пишешь int i вместо short i, сотни пользователей вынуждены докупать планку памяти

служба поддержки 4gay - ICQ 642274822
Morfik вне форума   Ответить с цитированием
Старый 11.01.2012, 04:46   #14
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Morfik, фуууу, срочно перебегай на xe2, там всякие чёткие списочки добавились, типо TList'а, который умеет хранить любой тип, и такая же хэш таблица
ах да, самое главное та, можно аллочить 8 гб памяти!!111рас
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 11.01.2012, 04:51   #15
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Цитата:
фуууу
сам такой.

Цитата:
типо TList'а, который умеет хранить любой тип
он поинтеры хранить всегда умел.

Цитата:
можно аллочить 8 гб памяти
эт только тебе надо.
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 11.01.2012, 04:52   #16
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

alexteam, а хеш таблица?
TЧетоТам<string,integer> - ахрененно же
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 11.01.2012, 11:44   #17
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
кстати додумался как круче делать - string(pchar(@pck[байт с которого идёт строка]));
кто-нить видит подводные камни?
да. для делфи7 это будит тока первый символ ибо пчар это пансичар.
__________________
читернуть бы ништяг
mira вне форума   Ответить с цитированием
Старый 11.01.2012, 13:49   #18
Местный
 
Аватар для Elecktron
 
Регистрация: 27.10.2011
Адрес: Харьков
Сообщений: 106
Сказал Спасибо: 24
Имеет 11 спасибок в 7 сообщенях
Elecktron пока неопределено
По умолчанию

у меня почему-то работает только такая конструкция:
Код:
char buf[1024];
for (int i=0;i<packet->size;i++)
   {
    wsprintfA(buf, "%x",packet->data[i]);
    stf(buf); //сохраняем в лог файл
    stf(" "); // пробел :)
   }
а хотелось бы как-то так:
Код:
charid[i]=packet->data[i];
где я косячу?
__________________
C++Builder 6, Delphi 7, RAD Studio XE2, MS VC++...
Elecktron вне форума   Ответить с цитированием
Старый 11.01.2012, 20:02   #19
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Elecktron, кури работу с указателями и преобразования типов
если память не изменяет по операторам С++, то будет как то так:
Код:
charid=*(int *)&(packet->data[i]);
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 12.01.2012, 05:44   #20
Местный
 
Аватар для Elecktron
 
Регистрация: 27.10.2011
Адрес: Харьков
Сообщений: 106
Сказал Спасибо: 24
Имеет 11 спасибок в 7 сообщенях
Elecktron пока неопределено
По умолчанию

спасибо помогло...

правда теперь другая проблема - вылетает в вечный цикл..

Код:
for (int i=0;i<packet->size;i++)
{
 buf[i]=*(char *)&(packet->data[i]);
}
__________________
C++Builder 6, Delphi 7, RAD Studio XE2, MS VC++...
Elecktron вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



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

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


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

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!