![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
DRAGON88 |
|
||||||||||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 20.11.2008 Репутация: нет Всего: нет |
Нашел код программы, который определяет серийный номер HDD. Код рабочий, только пока никак не могу разобраться
Мне в этом коде непонятно все, например:
А это, по моему, разве язык Delphi???
Вообщем, очень хочу, чтобы профессионалы этого форума прокомментировали каждую строчку кода. Если нет, то скажите хотя бы сайт, где я могу получить пояснения, например, что такое:
или
|
||||||||||
|
|||||||||||
DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 4 Всего: 19 |
Нет это кусок кода на ассемблере, там даже соответствующая директива есть(asm) А чем вам не угодила функция GetVolumeInformation, что вы решили взять такой вариант? Это константы для удобства ![]() Что делает код на ассемблере я вам точно не скажу, но IMHO тоже самое что и api-шная функция GetVolumeInformation, только есть вероятность того что ваш код в "каких-нить специфичных случаях" работать не будет. -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." ![]() ![]() ![]() |
|||
|
||||
northener |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
Это "встроенный ассемблер" Дельфи. Так что можно сказать что это таки "язык Дельфи".
GetVolumeInformation отнюдь не гарантирует выдачу информацию о серийном номере HDD, хотя судя по её описанию она изначально делалась с учетом такой возможности в будущем.
А зачем вам это нужно? Код найденный вами работает (по вашим же словам). -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
||||
|
|||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Вот-вот. Емнип, пытался применить ее для привязки одной из программ к железу. Споткнулся на первом же Raid-е ![]() ![]() Google => MSDN (SMART_GET_VERSION control code) Только там даже с поллитрой не разберешься, разве что Riply поможет. |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
<offtop> Имхо, она серийными номерами HDD не занималась. А для того чтобы занялась нужен весьма веский повод. ![]() </offtop> -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
DRAGON88 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 20.11.2008 Репутация: нет Всего: нет |
Ну понимаете, я только недавно начал изучать Delphi. И таких "высот" как в этом коде я не достиг. Код рабочий, google мне помог его найти. Тестировал на компах с разной ОС, интерфейсом дисков все работает. А почему мне это нужно?? Да просто препод мне дал вот такое задание (как самому лучшему студенту по Delphi), уж очень не хочу попасть в тупик ![]() |
|||
|
||||
DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 4 Всего: 19 |
Офтоп, но всё же, есть комопоненты MSIC Suite - отлично привязывает к железу, можно даже к конкретно этому экземпляру ОС привязать ;) И вытаскивают много инфы о железе ![]() -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." ![]() ![]() ![]() |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Дополнение к оффтопу, но все же ![]() ![]() Поверьте, многие (и я в том числе) не достигли таких высот. Но это не мешает нам пользоваться чужим работающим кодом. Необходимость разобраться с внутренностями возникает только тогда, когда скопированный код работает не так, как хочется. В качестве примера: Вы же не знаете (наверное) внутренностей TForm, однако используете его(ее)? Это я к тому, что вряд ли Вам будут объяснять "построчно" - Вы с этим кодом хотите "залезть" на такой уровень, который подразумевает отличные навыки самостоятельного поиска и анализа информации, и в первую очередь - в MSDN. |
|||
|
||||
DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 4 Всего: 19 |
Да есть и другие, но это так было к слову. -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." ![]() ![]() ![]() |
|||
|
||||
DRAGON88 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 20.11.2008 Репутация: нет Всего: нет |
Блин. Что-то вообще не доганяю. А причес здесь MSDN??? MSDN - это же подразделение компании Майкрософт, ответственное за взаимодействие фирмы с разработчиками. В данном случае, под разработчиками понимаются разработчики аппаратного обеспечения, интересующиеся операционной системой, а также разработчики, использующие программные интерфейсы операционной системы и скриптовые языки различных приложений, разработанных Microsoft. A Delphi разработан другой компанией (конрурентом Microsoft). Соответственно, нужно пользоваться справочной пособией по Delphi. Или я что-то не говорю?????
А Riply - это что????? |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
Именно что-то не то. Странно слышать такое от "лучшего" студента. ![]() -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
DRAGON88 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 20.11.2008 Репутация: нет Всего: нет |
Ну если не то, можно хотя бы пояснить. MSDN как он пременим к Delphi (особенно у коду, который я выставил)??? Где я могу найти информацию по:
Please, а то у меня уже начинает желание все пропадать. Просто руки опускаются. Ну сложно для меня пока-что это на данном этапе. Но желание разбираться огромное. Мне бы только ссылку на сайт (желательно конечно на русском), а там я буду смотреть, анализировать, что такое SMART_GET_VERSION = $074080, DRVERR_IDE_ERROR = 1 и др. |
||||
|
|||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Вот блин. А мужики-то не знают ![]() Упрощенно, MSDN можно понимать как глобальный справочник, посвященный всему и вся в Windows и для Windows. А по ссылке, которую я дал, пройти не судьба? Кроме как там, более актуальной, полной и исчерпывающей информации вряд ли где можно найти. Добавлено через 1 минуту и 3 секунды А вот на это надеяться не надо. Читать такое лучше и правильнее в оригинале. |
|||
|
||||
DRAGON88 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 20.11.2008 Репутация: нет Всего: нет |
К примеру, что такое StrToInt или IntToStr я понимаю. Если встречается какия-то непонятная функция, я пользуюсь Help по Delphi который у меня есть. А увидев этот код я ничего не могу понять. В своем Help по Delphi я не нашелЮ что значит
Поэтому и создал тему в надежде что мне смогут помощь или подтолкнуть в правильном направлении. Главное - желание разбраться во всем этом, а желание у меня пока что есть. |
|||
|
||||
DarkProg |
|
||||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 4 Всего: 19 |
Вопрос, что изменилось? Ответ, да ничего, кроме названия "обёртки". Это просто коды коотрые возвращает функция написанная на асме и с ними производится сравнение, можно писать что-нить типа такого
А можно вот так
Читабельность второго будет выше, да и универсальность больше, т.к. при применении в другом месте этих же констант можно не заморачиваться по поводу их замены, если они вдруг изменятся. Причём тут MSDN, ну как при чём... а где WinApi функции описываются, а где мелкомягкие пишут про свои всякие штуки вроде SQL Server, .Net и т.д. и т.п.? -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." ![]() ![]() ![]() |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "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. |