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

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

Search | Conference rules | Album | Register | Pilots list | Profile | Log in to check your private messages | Log in

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


: 12
Posts: 64
Location: из созвездия Кассиопея
Joined: 11 Aug 2015
Может кто-нибудь может помочь?

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

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


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

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

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

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

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

3.zip
 Description:
программка
 Filename:  3.zip
 Filesize:  466.35 KB
 Downloaded:  298 Time(s)


Last edited by Rorosh on 23:43 10-02-2018; edited 3 times in total
    Posted: 23:31 10-02-2018   
Dimaxx
 1025 EGP


Рейтинг канала: 8(904)
: 204
Posts: 5825
Location: Северодвинск
Joined: 26 Jun 2002
ResHacker не поможет. Им только контролы на форме шаманить можно. Все, что вводится в полях, - выводится в определенное место на картинку. И это все в коде. Такую штуку проще в экселе сделать - подложить картинку и подгонять ячейки.
_________________
"Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс
    Posted: 23:44 10-02-2018   
AnrDaemon
 866 EGP


Модератор
Рейтинг канала: 8(802)
: 37
Posts: 12332

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

Last edited by AnrDaemon on 00:01 11-02-2018; edited 1 time in total
    Posted: 00:01 11-02-2018   
Rorosh
 65 EGP


: 12
Posts: 64
Location: из созвездия Кассиопея
Joined: 11 Aug 2015
Dimaxx wrote:
ResHacker не поможет

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

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

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

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

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

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

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

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

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

Last edited by Rorosh on 00:35 11-02-2018; edited 1 time in total
    Posted: 00:35 11-02-2018   
Dimaxx
 1025 EGP


Рейтинг канала: 8(904)
: 204
Posts: 5825
Location: Северодвинск
Joined: 26 Jun 2002
Rorosh wrote:
Плюс чекеры круглые как-то вставлять, чтоб ручками в нужных ячейках крестики не вставлять, это уже отдельная песня...

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

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

Last edited by Dimaxx on 00:57 11-02-2018; edited 1 time in total
    Posted: 00:54 11-02-2018   
Rorosh
 65 EGP


: 12
Posts: 64
Location: из созвездия Кассиопея
Joined: 11 Aug 2015
Dimaxx wrote:
ставь Х в ячейку и все

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

Спасибо, буду думать. Улыбка
    Posted: 01:28 11-02-2018   
AnrDaemon
 866 EGP


Модератор
Рейтинг канала: 8(802)
: 37
Posts: 12332

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

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

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

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

Last edited by AnrDaemon on 16:20 18-03-2018; edited 2 times in total
    Posted: 04:26 11-02-2018   
Rorosh
 65 EGP


: 12
Posts: 64
Location: из созвездия Кассиопея
Joined: 11 Aug 2015
AnrDaemon wrote:
чтобы добавить одну буковку к слову - это ещё цветочки.

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

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

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

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

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

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




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

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

5.zip
 Description:
 Filename:  5.zip
 Filesize:  127.29 KB
 Downloaded:  291 Time(s)


Last edited by Rorosh on 17:11 11-02-2018; edited 2 times in total
    Posted: 05:14 11-02-2018   
AnrDaemon
 866 EGP


Модератор
Рейтинг канала: 8(802)
: 37
Posts: 12332

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

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

Last edited by AnrDaemon on 05:21 11-02-2018; edited 1 time in total
    Posted: 05:21 11-02-2018   
Shirson
 1605 EGP


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

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

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

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

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

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

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

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

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


: 12
Posts: 64
Location: из созвездия Кассиопея
Joined: 11 Aug 2015
Shirson, спасибо большое! Улыбка Супер!
Пока полностью всё доделал примерно так же, как в примере, за некоторыми изменениями.
После обкатки и тестирования попробую модифицировать и улучшить, используя изложенные подсказки. В любом случае, навык точно пригодится.

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

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

1.zip
 Description:
 Filename:  1.zip
 Filesize:  174.82 KB
 Downloaded:  299 Time(s)


Last edited by Rorosh on 19:15 12-02-2018; edited 1 time in total
    Posted: 19:14 12-02-2018   
AgamemnoN.A.R.
 80 EGP


Рейтинг канала: 1(9)
: 25
Posts: 82
Location: Россия
Joined: 25 Apr 2015
Давно интересует вопрос - а как машина такие бланки считывает (ну там в ведомствах и так далее)? - просто знает сколько ячеек занимает каждая переменная и просканировав все ячейки "в одну строку", потом "нарезает" и по порядку заносит в свою базу данных?
То есть, если просто взять то же самое количество ячеек, правильно их заполнить и разместить без перерывов и всяких названий, вроде "Фамилия", "Город", то результат тот же получится?

Ну типа

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

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


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


Модератор
Рейтинг канала: 3(29)
: 219
Posts: 16511
Location: 79°W 44°N
Joined: 29 Jan 2002
Вариантов может быть невероятное количество, и зависит исключительно от фОнтазии разработчиков.
Самый простой и очевидный - для каждой буквы заданы рамки, в которых она может появиться. Сканируется весь бланк, потом по атласу этих рамок делается OCR и полученные буквы складываются в строки.
Как оно на самом деле - честное ХЗ. Реально, зависит от разрабов, доступных им библиотек, тараканов в голове у начальства и пр.
_________________
У меня бисера не доxеpа.
    Posted: 18:03 13-02-2018   
Железный канал: «Редактирование программки»
 
  
Display posts from previous: 
View previous topic | View next topic |
К списку каналов | Наверх страницы
Цитата не в тему: Требуй лучше красные штаны, тогда эцелопам нельзя будет бить тебя по ночам. (предложил InDiGO)

  » Редактирование программки |
Каналы: Новости | 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