![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
Здравствуйте, пишу проверку букв для кроссворда, при правильном вводе букв, которые составляет слово должна увеличиваться переменная M, но этого не происходит, так же надо при неправильном вводе увеличивать n на единицу и ответы вывести в мемо, исправьте, пожалуйста, код. Пишу на Borland Delphi 7
Код:
from dark to light)
|
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
![]() Цитата:
Небольшой совет: освойте работу с массивами, структурами данных, динамическое создание компонентов, а потом перепишите Вашу программу с нуля. Код:
![]()
Благодарить в репутацию. Проклинать — туда же
![]() |
|
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]() Цитата:
![]()
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
|
![]() |
![]() |
![]() |
#4 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
с массивами могу работать, но edit запихнуть в массив не умею, в делфи новичек, поэтому использую знания, полученные на паскале, если можете, киньте пару ссылочек на то, что мне поможет)
даже если edit в массив и помещу, то как организовать проверку условия? код получится чуть поменьше, всего массивов по идее 18, так как 18 слов, можно для уменьшения кода использовать Код:
from dark to light)
Последний раз редактировалось Stilet; 01.11.2012 в 23:23. |
![]() |
![]() |
![]() |
#5 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Выкиньте эдиты, мой Вам совет (если не боитесь потом потенциальной необходимости глубоко перекроить программу, конечно) и сделайте TStringGrid (вкладка Additional на палитре компонент). Установите ему Options-goEditing, чтобы редактировать вручную (но надо будет заморачиваться с обрезкой ввода от юзера при ручном редактировании, которую можно сделать по OnSetEditText), либо (что я больше советую) напишите обработчик нажатия клавиатуры на гриде (OnKeyUp/OnKeyDown/OnKeyPress по вкусу, но лучше с каждой разобраться какая оптимальнее)- вычисляя в нём выделенную клетку (свойства col row грида) вводить символ в клетку программно, учитывая только нужные буквы.
Также можно прицепить такую хитрую вещь как чёрные клеточки с номерами и "стрелочками" <>v^. Достаточно сохранять в свойстве Cells (для обычных клеток там просто буква или пусто) некий идентификатор, собственно, хоть саму запись типа '12>' и в обработчике OnDrawCell проверять, если первый символ строки - цифра - залить клетку чёрным и написать идентификатор, а если буква - ничего не делать. Чтобы сделать проверку слов советую написать функцию, которая будет принимать признак гориз/вертикального слова и 3 номера - начальный индекс и конечный изменяющейся ячейки и индекс фиксированной (сама горизонтали или вертикаль), в зависимости от гориз/верт будет цикл по строкам или столбцам складывать каждую ячейку в результирующее слово и возвращать в виде результата. Это довольно просто и вполне красиво в плане реализации, а если будете решать задачи подобно тому как сейчас - никогда не "вырастите" в умении, всегда надо стремиться усложнить и освоить новое. Если будут сложности при реализации описанного (если Вы пойдёте этим путём, в смысле), свои попытки скиньте в архиве сюда, подсоблю по данному вопросу. А вот по эдитам Вашим даже как -то желания заниматься раскопками нет.... |
![]() |
![]() |
![]() |
#6 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
со стринг гридом нет времени разбираться, завтра сдавать уже, поэтому помогите, пожалуйста с эдитами, но за совет спасибо)
from dark to light)
|
![]() |
![]() |
![]() |
#7 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
я все-таки решил сделать едитами, проект сегодня позже скину, оцените пожалуйста, а подскажите как его на сайт загрузить, а еще, если так можно сделать, напшите код, чтобы с помощью стрелок, а не табуляции можно было переключаться между всеми едитами, их 140 где-то как видите)
from dark to light)
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
запакуйте исходники в архив. Архив можно прикрепить к своему сообщению на форуме (смотри при ответе "Расширенный режим" - "Управление вложениями")
|
![]() |
![]() |
![]() |
#9 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
вот архив с программой, слушаю любую критику или похвалу, думаю для новичка не плохо кроссворд.rar
from dark to light)
Последний раз редактировалось Алексей_2012; 03.11.2012 в 00:52. |
![]() |
![]() |
![]() |
#10 | |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
жалко что музыку на фон добавить не получилось, выдало ошибку
Цитата:
from dark to light)
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
phpbb:subsilver2, изменение ширины блока смайлов(при ответе), или почему браузеры игнорят явно заданую ширину ячейки? | Пепел Феникса | HTML и CSS | 1 | 25.06.2012 09:29 |
Как написать программу так,чтобы в ответе выводило число и буквы,например 12 evro ? | Knopo4ka | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 19.02.2012 01:43 |
Число в Edit должно увеличиваться на 1 таймером | DenSuper007x | Помощь студентам | 2 | 24.03.2008 10:59 |
При наведении на картинку она должна увеличиваться | Xander | JavaScript, Ajax | 1 | 07.03.2008 18:11 |