|
Вопрос # 5 241/ вопрос открыт / |
|
Здравствуйте! Хотел бы проконсультироваться по поводу того, как лучше сделать следующую программу:
смысл программы: нужно составить короткие слова из букв одного длинного.
Например, исходное слово ОГОРОД, каждая буква отображается на отдельном Image и есть поле из 3рех пустых Image, на которое мы перемещаем Image с буквами слова (на клик присваиваем Image с буквами координаты пустых Image поля в зависимости от значения переменной, которая определяет какую именно букву перемещать)
И при составлении слов, таких как РОД, РОГ, ГОД определенным image (c этими готовыми словами) присваивается Visible:=true;
Изначально я делал на основе отслеживания координат букв, но это очень много занимает времени и получается огромный код (и когда в конце-концов у тебя где-то ошибка, которая не мешает работе программы, но не позволяет ей правильно работать, отследить ее нереально).
Не подскажите, можно ли это как-то проще сделать? Спасибо.
 |
Вопрос задал: D@nte (статус: Посетитель)
Вопрос отправлен: 28 апреля 2011, 16:52
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 12; последнее сообщение — 2 мая 2011, 15:47; участников в обсуждении: 3.
|
min@y™ (статус: Доктор наук), 28 апреля 2011, 16:57 [#1]:
Громоздкий код получается именно от того, что ты используешь TImage как ключевой отображающий компонент. Я бы так делать не стал, а рисовал бы всё это безобразие на едином Canvas и не парился.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Мережников Андрей (статус: Абитуриент), 28 апреля 2011, 20:13 [#2]:
я бы сделал так:
1)объявил массив char, размером по количеству букв в исходном длинном слове;
2) заполнил бы его соответствующими символами;
3) свойство tag у Image использовал как индекс элемента массива с соответствующей буквой;
4) перетаскивание букв реализовал через Drag&Drop
|
|
D@nte (статус: Посетитель), 28 апреля 2011, 23:14 [#3]:
Мережников Андрей, а не могли бы Вы как-нибудь сделать простенький пример программы с данным алгоритмом? Просто с моими знаниями Delphi трудно так сразу сориентироваться... Заранее спасибо.
|
|
Мережников Андрей (статус: Абитуриент), 29 апреля 2011, 05:43 [#4]:
какая именно часть алгоритма вызывает наибольшие затруднения?
|
|
D@nte (статус: Посетитель), 29 апреля 2011, 08:18 [#5]:
Мережников Андрей, все, что связано с массивом. (...Я даже не знаю на какой вкладке он лежит)
|
|
min@y™ (статус: Доктор наук), 29 апреля 2011, 08:32 [#6]:
Цитата (D@nte):
Мережников Андрей, все, что связано с массивом. (...Я даже не знаю на какой вкладке он лежит)
Похоже, ты не с той стороны изучаешь программирование - не знаешь элементарнейших вещей, которые надо знать в первую очередь, а уже пытаешься написать что-то визуальное. Массивы - это не компоненты (их нет ни на какой вкладке) и даже не классы.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Мережников Андрей (статус: Абитуриент), 29 апреля 2011, 12:01 [#7]:
Согласен с min@y - с такими знаниями рановато браться за такую задачу. Начинать надо с чего-то попроще.
|
|
D@nte (статус: Посетитель), 29 апреля 2011, 14:14 [#8]:
Мережников Андрей, min@y™, спасибо за помощь)
|
|
min@y™ (статус: Доктор наук), 29 апреля 2011, 14:22 [#9]:
Цитата (D@nte):
спасибо за помощь
Да за что спасибо-то? Я ж ничем не помог. Только пендаля дал в нужном направлении.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
D@nte (статус: Посетитель), 29 апреля 2011, 14:26 [#10]:
min@y™, это тоже иногда бывает нужно) Не обижаться же мне на весь мир из-за того, что я массивы не отстреливаю)
|
|
min@y™ (статус: Доктор наук), 29 апреля 2011, 14:43 [#11]:
Цитата (D@nte):
это тоже иногда бывает нужно) Не обижаться же мне на весь мир из-за того, что я массивы не отстреливаю)
Мой тебе совет (бесплатный): скачай хорошую книжку по delphi и начни читать её с самого начала. И только когда прочитаешь, будешь пользоваться ей, как справочником. Могу дать ссылку на книжку, по которой я сам учился.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|