|
Вопрос # 2 790/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
Мне нужно программно открыть файл, затем найти в нём нужную мне строку.
Заранее большое спасибо!
 |
Вопрос задал: Некто (статус: Заблокирован)
Вопрос отправлен: 16 мая 2009, 17:38
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
// Вот функция, извлекающая из текстового файла все строки, начинающиеся с "open="
// и помещающая эти строки в список Extracted.
// Возвращаемое значение - количество извлечённых строк.
function Extract(const FileName: string; Extracted: TStringList): Integer;
var
Temp: TStringList;
Index: Integer;
begin
Extracted.Clear();
Temp:= TStringList.Create();
try
try
Temp.LoadFromFile(FileName);
except
Application.MessageBox(PChar('Ошибка при работе с файлом ' + FileName + '.'),
PChar('Ошибка'),
mb_Ok + mb_IconError);
end;
for Index:= 0 to Temp.Count - 1 do
if Pos('open=', Temp[Index]) = 1
then Extracted.Add(Temp[Index]);
finally
Temp.Free();
end;
Result:= Extracted.Count;
end;
// Использование функции
var
List: TStringList;
Count: Integer;
begin
List:= TStringList.Create();
try
Count:= Extract('имя_файла.txt', List);
List.SaveToFile('извлечённые.txt');
ShowMessage('Извлечено строк: ' + IntToStr(Count) + '.');
finally
List.Free();
end;
end;
Ахтунг! Не отлаживал, писал на коленке!
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 16 мая 2009, 18:27
Оценка за ответ: 5
Комментарий к оценке: Спасибо всё работает!
|
Мини-форум вопроса
Всего сообщений: 11; последнее сообщение — 16 мая 2009, 23:21; участников в обсуждении: 4.
|
min@y™ (статус: Доктор наук), 16 мая 2009, 17:52 [#1]:
А нужна строка с определённым номером п/п или с нужным содержимым?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Некто (статус: Заблокирован), 16 мая 2009, 17:54 [#2]:
Например строка, которая начинается со слова open=
|
|
Некто (статус: Заблокирован), 16 мая 2009, 17:58 [#3]:
нужно узнать, что идёт после этого слова
|
|
Ученый (статус: 8-ой класс), 16 мая 2009, 18:06 [#4]:
а строка , которая начинается со слова open= только одна в файле? или их может быть несколько?
|
|
Ученый (статус: 8-ой класс), 16 мая 2009, 18:12 [#5]:
код простой, буквально в несколько строк....приду домой, если вопрос будет актуальным, напишу код....
|
|
Некто (статус: Заблокирован), 16 мая 2009, 19:33 [#6]:
Спасибо, min@y, всё работает
|
|
min@y™ (статус: Доктор наук), 16 мая 2009, 20:11 [#7]:
Да вы все задолбали коверкать мой ник! Сговорились, что ли?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Вадим К (статус: Академик), 16 мая 2009, 20:27 [#8]:
Будь проще, я же не обижаюсь, когда меня ласкательно-уменьшительными называешь. А стоило бы.
Может просто сложно написать? А скопировать не могут...
Хотя я реально не понимаю, что он означает и на основании чего там (tm) написано. Документов не видел на торговую марку. И гугл молчит на эту тему как партизан.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
min@y™ (статус: Доктор наук), 16 мая 2009, 20:37 [#9]:
Не хочу быть проще.
Вадимка - это не ласкательно-уменьшительное, а читаемое. Ну мне ж ту не пишут "минай тээм".
Цитата:
Хотя я реально не понимаю, что он означает и на основании чего там (tm) написано.
А "ТМ" - это "твою мать", а не "trade mark". Это за мной закрепилось очень давно, менять не хочу, ибо куча народа в инете знает меня под этим ником. Даже парочка статей были под ним напечатаны.
1 хрен, пора учиться копировать, штоли...
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Вадим К (статус: Академик), 16 мая 2009, 21:16 [#10]:
ужас. нет слов.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Ученый (статус: 8-ой класс), 16 мая 2009, 23:21 [#11]:
min@y™ ты крут
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|