Вопрос № 51554: Можно ли по Handle компонента обращаться к его свойствам ?...Вопрос № 51572: Здравствуйте, господа Эксперты! Заканчиваю программу, и встал вопрос о ее защите от копирования - она будет работать на ограниченном числе машин - и, следовательно, защита от исследования - дизассемблирования и отладки. Вначале хотел прошить хеш екзе...Вопрос № 51601: Подскажите пожалуйста ка мне склеить
две формы. Я хочу сделать что бы при нажатии на кнопку "Далее" он переходил на следующюю форму. Что мне нужно сделать? Пишу в Delphi 7...Вопрос № 51617: Уважаемые Эксперты !!!!!
Почему при установке Windows xp sp-1 не поддерживается FAT 32 или я может что не так делаю я включаю в биосе загрузку с CD но при запросе форматирования диска FAT 32 не появляется а только NTFS...Вопрос № 51650: Помогите найти компонент или у кого есть поделитесь 'панель в стиле Microsoft Outlook'...Вопрос № 51665: Здраствуйте уважаемые эксперты
Поделитесь пожалуйста исходником программы написанной на delphi, которой можно былобы смотреть исходнуй код html странички, желательно чтобы он был загружен в мэмо, я искал в интернете и нашёл то что написанно в при...
Вопрос № 51.554
Можно ли по Handle компонента обращаться к его свойствам ?
Отправлен: 08.08.2006, 23:08
Вопрос задал: Bcd (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 7)
Отвечает: DeVampir
Здравствуйте, Bcd!
У компонентов нет Handle. Handle есть у окон Windows. Их можно создать, например, компонентами-наследниками TWinControl. При выполнении программы эти объекты будут окнами, но доступа к их свойствам уже не будет. Однако, окну можно посылать сообщения, позволяющие получить и изменить некоторые из его свойств, такие как заголовок окна, свернутость, видимость, доступность и другие.
Опишите, пожалуйста, проблему конкретней!
--------- Нам будет трудно - это терпимо! (с) М. Горшенев
Ответ отправил: DeVampir (статус: 2-ой класс)
Ответ отправлен: 09.08.2006, 06:49 Оценка за ответ: 5 Комментарий оценки: Handle есть например у Button, CheckBox. Фактически это окна, но Handle обладают. задача такая: Есть Handle формы. Нужно изменить свойство "Align" этой формы.
Отвечает: Татьяна
Здравствуйте, Bcd!
Имея хендел (я думаю вы имели в виду визуального компонента), можно сделать, я думаю практически все - по крайней мере, то, что есть в свойствах
Другое дело, что вы обращаетесь не к самим функциям, а фактически к реализациям этих свойств через winapi, возможно если вы зададите вопрос более конкретно - какие именно свойства вам нужны, помощь будет гораздо более продуктивной
--------- Возможно все. И ничего возможно тоже.
Ответ отправила: Татьяна (статус: Студент)
Ответ отправлен: 09.08.2006, 16:45 Оценка за ответ: 5
Вопрос № 51.572
Здравствуйте, господа Эксперты! Заканчиваю программу, и встал вопрос о ее защите от копирования - она будет работать на ограниченном числе машин - и, следовательно, защита от исследования - дизассемблирования и отладки. Вначале хотел прошить хеш екзешника в ресурс, но потом понял, что после прошивания контрольная сумма изменится :)). Кроме исполняемого, нужно где-то хранить хеши еще нескольких файлов, для которых изменение критично. Файлы и реестр отпадают из-за FileMon и RegMon. Время от времени программа эти
хеши проверяет и сравнивает. Естественно, против серьезного хакера эта защита, как против танка штык, но обломить ламеров, возомнивших себя крутыми, очень хочется. Какие мысли есть по этому поводу?
P.S. Забыл спросить, как можно получить объем отдельной процедуры в буффер или строку - тоже хотел бы проверять время от времени. Заранее спасибо!
Отправлен: 09.08.2006, 01:54
Вопрос задал: Neiroman (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Neiroman!
Достаточно хорошо антиотладочные приемы описаны в книге Криса Касперски "Компьютерные вирусы внтури и снаружи". Я думаю, это стоит того, чтобы купить эту книжку =) В общих словах, предлагается шифровать ту часть процедуры, которая проверяет, "правильная" ли копия. И расшифровывать только непосредственно перед исполнением. Желательно не просто xor xonst, а хотя бы xor след. байт ;-) А для защиты от эмуляторов предлагается использовать "современные" инструкции из серии SSE/SSE2, которые
реально ничего делают.
--------- Не узнаешь - не попробуешь.
Подскажите пожалуйста ка мне склеить две формы. Я хочу сделать что бы при нажатии на кнопку "Далее" он переходил на следующюю форму. Что мне нужно сделать? Пишу в Delphi 7
Отправлен: 09.08.2006, 11:47
Вопрос задал: Dh05 (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Gh0stik
Здравствуйте, Dh05!
Есть два варианта:
1) в обработчике по нажатию кнопки использовать команду вида Form2.Show;
2) либо Form2.ShowModal;
При выполнении пункта 2) Вы не сможите закрыть Form1 (родителя) до тех пор пока не закроете Form2.
Удачи!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Студент)
Ответ отправлен: 09.08.2006, 11:55
Отвечает: Никольский Валерий Александрович
Здравствуйте, Dh05!
Есть еще вариант, правда не знаю подойдет ли... Вы можете использовать не 2-ю форму, а компонент PageControl, создавая на нем TabSheet. Переходить можно также по кнопке далее. Этим вы можите избавиться от множества форм.
Нужно:
1. Задать положение и размер второй формы такими же, как и у первой.
Form2.BoundsRect:=Form1.BoundsRect;
2. Показать вторую форму.
Form2.Show;
3. Скрыть первую форму.
Form1.Hide;
Ответ отправил: Physicist (статус: Студент)
Ответ отправлен: 09.08.2006, 12:17
Отвечает: Melamed
Здравствуйте, Dh05!
Я вам советую воспользоваться фреймерами. Эта такие же формы, но они не могут быть сапмостоятельными.
(Форма, порожденная от класса Frame).
Делаершь главную форму с кнопками "Назад", "Вперед" и "Финиш" и несколько фреймов, которых
делаешь солдержание формы при каждом шаге опирации.
Ф кнопках "Назад" и "Вперед" свойство Visible у фрейма, который надо на данном шаге сделать видимым,
устанавливается значение true, для всех других - значение false.
Аналогично можно сделать, использовав несколько компонентов TPanel. В последнем случае, вес
код формы будет в одном файле, в первом случае - в разных
Ответ отправил: Melamed (статус: 2-ой класс)
Ответ отправлен: 09.08.2006, 13:12
Вопрос № 51.617
Уважаемые Эксперты !!!!!
Почему при установке Windows xp sp-1 не поддерживается FAT 32 или я может что не так делаю я включаю в биосе загрузку с CD но при запросе форматирования диска FAT 32 не появляется а только NTFS
Отвечает: Никольский Валерий Александрович
Здравствуйте, Zatyahnyh A.A.!
При установке поддерживается FAT32. Попробуйте взять другой дистрибутив. А стоит ли вам форматировать в FAT32? Форматируйте в NTFS, будет меньше сбоев.
Было бы хорошо, что бы вы более детально описали процесс установки и железо на которое вы ставите.
Попробуйте отформатировать диск в FAT32 до установки Windows. Тогда можно будет установить систему на уже отформатированный диск.
Ответ отправил: Physicist (статус: Студент)
Ответ отправлен: 09.08.2006, 14:18 Оценка за ответ: 4 Комментарий оценки: но вы понимаете при установке проосит все равно форматировать диск и указывает только NTFS
Вопрос № 51.650
Помогите найти компонент или у кого есть поделитесь 'панель в стиле Microsoft Outlook'
Отвечает: Morgen_krsk
Здравствуйте, Сергей Викторович!
Я подобное делаю в Delphi через ActionToolBar + Coolbar.
Ответ отправил: Morgen_krsk (статус: 1-ый класс)
Ответ отправлен: 09.08.2006, 18:43 Оценка за ответ: 4
Отвечает: Ерёмин Андрей
Здравствуйте, Сергей Викторович!
Такой компонент существует, но он платный: http://mxoutlookpro.maxcomponents.net/
Хотя возможности стоят того... Ещё что-то похожее есть в JediVCL. Неплохо бы уточнить, что подразумевается под Outlook-стилем.
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Здраствуйте уважаемые эксперты
Поделитесь пожалуйста исходником программы написанной на delphi, которой можно былобы смотреть исходнуй код html странички, желательно чтобы он был загружен в мэмо, я искал в интернете и нашёл то что написанно в приложении, но там выбрасывает ошибку.
Заранее Спасибо.
Приложение:
Отправлен: 09.08.2006, 21:25
Вопрос задал: Станислав (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Станислав!
Код, который вы представили, работает. Надо только добавить пару своих процедур в проект. Например, как у меня:
procedure TForm1.Button1Click(Sender: TObject);
begin
WB1.Navigate('www.ya.ru');
end;
procedure TForm1.WB1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
GetHtmlCode(WB1, 'code.txt');
end;
Только вот сохраняется видимое содержимое страницы, а вовсе не ее HTML-код :-(
Какая у вас была ошибка - не знаю. Вы же сами никакой информации о ней не предоставили. Может быть, забыли файл создать, а IPersistFile.save не создает новый файл, если его не существует. Так что на будущее советую хотя бы указывать строку, в которой произошла ошибка.
Основной код отсюда: http://delphiworld.narod.ru/_all_articles_.html
Проверял (на ya.ru) - работает.
Я предпочитаю не ловить момент загрузки страницы сам и нажимать на кнопку, а делать это программно, по событию OnDocumentComplete у TWebBrowser.
А еще, можно выкинут из тела программы SaveDialog. Но мне уже лень, да и надо же вам самому что-дь сделать =)
Отвечает: sir henry
Здравствуйте, Станислав!
HTML-файл - это обычный текстовый файл, поэтому в мемо Вы его можете загрузить стандартным для мемо способом:
1. Сохранить страничку на диск.
2. Загрузить ее в мемо как обычный файл:
Memo1.LoadFromFile("Страничка.html");
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 10.08.2006, 07:06