How to delete record in file
6 отговора
274 прегледа
How to delete record in file
Please,will say more good method
my method is:
procedure del_rec(fname : string;target : longint;rec_size : longint);
type
t_buf=array[1..65520] of byte;
var
f : file;
buf : ^t_buf;
n : integer;
begin
new(buf);
assign(f,fname); { open your file }
reset(f,1);
blockread(f,buf^,sizeof(buf^),n);
close(f);
move(buf^[succ(target)*rec_size],buf^[target*rec_size],n-(target*rec_size));
dec(n,rec_size);
rewrite(f,1);
blockwrite(f,buf^,n);
close(f);
dispose(buf);
end;
my method is:
procedure del_rec(fname : string;target : longint;rec_size : longint);
type
t_buf=array[1..65520] of byte;
var
f : file;
buf : ^t_buf;
n : integer;
begin
new(buf);
assign(f,fname); { open your file }
reset(f,1);
blockread(f,buf^,sizeof(buf^),n);
close(f);
move(buf^[succ(target)*rec_size],buf^[target*rec_size],n-(target*rec_size));
dec(n,rec_size);
rewrite(f,1);
blockwrite(f,buf^,n);
close(f);
dispose(buf);
end;
Re: How to delete record in file
Казва се better, а не more good.
Какво ще стане, ако файла е 65521 байта?
Какво ще стане, ако файла е 65521 байта?
Re: How to delete record in file
Не ми трябва коментар на очевидни неща !
Трябва ми Help !
Трябва ми Help !
Re: How to delete record in file
Я, знаел и български!
My blade can cut through armor, and still cut a tomato
My blade can cut through armor, and still cut a tomato
Re: How to delete record in file
Получил е временно просветление. 
Я вышел им наперерез!
Я вышел им наперерез!
Re: How to delete record in file
Защо се пробваш да използваш език който не знаеш.
Отговор на въпроса ти има ама МОЖЕ БИ ще го получиш като се научиш да питаш на български.
п.с. HELP на български се пише така: ПОМОЩ
Отговор на въпроса ти има ама МОЖЕ БИ ще го получиш като се научиш да питаш на български.
п.с. HELP на български се пише така: ПОМОЩ
Re: How to delete record in file
За обикновен файл без допълнителна индексна информация това е единствения начин. Може да се оптимизира, ако записът който искаш да изтриеш е последен - има си функция с която се отрязва дължината на файла.