Вопрос № 17282: Как сделать, чтобы Hint компонента высвечивалься столько времени, сколько курсор держиться над этим компонентом?...Вопрос № 17298: Привет! Какие есть функции, как можно осуществить следующее: при указание пути к каталогу, вывести имена всех файлов из этого каталога пита string?...Вопрос № 17305: Здравствуйте уважаемые эксперты!
У меня есть программа, написанная на Delphi. Она четко работает, но в ней есть
несколько не точных НАЗВАНИЙ параметров (Label). Исходника у меня нет, поэтому я думаю, что ее лучше всего декомпилировать и испр...
Вопрос № 17282
Как сделать, чтобы Hint компонента высвечивалься столько времени, сколько курсор держиться над этим компонентом?
Отправлен: 21.02.2005, 15:30
Вопрос задал: KrGorGaz (статус: Посетитель)
Всего ответов отправлено: 3
Отвечает: Гриценко Юрий Алексеевич
Здравствуйте, KrGorGaz!
Никак, кроме пререгрузки соответствующих функций.
Отвечает: Полховский Александр Владимирович
Здравствуйте, KrGorGaz!
Могу только сказать, как увеличить это время (предел не помню, но он немаленький).
Application.HintHidepause:integer.
Отвечает: 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.
Здравствуйте уважаемые эксперты!
У меня есть программа, написанная на 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), по-нормальному абсолютно все строки в программе должны браться из ресурсов или файлов локализации.