Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Удалить строку из файла [D5, D6, D7, Win95/98]


dimodim_FORCE ©   (2004-12-22 08:19:00) 

Как удалить строку V из файла текстового типа (Наприменр ХТМЛ)помогите плз.


Jay1982   (2004-12-22 11:14:00) [1]

Это не ко мне, не я же автор вопроса


Gero   (2004-12-22 11:12:00) [2]


> Jay1982 ©   (22.12.04 11:03)

А по-моему оно усложняется при shortstring.
Напиши свой вариант с shortstring.

var
 i: Integer;
 F1, F2: TextFile;
 S: string;
begin
 ...
 Reset(F1);
 Rewrite(F2);
 i := 0;
 while not SeekEof(F1) do
   begin
     Readln(F1, S);
     if i <> V then
       Writeln(F2, S);
     Inc(i);
   end;
 ...
 RenameFile...

Решение кривое, но верное.
Лучше всего, конечно, TFileStream.


Плохиш   (2004-12-22 11:10:00) [3]


>Jay1982 ©   (22.12.04 09:41) [4]

Какая связь между текстовым файлом и file of (short)string?


Jay1982   (2004-12-22 11:03:00) [4]

Тогда намного усложняется выполнение поставленой задачи


Jay1982   (2004-12-22 11:01:00) [5]

[Error] Unit1.pas(19): Type 'String' needs finalization - not allowed in file type


Gero   (2004-12-22 11:01:00) [6]


> Jay1982 ©   (22.12.04 10:58)

TextFile - открывай и читай на здоровье.


Jay1982   (2004-12-22 11:01:00) [7]

[Error] Unit1.pas(19): Type 'String' needs finalization - not allowed in file type


Jay1982   (2004-12-22 10:58:00) [8]

Это я так знаю


Gero   (2004-12-22 10:44:00) [9]


> Потому что при стринг, будет ерор: нот финализед,

Это ты так думаешь?


Jay1982   (2004-12-22 09:52:00) [10]

Потому что при стринг, будет ерор: нот финализед, слишком он уж большой в Делфи, вот в Паскале был что надо


begin...end   (2004-12-22 09:43:00) [11]

> [4] Jay1982 ©   (22.12.04 09:41)

Почему "оф шортстринг"?


Jay1982   (2004-12-22 09:41:00) [12]

Ну тогда открой файл оф шортстринг, и копируй его в другой, а ненужную строку просто не копируй


Gero   (2004-12-22 09:17:00) [13]


> Думкин ©   (22.12.04 09:04)

Угу, да еще и переменная дополнительная зачем-то.


Думкин   (2004-12-22 09:04:00) [14]


> try
>    Str:=TStringList.Create;

так не надо.


Александр Иванов   (2004-12-22 08:33:00) [15]

Если файл небольшой, то:

var Str:TStringList;
begin
 try
   Str:=TStringList.Create;
   Str.LoadFromFile(FileName);
   Str.Delete(StrNumber);
   Str.SaveToFile(FileName);
 finally
   Str.Free;
 end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо