![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Elv |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.6.2005 Репутация: нет Всего: нет |
Как-то Poseidon мне подсказал, что для того чтобы сохранить всю таблицу StringGrid, нужно воспользоваться таким кодом (т.е. при нажатии на кнопочку ToolButton1, нужно сохранить таблицу, а при нажатии на другую ToolButton2, нужно открыть таблицу)
Я делаю так:
Для обратной загрузки
Я раньше с функциями не общался, в основном процедуры (я пока новичок в программировании и много не знаю). Не знаю где прописывать функции (в процедуре или нет). Пример вызова: Этот код, где его нужно прописывать, не пойму. SaveGrid(StringGrid1, 'File1.txt') LoadGrid(StringGrid1, 'File1.txt') C использованием SaveDialog можно так SaveGrid(StringGrid1, SaveDialog1.FileName) Это сообщение отредактировал(а) Alex - 21.6.2005, 09:29 |
||||
|
|||||
| Pakshin A. S. |
|
||||||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
1) Простой способ
Пишешь описалово в секции implementation сверху, до основных процедур
2) Лучший способ Описываешь в типе формы
Потом в implemeantion
Это под твой пример подойдет 3) Создать отдельный модуль
В первом и последнем случае нужно будет немного изменить код функций, а во второй ничего не нужно... P. S. Я правильно понял вопрос? Добавлено @ 08:51 Это разумеется отдельные описалова... потом создаешь событие Onclick для каждого Button (в Object Inspector в событиях) и пишешь:
Соответственно все параметры запишешь самостоятельно... Добавлено @ 08:52 А вообще в любом учебнике, который толще 100 страниц подробно все рассказывается... И в нете доков куча!!! Добавлено @ 08:55 Кстати еще вот так можно записать процедуру:
|
||||||||||||
|
|||||||||||||
| Elv |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.6.2005 Репутация: нет Всего: нет |
Pakshin A. S. , ты прости меня
В коде:
Ага? Или не ага? |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
А вот и я
Не нужно ничего мудрить, делай так:
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Elv |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.6.2005 Репутация: нет Всего: нет |
В Инете нашел такие слова:
"Вообще StringGrid нужен только для отображения данных. Поэтому его нет смысла сохранять. Записывать в файл надо структуру, из которой данные подаются в StringGrid. У Вас есть она?" Для меня это "темный лес". Как возможно записать в файл структуру, а потом подать их в StringGrid? Структура я понимаю это столбцы, строки, данные находящиеся в таблице. Так? |
|||
|
||||
| Elv |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.6.2005 Репутация: нет Всего: нет |
Pakshin A. S., Poseidon, Спасибо
Только... Poseidon, у меня еще один мааааааленький вопросик. После закрытия формы, обычно сообщение появляется о сохранении документа здесь можно вот так сделать: if form1.Close//тут помоему что-то еше нужно написать// then MessageDlg ('Vnimanie',mtWarning,[mbYes, mbNo],1); |
|||
|
||||
| Poseidon |
|
||||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Обрабатывай событие OnClose формы:
Добавлено @ 12:30 или так
Но при этом нужно обработать нажатие на кнопку Yes. Но это уже другой вопрос, не касающийся этой темы. -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
||||
|
|||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
А может стоит обработать CanClose... чтобы в случае отказа не дать программе закрыться?
|
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
В случае отказа делаем
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Elv |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.6.2005 Репутация: нет Всего: нет |
1) Эта код добавляет строку в StringGrid новую строку нажатием Enter
if key=vk_return then StringGrid1.RowCount:=StringGrid1.RowCount+1 Подскажите, что зачит "key=vk_return"? 2)А, какой код на удаление строки, нажатием например, "Delete"? |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
-------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |