Форум Magic Team


 

Новости:

01.01.2017: Релиз испанской версии Naruto - Ninja Council (GBA)
02.12.2016: Добавлена документация по Kruptar 7
09.10.2015: Обновление перевода игры Battletoads (NES) [версия 1.3]
22.01.2015: Kruptar Open Source
18.10.2014: Релиз обновлённой русской версии Castlevania - Dawn of Sorrow (GBA) от Owls Group
01.05.2014: Релиз русской версии Taiyou no Yuusha Firebird (NES)
24.06.2012: Добавлена доработанная документация и инструкция
26.05.2012: Обновление ORITON [версия 2.050]
11.05.2012: Обновление ORITON [версия 2.048]
11.03.2012: Обновление Kruptar 7 [версия 7.1.1.17]
29.01.2012: Обновление LZ77Restructor 2 [версия 1.02]
01.01.2012: Релиз русской версии Drill Dozer (GBA)

Подробнее на страничке новостей.
Ознакомьтесь с правилами нашего форума.


  • Форум
  • Поиск
  • Вход
  • Регистрация

  • Форум Magic Team »
  • Разное »
  • Программирование »
  • Помощь по Delphi
« предыдущая тема следующая тема »
  • Печать
Страницы: 1 [2] 3 4   Вниз

Автор Тема: Помощь по Delphi  (Прочитано 81704 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Джинни

  • Администратор
  • Сообщений: 1339
  • Репутация: +666/-0
  • Metamorphosis
    • Просмотр профиля
    • Magic Team
Re: Помощь по Delphi
« Ответ #25 : 13 Марта 2009, 08:34:04 »
Через private.

Оффлайн BlueHairLady

  • Пользователь
  • Сообщений: 41
  • Репутация: +8/-0
    • Просмотр профиля
    • http://bhlady.narod.ru/
Re: Помощь по Delphi
« Ответ #26 : 13 Марта 2009, 13:14:35 »
Странновато... Перенесла объявление файловой переменной F: File из implementation в private - та перестала работать. Хотя остальные объявления переменных переместились без проблем. Но не буду зацикливаться, в одном месте встретила мимоходное упоминание, что в разделе реализации также можно объявлять переменные, так что ради сохранения единства стиля пока оставлю всё на старых местах. Пока всё работает без сбоев, изучение тонкостей теории позволительно оставить до лучших времён. :)


Сам корруптор и первая вспомогательная подпрограмма созданы. Осталось самое сложное, но и самое интересное - со второй подпрограмой придётся повозиться.
Надеюсь на возвращение, но сейчас меня нет.

Оффлайн BlueHairLady

  • Пользователь
  • Сообщений: 41
  • Репутация: +8/-0
    • Просмотр профиля
    • http://bhlady.narod.ru/
Re: Помощь по Delphi
« Ответ #27 : 17 Марта 2009, 23:41:09 »
Программа почти закончена! Всё работает, и даже похоже, что правильно. :D Осталось аккуратненько выровнять элементы, тщательно проверить на различных нестандартных режимах и написать небольшую инструкцию. Никто не желает помочь с тестированием? o:) (Ага, размечталась! Толпы народа так прямо и рванули!! Дверь выдавили и с собой унесли.)


В заключение желала бы добавить ещё одну небольшую функцию. Хотелось бы, чтобы переключение между 10-ным и 16-ным режимами работы осуществлялось при нажатии определённой комбинации клавиш (думаю задействовать <Ctrl+H>) на любой форме. Не хочу везде тыкать переключатели, достаточно одного в главном окне. Не подскажите, как это можно реализовать? Т.е. чтобы при нажатии определённой комбинации клавиш выполнялась некая последовательность действий, вне зависимости от того, на каком конкретно элементе находится фокус.



P.S.
И сразу ещё один вопрос. Что меня больше всего смущает, так это слишком большой получающийся размер программы. Всё же почти 800 Кб для корруптора, пусть даже очень мощного - это многовато как-то. А нельзя ли в настройках компилятора Delphi 7 отключить что-нибудь ненужное, чтобы ускорить работу и уменьшить размер приложения?
Надеюсь на возвращение, но сейчас меня нет.

Оффлайн Guyver

  • Пользователь
  • Сообщений: 180
  • Репутация: +7/-0
  • Я НЕ ВОЛШЕБНИК - Я ТОЛЬКО УЧУСЬ...
    • Просмотр профиля
    • GUYVERperevod
Re: Помощь по Delphi
« Ответ #28 : 18 Марта 2009, 11:15:20 »
Есть программы, которые сжимают полученный дельфийский exe файл - у меня прога уменьшалась на 50%, но это скорее исключение - так на 10% уменьшится, не более... А вообще может код надо упростить? Переменные там всякие длинные заменить на короткие? Если ты пробовала использовать различные компоненты, а потом от них отказалась - то могут остаться библиотеки от них в самом начале файла - они тоже могут немного увеличивать файл... Но это тоже редко бывает...

Я потестю.. А потом и свою версию обновлю ;о)))

Оффлайн BlueHairLady

  • Пользователь
  • Сообщений: 41
  • Репутация: +8/-0
    • Просмотр профиля
    • http://bhlady.narod.ru/
Re: Помощь по Delphi
« Ответ #29 : 18 Марта 2009, 16:08:03 »
Цитата: Guyver от 18 Марта 2009, 11:15:20
Есть программы, которые сжимают полученный дельфийский exe файл
А название не подскажешь?


Цитата: Guyver от 18 Марта 2009, 11:15:20
А вообще может код надо упростить?
Не думаю, что смогу что-нибудь придумать в этом направлении. Это ведь не просто корруптор, он усилен двумя анализаторами и средствами контроля за своей работой. 4 формы, 3 вида нестандартных компонентов, два из которых написала лично. Задумала это приложение ещё год назад, но тогда у меня ещё не было достаточно знаний, не получилось.


Цитата: Guyver от 18 Марта 2009, 11:15:20
Переменные там всякие длинные заменить на короткие? Если ты пробовала использовать различные компоненты, а потом от них отказалась - то могут остаться библиотеки от них в самом начале файла - они тоже могут немного увеличивать файл...
*SCRATCH* Мне всегда казалось, что названия переменных - это не более, чем информация для разработчика; что на длину создаваемого машинного кода это никак не влияет. Похожая вещь и с указываемыми библиотеками - ИМХО, это просто места, куда заглядывает компилятор при создании исполняемого файла, лишние библиотеки на величину конечного файла никак не влияют. Или я не права? *SCRATCH* А вообще я действительно иногда с элементами экспериментировала.


Бетку сделаю через пару дней, пришлю на e-mail.
Надеюсь на возвращение, но сейчас меня нет.

Оффлайн Griever

  • Magic Team
  • Сообщений: 69
  • Репутация: +14/-5
    • Просмотр профиля
Re: Помощь по Delphi
« Ответ #30 : 18 Марта 2009, 19:48:23 »
Цитировать (выделенное)
Есть программы, которые сжимают полученный дельфийский exe файл
А название не подскажешь?
Бесплатный - консольный UPX (обычно используют "--brute ExeFileName"). Но толку от подобных программ немного - жмут они как архиваторы (ну ладно, лучшие архиваторы), и добавляют распаковщик в тело исполняемого файла, поэтому, думаю, логичнее просто упаковать программу, скажем, в 7z...
Боюсь, что даже если бы было что оптимизировать, эффект бы это дало минимальный:
Цитировать (выделенное)
основная причина громоздких размеров программ, в которых используются классы - это то обстоятельство, что одни классы используют другие, те, в свою очередь, третьи, и так далее, и так до такой степени, когда разорвать связи уже невозможно. Вы указываете в uses ссылку на модуль Forms, или на Dialogs, и все - ваши 350-400 Килобайт в программу добавлены
Поэтому радикальный выход: сменить язык; программировать API; отказаться от GUI; ну или использовать KOL и MCK.

Оффлайн Джинни

  • Администратор
  • Сообщений: 1339
  • Репутация: +666/-0
  • Metamorphosis
    • Просмотр профиля
    • Magic Team
Re: Помощь по Delphi
« Ответ #31 : 19 Марта 2009, 07:02:05 »
Выход: на размере на заморачиваться.

Оффлайн BlueHairLady

  • Пользователь
  • Сообщений: 41
  • Репутация: +8/-0
    • Просмотр профиля
    • http://bhlady.narod.ru/
Re: Помощь по Delphi
« Ответ #32 : 19 Марта 2009, 11:06:22 »
Работу горячих клавиш организовала, поставив свойство формы KeyPreview в положение true и написав небольшой обработчик события onKeyDown. При этом выяснила любопытную вещь - оказывается, комбинация <Ctrl+H> в большинстве случаев действует аналогично клавише <BackSpace>. Не знала такого. Заблокировать эту вещь с ходу не получилось (сначала в поле ввода удаляется символ, а лишь затем срабатывает обработчик формы), поэтому решила просто сменить свою управляющую комбинация на <Ctrl+Q>. :)

Про UPX почитала - вещь сомнительной полезности. *F_DISAPPOINTED*  К ускорению программы и уменьшению занимаемой ею оперативной памяти не приводит; для передачи через Интернет лучше использовать тот же самый 7z; разве что немного экономит место на диске - но что такое лишние сэкономленные 100 кб для современных винчестеров?! :D

Про API, KOL и МСК также почитала, но это не моя квалификация, а создавать корруптор без выразительного GUI - ИМХО, нелепо. Небольшой выигрыш даёт снятие флажков с Range checking и Overflow checking в опциях компилятора (правда они по умолчанию и так должны быть сняты). Снятие флажков с I/O checking и со всех пунктов в группе Debugging не уменьшило размер скомпилированной программы ни на байт. Ради проверки удалила из верхушек создаваемых pas-файлов подключения всех неиспользуемых библиотек (то, о чём Guyver писал) - выгоды от этого также не обнаружилось.
Надеюсь на возвращение, но сейчас меня нет.

Оффлайн Mefistotel

  • Пользователь
  • Сообщений: 123
  • Репутация: +0/-0
    • Просмотр профиля
Re: Помощь по Delphi
« Ответ #33 : 19 Марта 2009, 15:29:00 »
Вот тебе и говорят, не заморачивайся ты на размере. 800 килобайт - это мизер... Имхо, главное - функциональность.
После освоения дебага вообще перестал пользоваться коррупторами. Даже забыл о них. Но твою улучшенную версию обязательно посмотрю. Для новичков такие программы просто незаменимы.

Оффлайн Guyver

  • Пользователь
  • Сообщений: 180
  • Репутация: +7/-0
  • Я НЕ ВОЛШЕБНИК - Я ТОЛЬКО УЧУСЬ...
    • Просмотр профиля
    • GUYVERperevod
Re: Помощь по Delphi
« Ответ #34 : 19 Марта 2009, 18:47:29 »
Просто дебаг не везде есть ;о)

Оффлайн BlueHairLady

  • Пользователь
  • Сообщений: 41
  • Репутация: +8/-0
    • Просмотр профиля
    • http://bhlady.narod.ru/
Re: Помощь по Delphi
« Ответ #35 : 21 Марта 2009, 23:26:20 »
Последние дни занималась доработкой деталей, наконец-то дело дошло до финальных испытаний. Но остался ещё один очень важный вопрос: КАК НАЗВАТЬ ПРОГРАММУ? *SCRATCH*  Так до сих пор окончательно и не определилась с названием. Не хочу называть просто какой-то там поганкой. Вот Вижуэл Поганка - это да, поганка: небольшая и слегка легкомысленная (хотя ошибок в работе так и не было обнаружено). Но для нового корруптора нужно что-то, олицетворяющее мощь, пусть и не наделённую большим интеллектом. Вещь получилась неслабая, но какая-то... сомнительной полезности. Напоминает мускулистого дикаря, который размахивает большой дубинкой, не совсем понимая, зачем это нужно. *F_HOBO*
Надеюсь на возвращение, но сейчас меня нет.

Оффлайн Guyver

  • Пользователь
  • Сообщений: 180
  • Репутация: +7/-0
  • Я НЕ ВОЛШЕБНИК - Я ТОЛЬКО УЧУСЬ...
    • Просмотр профиля
    • GUYVERperevod
Re: Помощь по Delphi
« Ответ #36 : 22 Марта 2009, 05:42:40 »
BlueHairLady, проверь почту...

Оффлайн JurasskPark

  • Администратор
  • Сообщений: 1307
  • Репутация: +37/-666
    • Просмотр профиля
    • JurasskPark
Re: Помощь по Delphi
« Ответ #37 : 22 Марта 2009, 08:32:20 »
Цитата: BlueHairLady от 21 Марта 2009, 23:26:20
КАК НАЗВАТЬ ПРОГРАММУ? *SCRATCH*
Напоминает мускулистого дикаря, который размахивает большой дубинкой, не совсем понимая, зачем это нужно. *F_HOBO*

Назови Barbarian или Barbarous.  LOL

Оффлайн Guyver

  • Пользователь
  • Сообщений: 180
  • Репутация: +7/-0
  • Я НЕ ВОЛШЕБНИК - Я ТОЛЬКО УЧУСЬ...
    • Просмотр профиля
    • GUYVERperevod
Re: Помощь по Delphi
« Ответ #38 : 22 Марта 2009, 15:43:19 »
"Приложению не удалось запуститься, поскольку qtintf70.dll не был найден..."

Вот такая петрушка вместо корруптора ;о)))

Оффлайн Guyver

  • Пользователь
  • Сообщений: 180
  • Репутация: +7/-0
  • Я НЕ ВОЛШЕБНИК - Я ТОЛЬКО УЧУСЬ...
    • Просмотр профиля
    • GUYVERperevod
Re: Помощь по Delphi
« Ответ #39 : 22 Марта 2009, 15:51:40 »
Вижу опять траблы с тем, что прога просто так не запускается... В прошлый раз без среды не работала, а в этот без библиотеки ;о)))

qtintf70.dll: Библиотека, необходимая для ?запуска программ на Delphi, использующих CLX-компоненты - а если у пользователя нет такой бяки???

Оффлайн Джинни

  • Администратор
  • Сообщений: 1339
  • Репутация: +666/-0
  • Metamorphosis
    • Просмотр профиля
    • Magic Team
Re: Помощь по Delphi
« Ответ #40 : 22 Марта 2009, 16:31:57 »
Хм. Зачем было использовать CLX-компоненты? Стандартных разве недостаточно?

Оффлайн BlueHairLady

  • Пользователь
  • Сообщений: 41
  • Репутация: +8/-0
    • Просмотр профиля
    • http://bhlady.narod.ru/
Re: Помощь по Delphi
« Ответ #41 : 22 Марта 2009, 19:03:59 »
Цитата: Guyver от 22 Марта 2009, 15:43:19
"Приложению не удалось запуститься, поскольку qtintf70.dll не был найден..."
Ну вот, а я-то думала, что все проблемы уже решены.  *F_CRY*  Даже скриншоты для инструкции уже сделала.
*F_CRY* *F_CRY* *F_CRY*
  *F_RAIN*


Цитата: Джинни от 22 Марта 2009, 16:31:57
Хм. Зачем было использовать CLX-компоненты? Стандартных разве недостаточно?
CLX... Отправилась читать Википедию. Пожалуй, ссылку на неё нужно переместить на главную панель браузера.


Никаких специальных CLX-компонентов я не подключала, но использовала 3 нестандартных. Увы, но стандартных здесь явно недостаточно. Среди них нет ни цветной кнопки, ни специализированного поля ввода 16-ных цифр. Если использовать стандартные и корректировать их работу в самой программе - то получится такое нагромождение процедур, разобраться в котором человеку практически нереально. %) Иначе бы этот корруптор я ещё летом написала.

Пойду читать, как создавать устанавливаемые приложения. Хотелось бы обойтись без этого, корруптору желательно быть мобильным - но похоже, не получится.
Надеюсь на возвращение, но сейчас меня нет.

Оффлайн Guyver

  • Пользователь
  • Сообщений: 180
  • Репутация: +7/-0
  • Я НЕ ВОЛШЕБНИК - Я ТОЛЬКО УЧУСЬ...
    • Просмотр профиля
    • GUYVERperevod
Re: Помощь по Delphi
« Ответ #42 : 23 Марта 2009, 11:04:13 »
Помню я помогал делать базу игровых приставок - писал для неё программу. Это была оболочка, которая скачивала с инета обновления в зипе, потом сама их распаковывала и уже отображала. При закрытии опять запаковывала. Был нестандартный компонент распаковки-запаковки, который тоже использовал ДЛЛ-ку. Так вот - я просто с прогой этот ДЛЛ поставлял - достаточно было его в ту же папку, где и прога бросить - и всё работало... Но это, конечно, не самый лучший выход из положения... Пришлось делать установщик проги - чтобы он сам кидал всё в папку п програм файлс... Но зато появлялась иконка на раб. столе, а в папке с прогой были файлы ридми, ini, иконка и exe - всё как у сУрьёзной программы ;о)))

Оффлайн BlueHairLady

  • Пользователь
  • Сообщений: 41
  • Репутация: +8/-0
    • Просмотр профиля
    • http://bhlady.narod.ru/
Re: Помощь по Delphi
« Ответ #43 : 23 Марта 2009, 12:01:00 »
Вдруг вспомнила, что на моём компьютере не одна операционная система, а две. Одной я активно пользуюсь, а вторая резервная. Если вдруг что-то с первой случится (а у меня это не редкость), катастрофой это не станет. Такой подход себя уже оправдал.

Ну так вот, в резервной системе у меня Delphi не установлена. Запустила свой корруптор через неё - точно, не работает. Банально скопировала файл qtintf70.dll (объёмом 4 Мб) в соответствующую папку - всё запустилось. Вот только ещё почему-то диаграммы выглядывают за границы окна... Новая проблемка... Приходите ко мне в гости, покажу самый мощный из коррупторов, на моём компьютере работает безглючно. o:)  Но в других местах почему-то возникают петрушка с редиской...*F_CONFUSED* Продолжу разбираться.


P.S.
Но сначала погуляю. Сегодня у нас прохладно, но солнечно. Обожаю солнце!
Надеюсь на возвращение, но сейчас меня нет.

Оффлайн Guyver

  • Пользователь
  • Сообщений: 180
  • Репутация: +7/-0
  • Я НЕ ВОЛШЕБНИК - Я ТОЛЬКО УЧУСЬ...
    • Просмотр профиля
    • GUYVERperevod
Re: Помощь по Delphi
« Ответ #44 : 23 Марта 2009, 12:53:52 »
Я делал прогу в ХР - в Висте она выглядела очень криво... Тогда пересел на Висту - теперь для ХР прога выглядит нормально... Все траблы тоже с окнами и их размерами были...

Оффлайн Guyver

  • Пользователь
  • Сообщений: 180
  • Репутация: +7/-0
  • Я НЕ ВОЛШЕБНИК - Я ТОЛЬКО УЧУСЬ...
    • Просмотр профиля
    • GUYVERperevod
Re: Помощь по Delphi
« Ответ #45 : 25 Марта 2009, 13:51:40 »
Теперь прога работает, но у меня в Висте она не помещается в своё окно...

Потом, например размер файла 10 h... когда я ставлю пределы изменяемых величин на самое последнее значение от 10 h до 10 h, то возникает Range check Error и прога виснет... Надо обработать такую исключительную ситуацию...

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

Оффлайн Guyver

  • Пользователь
  • Сообщений: 180
  • Репутация: +7/-0
  • Я НЕ ВОЛШЕБНИК - Я ТОЛЬКО УЧУСЬ...
    • Просмотр профиля
    • GUYVERperevod
Re: Помощь по Delphi
« Ответ #46 : 25 Марта 2009, 13:54:37 »
В общем, пока прога практически не работает ;о) Где-то сидит ошибка... В границах изменяемого участка...

Оффлайн Guyver

  • Пользователь
  • Сообщений: 180
  • Репутация: +7/-0
  • Я НЕ ВОЛШЕБНИК - Я ТОЛЬКО УЧУСЬ...
    • Просмотр профиля
    • GUYVERperevod
Re: Помощь по Delphi
« Ответ #47 : 25 Марта 2009, 14:00:18 »
Точнее в самом последнем значении файла, как только прога до него доходит - висяк, а если до него ещё 1 символ - всё нормально... На то, что прога вносит в файл - ещё не смотрел...

Оффлайн Zalbard

  • Magic Team
  • Сообщений: 134
  • Репутация: +32/-9
    • Просмотр профиля
Re: Помощь по Delphi
« Ответ #48 : 25 Марта 2009, 14:01:15 »
Не женское это дело - программировать. :) Лучше бы вкусное что-нибудь нам готовила.

Оффлайн Guyver

  • Пользователь
  • Сообщений: 180
  • Репутация: +7/-0
  • Я НЕ ВОЛШЕБНИК - Я ТОЛЬКО УЧУСЬ...
    • Просмотр профиля
    • GUYVERperevod
Re: Помощь по Delphi
« Ответ #49 : 25 Марта 2009, 14:20:40 »
Хекс компонент в самом низу - как я понял, он останавливается на последнем байте, который был изменён?

Может лучше сделать в нём показ всего диапазона изменённых байт со скроллбаром вертикальным? А можно 2 окна таких - до и после... Я как раз в своей проге такую вещь сделал в новой версии... Удобно анализировать...

Работать только с каждым Х-ым байтом... Например со вторым, а прога-то начинает работу с первого байта в диапазоне ;о) Парадокс получается ;о))) Надо как-то по-другому написать?

С анализатором закономерностей пока не понял как работать... Не запускается он у меня... Хотя с виду вещь нужная...

  • Печать
Страницы: 1 [2] 3 4   Вверх
« предыдущая тема следующая тема »
  • Форум Magic Team »
  • Разное »
  • Программирование »
  • Помощь по Delphi
 

  • SMF 2.0.12 | SMF © 2011, Simple Machines
  • XHTML
  • RSS
  • Мобильная версия

  • GreenUP by Neekiinh0.

Размер занимаемой памяти: 2.5 мегабайта.
Страница сгенерирована за 0.092 секунд. Запросов: 73.