![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Artem148 |
|
|||
![]() Постоялец ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
Здрасте!
Проблема: Ansi to Unicode... |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
||||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Artem148, это очень хорошо, что у тебя проблемы.
Форум для этого и существует, чтобы поддержать морально. Давай, мы с тобой!!! |
|||
|
||||
Clasteruga |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.9.2008 Репутация: нет Всего: 1 |
|
||||
|
|||||
Artem148 |
|
|||
![]() Постоялец ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
Подробнее: Функция DeviceIOControl (моя любимая) с параметром IOCTL_STORAGE_QUERY_PROPERTY возврашает:
1) VendorIdOffset 2) ProductIdOffset 3) ProductRevisionOffset 4) SerialNumberOffset смещение ASCII string(MSDN), а прога пишется в DELPHI XE(UnicodeString, как я понял) - следовательно отсюда: Проблема: Ansi to Unicode... P.S: Надеюсь я обьяснился, а не запутал сильнее |
|||
|
||||
14SatanA88 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 13.5.2010 Репутация: нет Всего: 5 |
издалека ты зашел, Artem148
![]() |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Так и в чём проблема-то?
Нужен AnsiString? Ну так его и используй. Хочешь превратить его в юникодную строку? Дельфи это делает автоматически при использовании присваивания. |
|||
|
||||
Artem148 |
|
||||||
![]() Постоялец ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
Если б это было так (у меня или "китайскиие символы" или знаки "?")
Вместо нормальных надписей или китайсий или вопросительные знаки
Используем. В 2007 дельфи нормальные надписи. В ХЕ - нет. Перефразирую вопрос: как получить при запросе IOCTL_STORAGE_QUERY_PROPERTY нормальную запись, а не иероглифы? |
||||||
|
|||||||
Artem148 |
|
|||
![]() Постоялец ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
to Clasteruga: Результат использования твоей функции - знаки вопроса...
![]() |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
||||
|
||||
Artem148 |
|
|||
![]() Постоялец ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
Ок. Но Автора уже не помю...
|
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Во всем приведенном коде заменить Char на AnsiChar и string на AnsiString (в asm не вникал)
|
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Какое слово было здесь непонятно? -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
Чучмек |
|
||||
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
А зачем такой гемор?
Это для 7 Для XE
Это сообщение отредактировал(а) Чучмек - 16.7.2011, 16:33 -------------------- умную мысль держи при себе, а дурной - поделись с другими |
||||
|
|||||
Artem148 |
|
|||
![]() Постоялец ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
Чучмек, ошибка:
![]() Код:
|
|||
|
||||
Чучмек |
|
|||
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
А где выделяется память под STORAGE_DEVICE_DESCRIPTOR ?
-------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
Artem148 |
|
|||
![]() Постоялец ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
А-а, даже если обнулять, то ошибка выскакивает...
P.S Функция "ZeroMemory" заполняет указанный фрагмент памяти нулями ("обнуляет"), а выделяется при чтении декларации (Слово "Var" ![]() ![]() Это сообщение отредактировал(а) Artem148 - 18.7.2011, 21:35 |
|||
|
||||
Чучмек |
|
|||
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
var выделит 4 байта под указатель -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
Чучмек |
|
|||
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
-------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
Artem148 |
|
|||
![]() Постоялец ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
Чучмек - волшебник...
![]() Если не затруднит: объясните в чём ошибка? Спасибо всем за помощь! |
|||
|
||||
Чучмек |
|
|||
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
Прежде чем передавать в функцию указатель на структуру, нужно сначала выделить память под оную.(new(),getmem() и др.)
А указатель в var указывает в никуда. "Собака" возвращает указатель на память выделенную для переменной. sizeof для любого указателя возвращает 4. -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |