|
#1
|
|||
|
|||
Моя 1 программа
Здравствуйте форумчане delphi sources!!!
Delphi-7 Хочу написать свою 1-ю программу с вашей помощью так, как в исходниках уроков, ничего не нашел. Смысыл программы состоит в следующем: В программе: 1.Три чекбокса, которые при запуске не отмечены 2.кнопка = подсчет(+)сложение 3.окно вывода суммы = число сложенных чекбоксов На словах это так: чекбокс-1 при нажатии(отмечен) имеет постоянную сумму=8, чекбокс-2 при нажатии(отмечен) имеет постоянную сумму=15, чекбокс-3 при нажатии(отмечен) имеет постоянную сумму=20. с учетом!!! суммы могут быть трех значными. Далее сумма НАЖАТЫХ чекбоксов слаживается, при нажатии кнопки = подсчет(+). сумма отображется в окне вывода например: 8; 15; 23; 28; 35 или 43 или например чекбокс сначала был отмечен(да) а после отменен(нет)-он НЕ ДОЛЖЕН суммироваться. а при не выбранных всех 3х чекбоксов сумма равна = 000 типа так: 8+20=28 и.т.д Как это прописать в глоб.переменной, и в процедуре. Спасибо Виталля . |
#2
|
|||
|
|||
Ну и ТЗ. В смысле, изложение...
Код:
procedure TForm1.Button1Click(Sender : TObject); var S : Integer; begin S := 0; If CheckBox1.Checked Then S := S + 8; If CheckBox2.Checked Then S := S + 15; If CheckBox3.Checked Then S := S + 20; If S = 0 Then Label1.Caption := '000' Else Label1.Caption := IntToStr(S); end; |
#3
|
|||
|
|||
lmikle спасибо.
Сейчас буду пробовать. |
#4
|
|||
|
|||
Потому что сумма НАЖАТЫХ чекбоксов слаживается (с)
|
#5
|
|||
|
|||
Цитата:
Ну и к чему это? Я бы посмотрел как ты напишешь ТЗ, когда сам не до конца понимаешь то, что пытаешься объяснить. |
#6
|
|||
|
|||
Я хотел написать программу, которая измеряла бы километраж между населенными пунктами так, как они постоянно меняются одни есть других нет и каждый раз разные:
Основная трасса Как пример: 1нас.пункт = 8 км 2нас.пункт = 15км 3нас.пункт = 20км 4нас.пункт = 12км 5нас.пункт = 17км 6нас.пункт = 3км и так далее N=колич. здесь общий км = 75 в чем заключается фишка программы если я вечером знаю маршрут на завтра например; 1, 4, 5, 6 я нажимаю соответствующие кнопки (Нас.пунктов)= 40км, заранее знаю какой километраж мне нужно будет пройти завтра. ================================================== ======== Но столкнулся с такой проблемой если населенные пункты по одной линии, тогда это работает но, когда есть примыкающие ветки а в них скажем условно 3 - населенных пункта: (1а, 2а и 3а),тогда нужно к общей линии прибавить километраж этих (1а и 3а без заезда например в 2а, которое находится по середине или два из трех значений ) километраж не отмеченных нас.пунктов также нужно будет прибавить а он отличается если был бы отмечен. Примыкание к основной трассе Примерно так: 1а нас пункт при не отмеченном (откл) S=8 проезд мимо 1а нас пункт при отмеченном (включ) S=10 с заездом 2а нас пункт при не отмеченном (откл) S=12 проезд мимо 2а нас пункт при отмеченном (включ) S=15 с заездом 3а нас пункт при отмеченном (включ) S=7 с заездом Ведь после примыкания боковых веток с них нужно возвращаться ОБРАТНО на основную трассу и к ней суммировать примыкание и продолжать двигаться по основной трассе? думаю, что здесь нужны логические операции (да, нет или) ================================================== ======== |
#7
|
|||
|
|||
Не совсем. Тут скорее надо использовать граф.
Т.е. ты задаешь сами пункты, которые являются узлами графа. Далее соединяешь их ребрами. У ребра есть "стоимость" - в твоем случае расстояние между пунктами. Далее 2 варианта: 1. Ты просто задаешь очередность проезда пунктов, программа по графу вычисляет планироуемое расстояние и сообщает тебе. Тут есть проблемка - если граф не полный, т.е. между некоторыми пунктами нет дороги (прямой). Можно сделать так, что бы программа сама искала возможную дорогу, или просто тебя спрашивала. 2. Более сложный вариант. Ты даешь список пунктов, программа вычисляет кратчайший марщрут с заездом во все укащанные пункты. Тут можно решать перебором, не "сваливаясь" в теорию графов, для твоей НЕБОЛЬШОЙ задачки нормально. Ну а если задача большая (кол-во узлов и ребер графа), то придется читать теорию и реализовывать сложный алгоритм. |