Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 53
от 27.02.2005, 14:50

Администратор:Калашников О.А.
В номере:Вопросов: 3, Ответов: 16


Вопрос № 17282: Как сделать, чтобы Hint компонента высвечивалься столько времени, сколько курсор держиться над этим компонентом?...
Вопрос № 17298: Привет! Какие есть функции, как можно осуществить следующее: при указание пути к каталогу, вывести имена всех файлов из этого каталога пита string?...
Вопрос № 17305: Здравствуйте уважаемые эксперты! У меня есть программа, написанная на Delphi. Она четко работает, но в ней есть несколько не точных НАЗВАНИЙ параметров (Label). Исходника у меня нет, поэтому я думаю, что ее лучше всего декомпилировать и испр...

Вопрос № 17282
Как сделать, чтобы Hint компонента высвечивалься столько времени, сколько курсор держиться над этим компонентом?
Отправлен: 21.02.2005, 15:30
Вопрос задал: KrGorGaz (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Гриценко Юрий Алексеевич
Здравствуйте, KrGorGaz!
Никак, кроме пререгрузки соответствующих функций.
Ответ отправил: Гриценко Юрий Алексеевич (статус: 2-ой класс)
Отправлен: 22.02.2005, 21:47

Отвечает: Полховский Александр Владимирович
Здравствуйте, KrGorGaz!
Могу только сказать, как увеличить это время (предел не помню, но он немаленький).
Application.HintHidepause:integer.
Ответ отправил: Полховский Александр Владимирович (статус: 10-ый класс)
Отправлен: 23.02.2005, 08:08

Отвечает: Boriss
Здравствуйте, KrGorGaz!
По-видимому, просто это можно сделать, обрабатывая события или OnIdle или OnTimer - оба должны проверять кажный раз, мышь над элементом ли - и реагировать.
Все это должно сильно тормозить работу программы. Если хотите, можно попробовать
Хотя, конечно, где-то это есть - но копаться в классе пока нет времени. Опять же, если это нужно, то посмотрю
Ответ отправил: Boriss (статус: Профессионал)
Отправлен: 24.02.2005, 16:43


Вопрос № 17298
Привет! Какие есть функции, как можно осуществить следующее: при указание пути к каталогу, вывести имена всех файлов из этого каталога пита string?
Отправлен: 21.02.2005, 21:24
Вопрос задал: Сергей Николаевич (статус: Посетитель)
Всего ответов отправлено: 5

Отвечает: Sh-st
Здравствуйте, Сергей Николаевич!
Вот код, но он ищет файлы ТОЛЬКО в данном каталоге (поддиректории исключаются, если нужно с поддиректориями- нужен рекурсионный алгоритм, если нужно пиши)
var
tsr:TSearchRec;
begin
if findfirst(directory,faAnyFile,tsr)=0 then //directory-твоя папка
repeat
memo1.lines.add(tsr.name);
until findnext(tsr)<>0;
findclose(tsr);
end;
Теперь Memo1 содержит имена файлов.
Ответ отправил: Sh-st (статус: 2-ой класс)
Отправлен: 21.02.2005, 21:40

Отвечает: sir henry
Здравствуйте, Сергей Николаевич!
Из встроеных в Паскаль, только связка FindFirst+FindNext и аналогичные им системные функции WinAPI.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 22.02.2005, 09:03

Отвечает: John Freeman
Здравствуйте, Сергей Николаевич!
Это не Delphi, a WINAPI - читай FindFirstFile/FindNextFile...
Ответ отправил: John Freeman (статус: Специалист)
Отправлен: 22.02.2005, 11:24

Отвечает: Samum
Здравствуйте, Сергей Николаевич!
Нужно использовать стандартные функции FindFirst, FindNext, FindClose.
Пример в приложении.

Приложение:

Ответ отправил: Samum (статус: Специалист)
Отправлен: 22.02.2005, 11:46

Отвечает: Полховский Александр Владимирович
Здравствуйте, Сергей Николаевич!
Смотрите пример функции FindFirst или FindNext. Очень понятно написано. Тут уж rtfm так rtfm.
Ответ отправил: Полховский Александр Владимирович (статус: 10-ый класс)
Отправлен: 23.02.2005, 08:04


Вопрос № 17305
Здравствуйте уважаемые эксперты!
У меня есть программа, написанная на Delphi. Она четко работает, но в ней есть
несколько не точных НАЗВАНИЙ параметров (Label). Исходника у меня нет, поэтому я думаю, что ее лучше всего декомпилировать и исправить неточности.
Пожалуста подскажите, какие декомпиляторы для этого нужно использовать?
Заранее благодярен...
Отправлен: 21.02.2005, 22:29
Вопрос задал: Gorodjaaan (статус: Посетитель)
Всего ответов отправлено: 8

Отвечает: Sh-st
Здравствуйте, Gorodjaaan!
Попробуй DeDe, правда он дает код на ассемблере, а вообще попробуй редаторами ресурсов (ResHacker). Или, если имя длинное, можно в побайтовом релаторе (WinHex).
Ответ отправил: Sh-st (статус: 2-ой класс)
Отправлен: 21.02.2005, 22:37

Отвечает: Bob Johnson
Здравствуйте, Gorodjaaan!
Для начала попробуй посмотреть в ресурсах, возможно ты там найдешь нужную строку. Для этого есть спец. программы - ResHacker, Exescope и т.п.
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 22.02.2005, 01:32

Отвечает: sir henry
Здравствуйте, Gorodjaaan!
Чтобы получить обратно Дельфийский код - это наврядли. Едиственное что можно - это асмообразный код. :)
Однако, если файл не зашиврован(сжат), в экзешнике Вы можете найти название этого самого лэйбла. Если введете вместо него свое название такой-же длины, то прога будет работать уже с Вашим названием. :)
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 22.02.2005, 08:55

Отвечает: Shizuku Tsukishima
Здравствуйте, Gorodjaaan!
Извините, но я не уверена, что Вам удастся полностью "реанимировать" Ваш проект, но сдаваться просто так нельзя! Вы найдёте нужный декомпилятор здесь: http://wasm.ru/toollist.php?list=13.
Называется DeDe.
Удачи!
Ответ отправила: Shizuku Tsukishima (статус: 2-ой класс)
Отправлен: 22.02.2005, 11:10

Отвечает: John Freeman
Здравствуйте, Gorodjaaan!
В ресурсах подправь, название такое же, типа tmainform etc...
Но ДЛИНУ строк менять нельзя, по крайней мере в большую сторону.
Ответ отправил: John Freeman (статус: Специалист)
Отправлен: 22.02.2005, 11:55

Отвечает: Samum
Здравствуйте, Gorodjaaan!
Если проблема только в изменении лейбла, то надо использовать специализированные редакторы ресурсов (например ResHacker). Или попробуй открыть в шеснадцатеричном редакторе и там поискать эти строки.
Получить дельфяной код в таком виде как он был - невозможно в принципе, каким бы крутым не был декомпилятор, поэтому я считаю эту затею пустой.
Ответ отправил: Samum (статус: Специалист)
Отправлен: 22.02.2005, 16:26

Отвечает: SteelNick
Здравствуйте, Gorodjaaan!
Декомпилятор проблему не решит. Попробуй программу под названием Restorator, может поможет.
Ответ отправил: SteelNick (статус: Практикант)
Отправлен: 22.02.2005, 19:34

Отвечает: Гриценко Юрий Алексеевич
Здравствуйте, Gorodjaaan!
Вообще в SoftIce по-моему есть возможности по декомпиляции, но перед такими крайними мерами
(разгребать ассемблерный или адаптированный код более-менее крупного проекта врагу не пожелаю) попробуй посмотреть ресурсы программы(SoftIce или ResourceHacker), по-нормальному абсолютно все строки в программе должны браться из ресурсов или файлов локализации.
Ответ отправил: Гриценко Юрий Алексеевич (статус: 2-ой класс)
Отправлен: 22.02.2005, 21:45


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться

В избранное