|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.06.2007, 00:31 | #1 |
Форумчанин
Регистрация: 11.06.2007
Сообщений: 233
|
Удаление записи с файла
Мне нужно вывести в ЛистБокс все записи с файла!!!
И чтобы по нажатию по кнопке (Батон) , удалило выбраную в ЛистБоксе запись с файла!!! Помогите пожалуйста! Последний раз редактировалось werser; 24.06.2007 в 00:34. |
24.06.2007, 09:06 | #2 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Вывод записей из файла в листбукс - это легко, объяснять не буду.
При удалении есть 2 варианта: 1) удалять физически, т.е. придётся передвигать все последующие записи (перезаписать весь файл надо будет, при большом размере будет ощутимая задержка) 2) использовать метки удаления, т.к. запись будет состоять из полей DATA (сами данные) и DEL (boolean) - если запись мы удалили, то просто del:=true и всё, а потом при просмотре пропускать все записи с del=true. Этим ты добьёшься нормального быстродействия, да и случайно удалённые данные можно будет восстановить. "минус" - размер.... Но можно, например, раз в неделю удалять все записи физически. |
24.06.2007, 10:14 | #3 |
Форумчанин
Регистрация: 11.06.2007
Сообщений: 233
|
Кака вывести я знаю!! А как по нажатию на кнопку удалить выделеную в ЛистБоксе запись из файла!! Можеш описать мне 1 способ!! Пожалуйста
|
24.06.2007, 11:04 | #4 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
Структуру файла опиши
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
24.06.2007, 11:31 | #5 |
Форумчанин
Регистрация: 11.06.2007
Сообщений: 233
|
spr=record
name:string[40]; fam:string[40]; foto:string[255]; end; var f:file of spr; r:spr; |
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 |
Регистрация: 25.06.2007
Сообщений: 4
|
Решение По Моему!
ListBox1.DeleteSelected; //ета чтобы удалить
ListBox1.Items.SaveToFile('test.txt'); //ета чтобы сохранить |
26.06.2007, 10:21 | #8 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
И что будет в файле ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
27.06.2007, 06:25 | #9 |
stopfake.org
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,927
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удаление файла | 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 |