Вопрос № 46190: Здравствуйте, уважаемый эксперты!Задам совсем простой вопрос:как a:Integer возвести в квадрат? Пробовал так a^2 но что-то не получается......Вопрос № 46202: что надо написаиь, чтобы на панели инструментов internet explorer'a появилась кнопка программы и что б она копировала исходный адрес интернета в специальное поле (менеджер закладок) ...Вопрос № 46217: Существует ли какая-нибудь
функция (вернее, in-line подстановка, макрос,...), которая бы возвращала номер строки, где она написана?
Нужно что-то вроде:
try
...
except
on e: Exception do writeLog('Unit1: Ошибка ' + e.Message + ...Вопрос № 46276: Здравствуйте, уважемые эксперты! Подскажите, пожалуйста, как написать функцию, которая принимает параметры: название и имя процедуры, и создает пункт меню(MenuItem) с этими параметрами? И как сделать функцию "дочернего" пункта меню? Наверня...Вопрос № 46283: Здравствуйте Уважаемые Эксперты!
Как сделать так чтобы Delphi записывала(никого не спрашивая) файлы на CD -DVD диски....
Вопрос № 46.190
Здравствуйте, уважаемый эксперты!Задам совсем простой вопрос:как a:Integer возвести в квадрат? Пробовал так a^2 но что-то не получается...
Отправлен: 14.06.2006, 11:35
Вопрос задал: Ustas (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Лукьяненко Алексей Валериевич
Здравствуйте, Ustas!
Для возведения в квадрат лучше a*a, а в общем случае - использовать функцию Power из модуля Math: Power(a, 2)
Ответ отправил: Лукьяненко Алексей Валериевич (статус: 4-ый класс)
Ответ отправлен: 14.06.2006, 11:40 Оценка за ответ: 5
Отвечает: romodos
Здравствуйте, Ustas!
Добавлю лишь, что есть еще функция sqr(a)
--------- The Source is Our Soul. FAQ me off!
Ответ отправил: romodos (статус: Специалист)
Ответ отправлен: 14.06.2006, 11:42 Оценка за ответ: 4
Отвечает: Gh0stik
Здравствуйте, Ustas!
Вопрос из серии нужно прочитать книгу....
Но все-таки есть несколько способов возведения в степень:
1) a*a - квадрат числа a
2) sqr(a) - квадрат числа a
3) exp(n*ln(a)) - возведение число a в степень n (при a > 0)
4) используя функцию Power(a,n), при подключении модуля Math (uses Math);
Удачи!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Студент)
Ответ отправлен: 14.06.2006, 11:47 Оценка за ответ: 5
Вопрос № 46.202
что надо написаиь, чтобы на панели инструментов internet explorer'a появилась кнопка программы и что б она копировала исходный адрес интернета в специальное поле (менеджер закладок)
Отправлен: 14.06.2006, 14:00
Вопрос задал: Ghora (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Ghora!
Первый же запрос в Яндексе: "своя кнопка в internet explorer" выдает страницу с кодом - он в приложении.
Отвечает: chikanok
Здравствуйте, Ghora!
Вам ответили как сделать кнопку!
А вот вам как получить адресс из активного окна iexplorer`a !
Т.к. мне ничего не известно о вашем "специальном поле", адресс просто ввыводится в Сообщении (MessageBox)!
Удачи!
Приложение:
--------- Главное желание,а там разберёмся!
Ответ отправил: chikanok (статус: 2-ой класс)
Ответ отправлен: 14.06.2006, 17:07
Вопрос № 46.217
Существует ли какая-нибудь функция (вернее, in-line подстановка, макрос,...), которая бы возвращала номер строки, где она написана?
Нужно что-то вроде:
try
...
except
on e: Exception do writeLog('Unit1: Ошибка ' + e.Message + ' в строчке' + intTOStr(номер текущей строки')
end;
Есть ли такая?
Отправлен: 14.06.2006, 16:45
Вопрос задал: mvp (статус: Студент)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Ерёмин Андрей
Здравствуйте, mvp!
На мой взгляд, это невозможно, т.к. после компиляции кода как такового не остаётся - не остаётся и строчек - всё уже в закодированном виде. Однако при запуске из-под Delphi при возникновении ошибки он сам ставит курсор на место ошибки.
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, mvp!
Согласен с Ерёминым Андреем: после компиляции строчек не остется. Остаются инструкции процессору, поэтому стандартной функции не существует.
А Вы уверены в том, что "drweb вылетел и в ошибке был указан модуль и номер строчки ошибки" был указан именно номер строки ошибки, а не номер ошибки?
Предложение таково: создаешь числовую переменную ErrLineNumber. Перед каждой строкой с потенциальной ошибкой (или если не лень перед каждой строкой) присваиваешь этой переменной какое-то значение (номер).
Далее try
ErrLineNumber:=1; .... {Первая строка с командами}
ErrLineNumber:=2; .... {Вторая строка с командами}
.... except on e: Exception do writeLog('Unit1: Ошибка ' + e.Message + ' в строчке' + intTOStr(ErrLineNumber) end;
Удачи!
--------- Ответы на все вопросы - на сайте www.ya.ru ☺
В случае, если выражение expr ложно, то данная процедура вызывает исключение EAssertionFailed.
Вот тут нам и поможет обработчик данного исключения, который предоставляет нам расширенную информацию.
Прототип обработчика: procedure AssertErrorHandler(const Message, Filename: string; LineNumber: Integer; ErrorAddr: Pointer); Где:
Message - произвольная строка, переданная через Assert() вторым параметром;
Filename - Имя модуля, где произошло исключение EAssertionFailed;
LineNumber - номер строки в модуле Filename, где вызвано данное исключение;
ErrorAddr - Адрес инструкции, на которой произошел вызов обработчика.
Почему с оговоркой: да потому, что номер строки будет указывать на строку, в которой произошел вызов Assert(). По мне, дак это не проблема, ибо дислоцировать ошибку будет просто (она будет находиться где-то рядом).
В примере приведен рабочий код тестового модуля... Обработчик переопределен.
Успехов!
Приложение:
Ответ отправил: Лучников Ю.В. (статус: *Мастер-Эксперт) Россия, Киров WWW:нЧат - Наш Чат! ICQ: 176308580 ---- Ответ отправлен: 15.06.2006, 00:45 Оценка за ответ: 5
Вопрос № 46.276
Здравствуйте, уважемые эксперты! Подскажите, пожалуйста, как написать функцию, которая принимает параметры: название и имя процедуры, и создает пункт меню(MenuItem) с этими параметрами? И как сделать функцию "дочернего" пункта меню? Наверняка у кого-то был опыт написания потобного. Если нетрудно, поделитесь, пожалуйста. Заранее благодарен!
Отвечает: Олекса aka SoW
Здравствуйте, Андрющенко Вячеслав Васильевич!
Возможно я вас неправильно понял. Функции, которые поданы в дополнении, создают соответственно дочерний и обычный пункт меню. Они возвращают созданный пункт, и его можно использовать в дальнейшем. Чтобы назначить пункту обработчик события, например на щелкание мишой, нужно написать item.OnClick:=ProcName, где ProcName - имя процедуры, что будет обрабатывать сообщение.
Код программы подан в дополнении, думаю, там все должно быть понятно (если возникнут вопросы - обращайтесь, буду рад помочь).
Приложение:
--------- Вік живи - вік учись.
Ответ отправил: Олекса aka SoW (статус: 2-ой класс)
Ответ отправлен: 15.06.2006, 09:39 Оценка за ответ: 5
Отвечает: Проходящий Мимо
Здравствуйте, Андрющенко Вячеслав Васильевич!
Если попроще, посмотрите ответ №42491. Если нужно динамически привязывать событие обработки пунктов меню в соответствии с текстовой командой (как задаются команды для меню и кнопок панели инструментов в TotalCommander), то в дополнению к даному Вам ответу №44359 в приложении описываю мой вариант реализации привязки процедуры к событию OnClick пункта меню.
Удачи!
Приложение:
--------- Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 5-ый класс)
Ответ отправлен: 15.06.2006, 09:51
Отвечает: Савенко Вадим Иванович
Здравствуйте, Исаков Евгений Владимирович!
Если у Вас установлена Nero, то смотрите возможности файла nerocmd.exe
( в командной строке наберите nerocmd.exe /?) с полным путем к нему, естественно. А если нет - то вопрос сложный... Можно встроить в программу какую-нибудь из простеньких бесплатных писалок или найти компонент какой-нибудь.
Ответ отправил: Савенко Вадим Иванович (статус: 2-ой класс)
Ответ отправлен: 15.06.2006, 09:55 Оценка за ответ: 4