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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2011, 14:55   #1
iron_mik
Новичок
Джуниор
 
Регистрация: 08.05.2011
Сообщений: 1
Вопрос Удаление выбранной записи в файле (Delphi).

Дан типизированный файл stud.dat с информацией о студентах - записей:
Код:
type
  ...
  bal=array [1..10] of real;
  TStud=record
        FIO: string [80];
        Year: TDateTime;
        MedB: bal;
        Kurs: byte;
        Group: byte;
  end;
  fil = file of TStud;
var
  f:fil;
Так вот, есть процедура удаления выбранной записи в файле, которую я не могу понять:
Код:
procedure TDelete.SpeedButton1Click(Sender: TObject);
var k: byte;
//удаление записи
begin
  k := strtoint(edit1.Text);
  reset(f);
  seek(f, filesize(f) - 1); {1}
  read(f, s);                 {2}
  seek(f, k - 1);            {3}
  write(f, s);                 {4}
  seek(f, filesize(f) - 1);  {5}
  truncate(f);               {6}     
  closefile(f);
  displayall(MainForm.SGstud);
  Delete.close;
end;
k - это номер студента, т.е. номер записи, которую нужно удалить.
Как я понимаю на примере:
Например даны записи: 1 2 3 4 ; и k=2:
{1} 1 2 3_ 4 ,где "_" - это указатель
{2} Читаем 3-ью запись
{3} 1_ 2 3 4
{4} 1 3_ 3 4
{5} 1 3 3_ 4
{6} 1 3 3 - У меня остается только это
Хотя в программе все работает - удаляется только 2 запись. Почему?
Я кажется что-то неправильно понимаю, объясните пожалуйста!

Последний раз редактировалось iron_mik; 08.05.2011 в 15:09.
iron_mik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление тегов в файле html W0LF Общие вопросы Delphi 7 14.08.2011 21:23
записи в файле си++ ai\ekcah^p Помощь студентам 4 03.01.2011 19:59
удаление строк в файле lg12 Помощь студентам 6 25.08.2009 00:00
Удаление записи из файла(Delphi) студентка Помощь студентам 1 16.12.2007 13:54