Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2006, 22:02   #21
Сильванович Михаил
Студент
Форумчанин
 
Регистрация: 10.11.2006
Сообщений: 196
По умолчанию

Цитата:
Сообщение от komex Посмотреть сообщение
Че-то я не совсем понял, на каком языке это написано? Там вроде получается функция в функции? И что это означает:
Код:
function IsWin9x: Bool; {True = Win9x, False = NT}
asm
xor eax, eax
mov ecx, cs
xor cl, cl
jecxz @@quit
inc eax
@@quit:
end;
Нет begin'а, а внутри вообще непонятно что. Может просто я плохо знаю Delphi?!

P.S. И вот в чем прикол, при компиляции не выдает никакой ошибки! Но программа все равно не работает. Т.е. запускается, но ничего не происходит!
Функция в функции - используется для того, чтобы определить функцию
доступной только из данной функции - наша функция может использовать,
описанную внутри нее функцию, а вне функции к ней нельзя обратиться.
Эта функция написана на встроенном в Delphi Assembler'е - на что и указывает
директива asm - которая в данном случае заменила нам begin.
Так ты какое значение параметра использовал для MyWindowsExit?

Чтобы выключить ПК делай так: MyExitWindows(EWX_SHUTDOWN);
Visita Interiorem Terrae Rectificando Operae Lapidem...
Сильванович Михаил вне форума Ответить с цитированием
Старый 17.12.2006, 22:17   #22
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

Цитата:
Сообщение от Сильванович Михаил Посмотреть сообщение
Функция в функции - используется для того, чтобы определить функцию
доступной только из данной функции - наша функция может использовать,
описанную внутри нее функцию, а вне функции к ней нельзя обратиться.
Эта функция написана на встроенном в Delphi Assembler'е - на что и указывает
директива asm - которая в данном случае заменила нам begin.
Так ты какое значение параметра использовал для MyWindowsExit?

Чтобы выключить ПК делай так: MyExitWindows(EWX_SHUTDOWN);
О! Это тоже работает! И теперь можно легко выбрать: перезагрузить или выключить комп. Круто!
komex вне форума Ответить с цитированием
Старый 18.12.2006, 07:37   #23
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Цитата:
function IsWin9x: Bool; {True = Win9x, False = NT}
asm
xor eax, eax
mov ecx, cs
xor cl, cl
jecxz @@quit
inc eax
@@quit:
end;
А что тут непонятного? Обычный ассемблер
zetrix вне форума Ответить с цитированием
Старый 18.12.2006, 22:57   #24
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

Цитата:
Сообщение от zetrix Посмотреть сообщение
А что тут непонятного? Обычный ассемблер
Ну это обычный асамблер для тех, кто его изучал! А я же знаю делфи только по 2 книгам... Так что мне можно так говорить!
komex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выключение компьютера aesoem Общие вопросы Delphi 2 03.07.2008 16:50
Выключение и перезагрузка Патрон Win Api 8 26.03.2008 16:24
Выключение компютера Rahim1993 Win Api 3 03.02.2008 11:23
выключение, перезагрузка компьютера ATL Win Api 4 16.05.2007 01:57
Включение-выключение компьютера с помощью Delphi BLACK_KOT Помощь студентам 6 01.05.2007 09:55