|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.03.2012, 19:45 | #1 |
Новичок
Джуниор
Регистрация: 16.03.2012
Сообщений: 7
|
алгоритм правильный, а считает неверно
я как бы не нуп в делфи прямо таки, но прокосячился где-то. дело в том, что у меня прога состоит из четырех частей, почти одинакового кода, лишь переменные некоторые меняются. так вот при написании последней части возникает косяк. скопипастил, поменял что надо, запускается, но считает неправильно, левые вообще цифры, которых нет на форме. где ошибка может быть? прикрепил архив
|
16.03.2012, 20:18 | #2 |
Форумчанин
Регистрация: 21.10.2008
Сообщений: 337
|
Я не разобрался с переменными, откуда какая берет значение. слишком все запутано. Разбираться желания нет. Вы скажите на словах что должно считаться? И на рисунке красной стрелкой выделили 6 в эдите и 8 в ответе. При тех значениях, что должно быть в ответе?
|
16.03.2012, 22:28 | #3 |
Новичок
Джуниор
Регистрация: 16.03.2012
Сообщений: 7
|
значит смысл в том, что если в колонке R1 6 больше чем 5 (а оно больше), то эта самая 6 пишется в label справа. а в лэйбле ни пять, ни шесть, а восемь. несколько раз проверял сам поэтапно написанное, но мой ответ не совпадает с label.caption
|
17.03.2012, 00:29 | #4 |
Форумчанин
Регистрация: 18.10.2010
Сообщений: 419
|
попробуйте пойти от обратного:
значение в лабеле откуда-то берется? берется. откуда? Label1.caption:=inttostr(d); что такое d? откуда она появляется?... ну и так далее, может путем логических рассуждений придете к причине ошибки. а еще, если вы говорите про одинаковые куски кода, в которых только переменные разные, то я так понимаю при написании проги вы копипастили, а потом просто переменные в разных кусках меняли, так ведь? ) ну так вот 95% что вы где-то переменную пропустили. p.s.: кстати, на будущее совет - комп всегда прав. если что-то работает не так, то это юзер дурак. примите это как аксиому - сам уже неоднократно убеждался =) |
17.03.2012, 00:32 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
код ужасный...
но для исправления конретно данной проблемы. в модуле Unit2 пересите код присвоения с FormCreate на кнопку вот так Код:
|
17.03.2012, 09:12 | #6 |
Новичок
Джуниор
Регистрация: 16.03.2012
Сообщений: 7
|
Serge_Bliznykov, спасибо, все работает. Фактически, курсач сдан. По поводу ужасного кода. Что в нем ужаснуло? Какие советы на будущее дадите?
|
17.03.2012, 09:17 | #7 |
Новичок
Джуниор
Регистрация: 16.03.2012
Сообщений: 7
|
xrob, тоже спасибо) я и сам убеждался в данной аксиоме, но здесь я несколько раз сам прошелся по коду, в качестве отладчика, и как бы все было норм) важно знать некоторые правила относительно классов и где что писать, с коими я знаком не в полном объеме.
|
17.03.2012, 11:40 | #8 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
За код не скажу, не смотрел, берегу психику )))
Но вот вагон эдитов не проще на TStringGrid заменить ? Исходя из приведенных кусков - убирайте все ссылки на форму в методах которой идёт работа, т.е. просто внутри методов Tform2.что-то надо убрать все Form2. Аналогично для др. форм Второй осн. косяк - имена компонентов должны быть говорящие, и переменные, конечно, тоже, а то когда кнопок штук 5, уже тяжко понять, какая что делает. По копипасте Сержа видно, что идентация (отступы) не по стандарту - хуже читаемость кода. Ну и стандартные советы - побольше переменных и констант, разделение логики работы целевой и работы по отображению/считыванию с формы. |
17.03.2012, 12:38 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
phomm, согласен. +1
Цитата:
взаимосвязи между формами должны быть строго оправданы и, как минимум, расшифрованы "говорящими" именами переменных + комментариями в коде. а в вашем случае описывать переменные e1..e8 на форме1, чтобы использовать их на формах 2, 3 и т.д. - совсем не нужно... ваш код чрезвычайно затруднителен к пониманию.. это и ужаснуло... |
|
17.03.2012, 12:56 | #10 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
ТС, коли желаете учиться, могу поучить, поконсультировать, я всегда рад способным и заинтересованным ученикам.
Если есть желание разобраться у Вас и я найду время - могу порефакторить Ваш код, чтобы Вы воочию убедились. Serge_Bliznykov, спасибо за согласие и дополнение (этого я как раз без разбора кода не мог знать). а вот плюсануть не могу, Вам почти всегда не могу - постоянно отказывают, мол я Вам и так уже наплюсовал )) вроде и другим плюсую, но для Вас мне систематически отказывают )) Кстати, если кто знает, я сформулировал некую "доктрину" (первоначально на киберфоруме), по которой помощь тем, кто нуждается в коде, необходимо давать в максимально продуманном и грамотном (порой даже сложным для новичка) коде. Чтобы человек задумался, поэкспериментировал, поучился, или если ему только сдать код - то пытался его упростить (как раз понимание даст), ведь преподаватель заумный код легко может не принять ввиду его явного профессионализма (и прямого намёка на фриланс). Собственно, я и предлагаю ТС такой подход, могу дать довольно сложный, но гибкий и "стильный" код (надо только время найти, если там много кода), чтобы поучиться и разобраться, ну плюс ссылок накидаю. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программа для решения СЛАУ методом Гаусса неверно считает (Delphi) | Lisёноk | Помощь студентам | 7 | 25.09.2011 12:50 |
правильный алгоритм? | Pekus | Помощь студентам | 2 | 19.05.2011 12:26 |
неверно считает? | штохл | Microsoft Office Excel | 3 | 17.05.2010 22:24 |
Неверно отрабатывает алгоритм обратной геодезической засечки | Arkuz | Помощь студентам | 2 | 19.12.2009 17:33 |
Pascal алгоритм вроди правильный, а прога не пашет | tipson | Помощь студентам | 12 | 04.07.2009 15:50 |