Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [Delphi] Обработка чисел.. TListBox |
Автор: pdiman58 27.4.2010, 11:03 |
Задание таково: "Необходимо произвести обработку 15 вешщественных чисел: найти среднее арифметическое отрицательных чисел и подсчитать количество чисел, входящих в диапазон от 0...5" Проблема такая я не знаю как организовать ввод чисел.. Пробовал делать так.. на первой форме разместил кнопки 1) Массив чисел; 2) Среднее арифметическое; 3) кол-во чисел в диапазоне; при нажатии кнопке "Массив чисел".. происходило переключении на вторую форму.. в которой было окно TListBox, в котором были записаны числа.. и рядом три кнопки добавить число, редактировать, и удалить число.. и вот никак не могу понять как мне работать с этим TListBox.. как забирать оттуда числа.. добавлять и удалять.. если кто сможет помогите\объясните.. |
Автор: ИванМ 1.5.2010, 00:15 |
Прикрепи исходник, подредактирую. |
Автор: pdiman58 1.5.2010, 17:03 | ||
ок.. В моем файле у меня не получилось связать две формы.. пробую на кнопку повесить Form2.Show.. она выдает ошибку.. вроде бы сделал добавление редактирование и удаление записей в ListBox.. |
Автор: ИванМ 3.5.2010, 19:59 |
pdiman58, нет, к сожалению помочь не смогу, так как пользуюсь Delphi 7, а у вас версия выше. Если только на уровне исходного кода помогу. Но у вас никакого кода нет в проекте, поэтому подсказать нечего. |
Автор: pdiman58 3.5.2010, 21:03 | ||||||
делаю в Lazarus.. подскажи пожалуйста как сделать переключение между формами с первой на вторую.. поэтому то я и не могу дальше понять что да как.. в интернет читал про ListBox, что нашел.. то приблизительно к кнопкам во второй форме и добавил.. а остальное я никак не могу сделать для исходника.. т.к. я нигде нашел и не понимаю сам, как мне брать числа из этого ListBox чтобы ими оперировать можно было.. TForm1.. здесь действительно ничего нет.. buttonclick1 отвечает за переключение на вторую форму (вот и вопрос как это сделать.. Form2.Show не срабатывает, говорит ошибка, в интернете где то видел что нужно добавить какойто компонент в раздел uses, но какой не нашел..).. buttonclick2 отвечает за подсчет среднеарифметического значения и количества чисел диапазона 0...5..
TForm2 Button1click отвечает за добавление в ListBox чисел (добавление происходит через окно Edit1.Text).. Button2click отвечает за редактирование числа в ListBox.. Button3Click отвечает за удаление числа из ListBox..
|
Автор: ИванМ 3.5.2010, 21:12 |
В 7м Delphi для этого нужно подключить соответствующий Unit второй формы в первом юните. Делается либо ручным способом (uses Unit2), либо автоматическим: File->Use unit... Чтобы вызвать вторую форму просто надо вызвать метод Show или ShowModal. |
Автор: pdiman58 3.5.2010, 21:31 | ||
спасибо.. вроде на второй форме все заработало.. если можешь объясни пожалуйста еще вкратце как оперировать числами из ListBox.. |
Автор: ИванМ 3.5.2010, 21:46 |
pdiman58, чтобы обратиться к нужной строке ListBox используй свойство Items. Чтобы преобразовать строку в вещ. число, используй функцию StrToFloat. Чтобы преобразовать вещ. число в строку, используй FloatToStr. |
Автор: pdiman58 9.5.2010, 21:30 | ||||
[TForm1]
[TForm2]
Вот мои коды.. на второй форме все нормально.. проблемы с первой формой.. с первой кнопкой.. почему то выкидывает ошибку.. |
Автор: ИванМ 10.5.2010, 00:06 | ||||
правильно не
а
|
Автор: pdiman58 10.5.2010, 00:47 | ||
спасибо.. среднеарифметическое сделал.. а как можно записать насчет чисел диапазона 0..5..?? я попробовал вот так.. но в ответе всегда получаете 'ноль'...
|
Автор: ИванМ 10.5.2010, 18:21 |
pdiman58, почему вы используете strtoint, если у вас в списке вещественные числа? Нужно использовать strtofloat. |