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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2009, 19:22   #1
lg12
Пользователь
 
Регистрация: 20.06.2009
Сообщений: 50
По умолчанию работа с файлом

как можно удалить определенное количество строк с начала файла
lg12 вне форума Ответить с цитированием
Старый 23.08.2009, 19:28   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Открываем файл, читаем построчно и считаем. Пока не дошли до заданного числа, ничего не делаем. Как только дошли до n+1, записывем строки куда надо.
puporev вне форума Ответить с цитированием
Старый 24.08.2009, 00:34   #3
lg12
Пользователь
 
Регистрация: 20.06.2009
Сообщений: 50
По умолчанию

procedure TForm1.Button1Click(Sender: TObject);
var
l:Tstrings;
i,b:integer;
n:string;
a:array[1..10] of integer;
begin
l:=tstringlist.Create;
l.loadfromfile('D:\loko.txt');
if if pos('Цена звёздной роли',l.Strings[i])<>0 then// находим нужную строчку
begin
memo1.Lines.Add(inttostr(i));
b:=StrToInt(memo1.lines.strings[0]);
label1.caption:=inttostr(b);
for i:=0 to b do
begin
l.Delete(a[i]);//удаляем все строки до нужной
l.SaveToFile('D:\loko.txt');
end;
l.Free;
end;
end.
почемут не работает( подчеркивает предпоследние end
lg12 вне форума Ответить с цитированием
Старый 24.08.2009, 00:37   #4
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Надо перед последним end. дописать ещё один End;

Тобишь в конце должно быть:

Код:
...
l.Free;
end;
end;
end.
add: кстати да... и if лишняя тоже присутствует.

Последний раз редактировалось Вавел из ГМТУ; 24.08.2009 в 00:43.
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 24.08.2009, 00:39   #5
Volt
Форумчанин
 
Аватар для Volt
 
Регистрация: 07.12.2008
Сообщений: 244
По умолчанию

if перед pos('Цена звёздной роли',l.Strings[i])<>0 лишнюю удалите
|̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅]
Volt вне форума Ответить с цитированием
Старый 24.08.2009, 01:06   #6
lg12
Пользователь
 
Регистрация: 20.06.2009
Сообщений: 50
По умолчанию

исправил. Теперь вообще вылетает. Поглядите пожалйста. только путь к файлу поменяйте
Вложения
Тип файла: rar work.rar (169.8 Кб, 7 просмотров)

Последний раз редактировалось lg12; 24.08.2009 в 01:22. Причина: ИЗМЕНИЛ АРХИВ
lg12 вне форума Ответить с цитированием
Старый 24.08.2009, 01:09   #7
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

В архиве нету файла .pas......

Ошибка выгорает потомучто переменая i равняется числу типа 10828232 и ему подобному.... И вобще код нерабочий.

Последний раз редактировалось Stilet; 25.08.2009 в 09:17.
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 24.08.2009, 08:33   #8
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вот на примере первой программы, которую я Вам писал.
Код:
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var L:Tstrings;
    i,j,k:integer;
    s,s1:string;
begin
L:=TStringlist.Create;  //создаем список строк
L.LoadFromFile('file1.txt');//заносим в него строки из файла, файл в папке программы
k:=0;
for i:=0 to L.Count-1 do
if pos('Цена звёздной роли',L.Strings[i])<>0 then
 begin
   k:=i; //нашли нужную строку, запомнили ее номер
   break; //дальше не ищем, выходим из цикла
  end;
for i:=k to L.Count-1 do //от этой строки делаем что нам надо
 begin
  s:=L.Strings[i]; k:=0;  //обрабатываем строки
  for j:=1 to length(s) do
  if s[j] in ['А'..'Я'] then
    begin
     k:=j;//запомним индекс
     break;
    end;
   //Удалим начало строки
   delete(s,1,k-1);
   //Сейчас берем участок русского текста до первого знака '<'
   s1:=copy(s,1,pos('<',s)-1);
   Memo1.Lines.Add(s1);//заносим в Мемо1
   Memo1.Lines.SaveToFile('file2.txt');// можно в файл
  end;
L.Clear;
end;

end.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлом D_E_N Общие вопросы Delphi 6 17.07.2009 14:03
С++ работа с файлом. НедоВовик Помощь студентам 1 05.07.2009 18:22
Си++. работа с файлом milate Помощь студентам 0 08.06.2009 12:52
Работа с текстовым файлом Mashul'ka Помощь студентам 1 03.06.2009 23:26
Работа с файлом в C Mishka Помощь студентам 2 22.07.2008 13:28