Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Редактирование программки | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 1
 
Поиск в этой теме:
Железный канал: «Редактирование программки»
Rorosh
 65 EGP

Репутация: 12
Сообщения: 64
Откуда: из созвездия Кассиопея
Зарегистрирован: 11.08.2015
Может кто-нибудь может помочь?

Есть программка для заполнения анкеты фед.миграционной службы.
Окно поделено пополам.
В левой части вставляется картинка с анкетой (файл первой страницы - Original1.bmp ).
В правой части окошки для ввода слов в квадратики формы - символы вводятся поверх картинки.

 Cкрытый текст   (кликните здесь для просмотра)


Дело такое. Форма поменялась, хочется как-то подредактировать программу под новую форму.
1. Форму в виде картинки сохранить не проблема.
2. С помощью ResHacker я залез в экзешник могу редактировать правую часть окна (то есть окошки для ввода) в разделе Dialogs.
3. Но, я не понимаю где и каким образом окошки для ввода связаны с координатами ячеек на картинке....

Даже не знаю с чего начать и чем воспользоваться, и реально ли вообще узнать.
Уже кучу каких-то программ перепробовал для редактирования - нифига толкового не вижу.
А некоторые там по десятку и больше гигов весят.. пока скачаю из интереса - сдохну.

Может в файле PrintForm1.fcr что-нибудь прописано, но у меня там большая часть текста забита всякими NUL.

Может кто-нибудь, кто занимается программированием, глянет и подскажет чем и как можно поковыряться?

Если не получится, то буду пробовать создавать аналог в экселе как-то.
Просто буковки и галочки ставить в ячейки по одной слишком муторно..

3.zip
 Описание:
программка
 Имя файла:  3.zip
 Размер файла:  466.35 KB
 Скачано:  271 раз(а)


Последний раз редактировалось: Rorosh (23:43 10-02-2018), всего редактировалось 3 раз(а)
    Добавлено: 23:31 10-02-2018   
Dimaxx
 980 EGP


Рейтинг канала: 8(868)
Репутация: 204
Сообщения: 5728
Откуда: Северодвинск
Зарегистрирован: 26.06.2002
ResHacker не поможет. Им только контролы на форме шаманить можно. Все, что вводится в полях, - выводится в определенное место на картинку. И это все в коде. Такую штуку проще в экселе сделать - подложить картинку и подгонять ячейки.
_________________
"Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс
    Добавлено: 23:44 10-02-2018   
AnrDaemon
 856 EGP


Модератор
Рейтинг канала: 8(784)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
+1 за эксельку. Посидеть вечерок, всё получится.
При том что все поля строго квадратно-гнездовые.
_________________
Люблю свободный полёт... :)

Последний раз редактировалось: AnrDaemon (00:01 11-02-2018), всего редактировалось 1 раз
    Добавлено: 00:01 11-02-2018   
Rorosh
 65 EGP

Репутация: 12
Сообщения: 64
Откуда: из созвездия Кассиопея
Зарегистрирован: 11.08.2015
Dimaxx :
ResHacker не поможет

Ну это я понял, просто не знаю чем там более подходящим делать. И вообще реально ли так с нуля..

Dimaxx :
подложить картинку и подгонять ячейки.

Да изначально можно сразу в экселевской форме в каждую ячейку по букве вставлять, но это как-то напряжно для заполнения - в каждую ячейку щелкать.

По этому надо как-то создавать аналог программки, только в экселе.
AnrDaemon :
При том что все поля строго квадратно-гнездовые.

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

В общем с экселем завтра начну возиться, но если кто-то хоть ради интереса глянет можно ли что-то толковое с программой сделать (делать даже не прошу - просто чем и как), то было бы здорово.

Вообще в интернете есть аналог в виде сайта, но там сохранять данные в полях нельзя, каждый раз всё заново..

добавлено спустя 8 минут:
Rorosh :
Shirson подсказал какой функцией привязать несколько ячеек к одной строке, в которую можно слово вписать, а буквы будут в ячейках по одной появляться.

В принципе попробовал, вроде это получается. Ладно, буду смотреть как дальше пойдёт.

Последний раз редактировалось: Rorosh (00:35 11-02-2018), всего редактировалось 1 раз
    Добавлено: 00:35 11-02-2018   
Dimaxx
 980 EGP


Рейтинг канала: 8(868)
Репутация: 204
Сообщения: 5728
Откуда: Северодвинск
Зарегистрирован: 26.06.2002
Rorosh :
Плюс чекеры круглые как-то вставлять, чтоб ручками в нужных ячейках крестики не вставлять, это уже отдельная песня...

Вряд ли кто-то будет требовать 100% соответствия - ставь Х в ячейку и все.

Можно сделать отдельный лист с данными для чистового. Задаешь строки и по заполнению расставлять буквы в поля. С чекерами проще - пусто или X. Либо лепить контрол. Либо сначала задаешь все параметры, потом кнопка внизу листа с данными и по нажатию на оную все на чистовике появляется. Так сказать, простор для творчества.
_________________
"Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс

Последний раз редактировалось: Dimaxx (00:57 11-02-2018), всего редактировалось 1 раз
    Добавлено: 00:54 11-02-2018   
Rorosh
 65 EGP

Репутация: 12
Сообщения: 64
Откуда: из созвездия Кассиопея
Зарегистрирован: 11.08.2015
Dimaxx :
ставь Х в ячейку и все

Ну это просто чтоб в клавиатуру меньше тыкать..

Спасибо, буду думать. Улыбка
    Добавлено: 01:28 11-02-2018   
AnrDaemon
 856 EGP


Модератор
Рейтинг канала: 8(784)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
Rorosh :
Плюс чекеры круглые как-то вставлять, чтоб ручками в нужных ячейках крестики не вставлять, это уже отдельная песня...

Это всё тривиально на самом деле.
На всё есть формулы, просто выделаешь отдельный лист для управления формой.

добавлено спустя 2 минуты:
Rorosh :
Да изначально можно сразу в экселевской форме в каждую ячейку по букве вставлять, но это как-то напряжно для заполнения - в каждую ячейку щелкать.

Если стоит задача "сделать быстро" - ещё не так раскорячишься.
А если надо "сделать хорошо" - тут уже вопрос совсем другой и формулы типа
Код:
=LOWER(TRIM(IF(ISERROR(FIND(",";$A187;3));$A187;SUBSTITUTE(MID($A187;FIND(",";$A187;3);50);",";"")))&"а")
чтобы добавить одну буковку к слову - это ещё цветочки.
_________________
Люблю свободный полёт... :)

Последний раз редактировалось: AnrDaemon (16:20 18-03-2018), всего редактировалось 2 раз(а)
    Добавлено: 04:26 11-02-2018   
Rorosh
 65 EGP

Репутация: 12
Сообщения: 64
Откуда: из созвездия Кассиопея
Зарегистрирован: 11.08.2015
AnrDaemon :
чтобы добавить одну буковку к слову - это ещё цветочки.

Да, что-то прямо мозг сломаешь..

На чекбоксы забил, короче. Сделал просто выпадающий список из X и "пусто".

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

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

Ещё эксель упорно жрёт нули, стоящие в начале, при трансляции значения ячейки в другую ячейку с помощью =ПСТР.
Чтоб не жрало, приходится представлять значение как обычный текст, но тогда приходится вручную добавлять 0 к месяцам с 1 по 9.

Вообще, конечно, эксель скорее калькулятор какой-то, чем прямо нечто.




Вопрос, кстати. Почему-то у меня часто бывает такое, что когда начинаю вводить текст в ячейку, то она, внезапно, изменяет высоту.
Например есть таблица, у которой высота всех строк 14. Жмакаешь в какую-нибудь строку и она хоп - становится высотой в 17.
Или когда из одной ячейки копируешь текст в точно такую же - тоже такое бывает..
Причем отменой обратно высоту вернуть нельзя.. Подозрение.

Пока что-то такое получается:

5.zip
 Описание:
 Имя файла:  5.zip
 Размер файла:  127.29 KB
 Скачано:  259 раз(а)


Последний раз редактировалось: Rorosh (17:11 11-02-2018), всего редактировалось 2 раз(а)
    Добавлено: 05:14 11-02-2018   
AnrDaemon
 856 EGP


Модератор
Рейтинг канала: 8(784)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
1. Делаешь один лист - форму управления.
2. Делаешь один лист - вспомогательный, для хранения промежуточных данных от тех же чекбоксов.
3. Один лист - собственно форма, которую надо заполнить.

Все данные вводятся на первой странице.
Вторая страница скрыта от обычного пользователя.
Третья страница защищена от редактирования полностью, там только формулы.
_________________
Люблю свободный полёт... :)

Последний раз редактировалось: AnrDaemon (05:21 11-02-2018), всего редактировалось 1 раз
    Добавлено: 05:21 11-02-2018   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 3(29)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Rorosh :
На чекбоксы забил, короче. Сделал просто выпадающий список из X и "пусто".
У тебя там не чекбоксы, а радиобутоны Улыбка
Они есть в закладке Developer -> Insert

Цитата:
Не нашел, к сожалению, как запретить в ячейке вводить количество символов больше заданного. Разве что можно сделать, чтоб если ввёл больше положенного, то выскакивало бы предупреждение и требовало бы уменьшить количество символов.
Напрямую это сложно. С той жк закладки можно на форуму положить TextBox, привязать его к нужной ячейки и уже в нём задать максимальное количество символов. Заполнять, соответственно, его.

Цитата:
Вообще в экселе огорчает то, что ячейки не могу существовать автономно от других. То есть при изменении размеров соседние ячейки тоже меняются..
Это таблица. Если меняешь размеры в ширину - меняется сесь столбец. Если в высоту - меняется вся строка.
Если нужны автономные поля ввода, Developer -> Insert -> TextBox

Цитата:
Плюс не нашел как заблокировать лист от вывода на печать, по этому запихнул всё на один лист.
Делается от противного: Выбираешь область, которая должна печататься и в меню Page Layout -> Print Area -> Set Print Area

Цитата:
Ещё эксель упорно жрёт нули, стоящие в начале, при трансляции значения ячейки в другую ячейку с помощью =ПСТР.
Поставь формат ячейки не Number, а Text. Будет показывать в точности то, что даёшь.

Цитата:
Чтоб не жрало, приходится представлять значение как обычный текст, но тогда приходится вручную добавлять 0 к месяцам с 1 по 9.
Старый трюк:
=RIGHT(CONCATENATE("0", MonthCell), 2)

Цитата:
Вообще, конечно, эксель скорее калькулятор какой-то, чем прямо нечто.
Эксель это жесточайшее термоядерное нечто, с лютыми возможностями. Ты просто, пока, столкнулся с 0.00000т такусенькой его частью Улыбка

Цитата:
Вопрос, кстати. Почему-то у меня часто бывает такое, что когда начинаю вводить текст в ячейку, то она, внезапно, изменяет высоту.
Высота ячейки меньше, чем необходима, для полного отображения заданного размера шрифта и/или длины текста.

Цитата:
Пока что-то такое получается:
Нормально получается, молодчина.
_________________
У меня бисера не доxеpа.
    Добавлено: 18:28 12-02-2018   
Rorosh
 65 EGP

Репутация: 12
Сообщения: 64
Откуда: из созвездия Кассиопея
Зарегистрирован: 11.08.2015
Shirson, спасибо большое! Улыбка Супер!
Пока полностью всё доделал примерно так же, как в примере, за некоторыми изменениями.
После обкатки и тестирования попробую модифицировать и улучшить, используя изложенные подсказки. В любом случае, навык точно пригодится.

Изменение высоты строк попробую подловить, когда попадётся, проверю.

PS, ну калькулятором я его в уважительном смысле назвал, просто пока по моим ощущениям, он все-таки больше на расчеты заточен, если брать с нахрапа. А чтоб всё в кучу смешать, цифры, даты, тексты и так далее, это, конечно, попотеть приходится.

1.zip
 Описание:
 Имя файла:  1.zip
 Размер файла:  174.82 KB
 Скачано:  269 раз(а)


Последний раз редактировалось: Rorosh (19:15 12-02-2018), всего редактировалось 1 раз
    Добавлено: 19:14 12-02-2018   
AgamemnoN.A.R.
 80 EGP

Рейтинг канала: 1(9)
Репутация: 25
Сообщения: 82
Откуда: Россия
Зарегистрирован: 25.04.2015
Давно интересует вопрос - а как машина такие бланки считывает (ну там в ведомствах и так далее)? - просто знает сколько ячеек занимает каждая переменная и просканировав все ячейки "в одну строку", потом "нарезает" и по порядку заносит в свою базу данных?
То есть, если просто взять то же самое количество ячеек, правильно их заполнить и разместить без перерывов и всяких названий, вроде "Фамилия", "Город", то результат тот же получится?

Ну типа

Страна _ _ _ _ _ _ Город _ _ _ _ _

равно
_ _ _ _ _ _ _ _ _ _ _


Или как-то по другому?
    Добавлено: 22:41 12-02-2018   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 3(29)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Вариантов может быть невероятное количество, и зависит исключительно от фОнтазии разработчиков.
Самый простой и очевидный - для каждой буквы заданы рамки, в которых она может появиться. Сканируется весь бланк, потом по атласу этих рамок делается OCR и полученные буквы складываются в строки.
Как оно на самом деле - честное ХЗ. Реально, зависит от разрабов, доступных им библиотек, тараканов в голове у начальства и пр.
_________________
У меня бисера не доxеpа.
    Добавлено: 18:03 13-02-2018   
Железный канал: «Редактирование программки»
 
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Чаи в принципе впитывают запахи, можно в старые кеды положить - будет трава и свежесть в кедах и хим. оружие в руках. (Leksandrit)

  » Редактирование программки | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18