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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2007, 00:31   #1
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию Удаление записи с файла

Мне нужно вывести в ЛистБокс все записи с файла!!!
И чтобы по нажатию по кнопке (Батон) , удалило выбраную в ЛистБоксе запись с файла!!! Помогите пожалуйста!

Последний раз редактировалось werser; 24.06.2007 в 00:34.
werser вне форума Ответить с цитированием
Старый 24.06.2007, 09:06   #2
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Вывод записей из файла в листбукс - это легко, объяснять не буду.
При удалении есть 2 варианта:
1) удалять физически, т.е. придётся передвигать все последующие записи (перезаписать весь файл надо будет, при большом размере будет ощутимая задержка)
2) использовать метки удаления, т.к. запись будет состоять из полей DATA (сами данные) и DEL (boolean) - если запись мы удалили, то просто del:=true и всё, а потом при просмотре пропускать все записи с del=true.
Этим ты добьёшься нормального быстродействия, да и случайно удалённые данные можно будет восстановить.
"минус" - размер.... Но можно, например, раз в неделю удалять все записи физически.
zetrix вне форума Ответить с цитированием
Старый 24.06.2007, 10:14   #3
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию

Кака вывести я знаю!! А как по нажатию на кнопку удалить выделеную в ЛистБоксе запись из файла!! Можеш описать мне 1 способ!! Пожалуйста
werser вне форума Ответить с цитированием
Старый 24.06.2007, 11:04   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Структуру файла опиши
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 24.06.2007, 11:31   #5
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию

spr=record
name:string[40];
fam:string[40];
foto:string[255];
end;

var f:file of spr;
r:spr;
werser вне форума Ответить с цитированием
Старый 24.06.2007, 11:39   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

var f:file of spr;
arf:array of spr;
i,j:integer;
r:spr;
sn:string;
begin
assignfile(f,'файл');
reset(f);
setlength(arf,0);
while not(eof(f));
begin
setlength(arf,length(arf)+1);
read(f,arf[length(arf)-1]);
end;
closefile(f);
//sn-имя записи для удаления
for i:=0 to length(arf)-1 do
if arf[i].name=sn then
for j:=i to length(arf)-2 do
begin
r:=arf[j];
arf[j]:=arf[j+1];
arf[j+1]:=r;
end;
setlength(arf,length(arf)-1);
assignfile(f,'имя файла');
rewrite(f);
for i:=0 to length(arf)-1 do
write(f,arf[i]);
closefile(f);
end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 26.06.2007, 10:00   #7
Givicha
 
Аватар для Givicha
 
Регистрация: 25.06.2007
Сообщений: 4
По умолчанию Решение По Моему!

ListBox1.DeleteSelected; //ета чтобы удалить
ListBox1.Items.SaveToFile('test.txt'); //ета чтобы сохранить
Givicha вне форума Ответить с цитированием
Старый 26.06.2007, 10:21   #8
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

И что будет в файле ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 27.06.2007, 06:25   #9
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
Стрелка

Цитата:
Сообщение от Квэнди Посмотреть сообщение
И что будет в файле ?
Каша будет, читай внимательно Givicha, - файл типизированный
Viteef вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление файла mopozoff Общие вопросы Delphi 1 13.06.2008 21:25
Удаление записи из динамического масива... Altera Общие вопросы Delphi 4 09.06.2008 09:15
Удаление записи из файла(Delphi) студентка Помощь студентам 1 16.12.2007 13:54
Удаление записи с Registry celovec Общие вопросы Delphi 2 29.07.2007 21:55
Удаление записи из *.dbf BJF.41 БД в Delphi 4 15.03.2007 18:29