Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2007, 21:55   #1
Dexic
Новичок
Джуниор
 
Регистрация: 24.06.2007
Сообщений: 2
По умолчанию Помогите решить одну ситуацию

Я удаляю с файла типа зиписей(Record) одну запись. Удаляет из файла нормально. Удаление происходит на форме 2. На первой форме находитса StringGrid в котором виведено содержимое файла (по столбцах виведено имя, фамилия, телефон). После удаления во второй формне я закрываю ее но в стрингриде серавно остаетса та запись которюю я удалил! Она исчезает только после перезапуска программы! Помогите решить эту проблему! Пожалуйста срочно нада!
Нужно что б после нажатия на кнопку удаления на второй форме сразу эту строку удалило с ытрингрида на первой форме

Последний раз редактировалось Dexic; 25.06.2007 в 22:04.
Dexic вне форума Ответить с цитированием
Старый 26.06.2007, 02:32   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от Dexic Посмотреть сообщение
После удаления во второй формне я закрываю ее но в стрингриде серавно остаетса та запись которюю я удалил! Она исчезает только после перезапуска программы!
Всё правильно, ведь StringGrid никак не связан с файлом! Нужно удалять из него эту строку вручную, т.е. "поднять" вверх все строки начиная со следующей после той, которая уже не нужна, а потом удалить нижнюю строку. Примерно так (N - номер удаляемой записи):
Код:
var
  I: Integer;
begin
  for I := N + 1 to StringGrid1.RowCount do
    StringGrid1.Rows[I - 1] := StringGrid1.Rows[I];

  StringGrid1.RowCount := StringGrid1.RowCount - 1;
Или можно сделать отдельную процедуру, которая будет считывать из файла записи в StringGrid и вызывать ее после того закрылась форма2.
Jeni вне форума Ответить с цитированием
Старый 26.06.2007, 09:06   #3
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Цитата:
Или можно сделать отдельную процедуру, которая будет считывать из файла записи в StringGrid и вызывать ее после того закрылась форма2.
Правильно.

Dexic, у тебя же полюбому где-то в коде есть загрузка данных в грид? После изменения файла, очисти грид, и заново сделай загрузку. Лучше это вынести в отдельную процедуру, как и писал Jeni.
zetrix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать одну фишку! eldar Работа с сетью в Delphi 1 04.08.2008 14:34
Помогите, пожалуйста доделать одну задачу! Максон Помощь студентам 2 25.06.2008 09:00
Блин,пацаны помогите,нужна помощь,попал в тяжёлую ситуацию!!! steck Свободное общение 4 26.05.2007 08:28
Помогите Пожалуйста Найти Одну Программку mustaa Свободное общение 1 18.01.2007 02:44