| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Необходимо чтобы в StringGrid... |
| Автор: Гость_Elvis 15.6.2005, 18:52 |
| Необходимо чтобы в StringGrid, в первую и во вторую ячеку пишешь число, а в третьей отображается результат математического действия этих двух чисел (например сложение или вычитание). |
| Автор: SPrograMMer 15.6.2005, 19:36 | ||
| Для доступа к ячейкам таблицы служит свойство Cells - эт "двумерный массив", представляющий таблицу. Нумерация начинается с 0 - это коорждинаты заголовков. По САБЖу должно быть что-то вроде:
|
| Автор: Pakshin A. S. 15.6.2005, 20:19 | ||
Более универсально:
Тут учитываются фиксированные строки и столбцы, а также по-моему более точно отражает решение задачи... |
| Автор: PrograMMer'у и Pakshin A. S. 16.6.2005, 17:27 | ||||||
PrograMMer, твоим советом ничего не получается, я делаю так:
Компилирую, появляется таблица, куда уже занесены какие-то числа. Естественно пишешь другие числа, они же и остаются. Ничего не вычисляет. Пробывал и так:
Компилирую, появляется таблица, куда еще не занесы числа, но кликаешь мышкой в любой ячейке и автоматически вносятся числа, причем в 1-ой и 3-ей ячейке одни и те же числа, а в 3-ей нуль. Чего не так, я не пойму. Кстати еще такой феномен: щелкаешь по ячейкам в таблице, а в этих трех ячеках появляются какие-то "левые" числа. Pakshin A. S. А по твоему совету:
После компиляции клик на любой ячейке таюлицы вызывает ошибку, такого содержания: Project Project2.exe raised exception class EConvertError with message ''is not a valid integer value''. Process stopped. Use Step or Run to continue. |
| Автор: markowww 16.6.2005, 17:47 | ||
Локальные переменные процедур не иниализируются нулем. |
| Автор: _hunter 16.6.2005, 17:49 |
| кто ж IntToStr() без try / catch делает? ;) |
| Автор: markowww 16.6.2005, 18:19 | ||
У тебя событие OnClick возникает и тогда, когда ты только пытаешься ввести числа в StringGrid. В этот момент в первых двух ячейках вообще ничего нет, а программа пытается сложить их содержимое. Надо проверять, введено ли что-нибудь в эти ячейки. |
| Автор: Pakshin A. S. 16.6.2005, 18:39 |
| А точнее завести кнопочку "Подсчитать..." |
| Автор: Гость_Elvis 17.6.2005, 15:36 |
| Pakshin A. S. а можно сделать и без кнопочки "Пересчитать", так ведь удобнее? Я это и имел в виду. |
| Автор: Yanis 17.6.2005, 15:41 | ||
Это видимо гибрид Pascal и C++ |
| Автор: _hunter 17.6.2005, 16:01 |
| а... ну да -- try / except ( давно уже на делфи не писал ) |
| Автор: markowww 17.6.2005, 16:37 | ||
Только учти, что при запуске в самой Дельфи ошибка все равно будет выскакивать. |
| Автор: Elv 17.6.2005, 18:24 | ||
А если вещественные числа иметь в виду. Это значит:
После компиляции во всех трех ячейках появляются огромные числа, подобно этому: 2,20448540820793E-307 |
| Автор: Pakshin A. S. 17.6.2005, 18:48 |
| Используй форматированные преобразования... Почитай о них в хелпе по FloatToStr |