![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
list_note(TListView) - список заданий, где значение 3 столбца=названию задания
Требуется удалить из файла строку которая совпадает с названием задания, а также еще 4 следующие строки. Код:
procedure Tfrm_main.btn_deletenoteClick(Sender: TObject);
var
i:integer;s:string;
FileNote:TStringList;
begin
FileNote:=TStringList.Create;
FileNote.LoadFromFile('note.ejd');
{Удаляем из списка}
list_note.DeleteSelected;
{Удаляем из файла}
i:=0;
while i<>Filenote.Count-4 do
begin
s:=String(' '+Filenote.Strings[i]);
if s=list_note.Items.Item[list_note.ItemIndex].SubItems.ValueFromIndex[1] then
begin
FileNote.Delete(i);
FileNote.Delete(i+1);
FileNote.Delete(i+2);
FileNote.Delete(i+3);
FileNote.Delete(i+4);
end
else
begin
inc(i,5);
end;
FileNote.Free;
end;
end; |
|
#2
|
|||
|
|||
|
Что, никто помочь не сможет?
|
|
#3
|
|||
|
|||
|
У тебя же есть сохранение в файл? Просто заного сохрани файл после удаления из ListView.
|
|
#4
|
|||
|
|||
|
У меня нету сохранения в файл..оно мне не требуется
Есть только добавить запись |
|
#5
|
||||
|
||||
|
Код:
if s=list_note.Items.Item[list_note.ItemIndex].SubItems.ValueFromIndex[1] then
//надо if s=list_note.Items.Item[list_note.ItemIndex].SubItems.Strings[2]
begin
FileNote.Delete(i);
FileNote.Delete(i+1);//так нельзя делать
FileNote.Delete(i+2);//при удалении строки i строка i+1
FileNote.Delete(i+3);//становится на ее место. надо 5 раз
FileNote.Delete(i+4);//удалить строку i
end
else
begin
inc(i,5);//почему на 5???
end;Последний раз редактировалось KOOL, 14.05.2008 в 12:03. |
|
#6
|
|||
|
|||
|
5 потому как у меня структура базы такая:
date1 time1 name1 stat1 opis1 date2 time2 name2 stat2 opis2 проверяем только параметр date |