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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2009, 11:09   #1
pautina
Пользователь
 
Регистрация: 23.01.2009
Сообщений: 32
По умолчанию Чтение из файла

Здравствуйте Уважаемое сообщество.
Ни подскажете какой код мне использовать чтоб открыть текстовый файл, в цикле проити с 1 по последнюю строку этого файла, найти все временные метки в этом файле и вывести эти метки например в другой текстовый файл. Заранее большое спасибо.
pautina вне форума Ответить с цитированием
Старый 23.01.2009, 11:41   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Наверно удобней будет через TStringList и OpenDialog. А какая форма записи временных меток?

Код:
procedure TForm1.Button1Click(Sender: TObject);
var SourceST,DestST:TStringList;
    i:integer;
begin
 SourceST:=TStringList.Create;
 DestST:=TStringList.Create;
 if form1.OpenDialog1.Execute then SourceST.LoadFromFile(form1.OpenDialog1.FileName);
 for i:=0 to SourceST.Count-1 do
 begin
 //Здесь обработка файла и запись найденного в DestST 
 //....
 //....
 end;
 SourceST.Free;
 DestST.Free;
end;

Последний раз редактировалось SERG1980; 23.01.2009 в 11:50.
SERG1980 вне форума Ответить с цитированием
Старый 23.01.2009, 11:54   #3
pautina
Пользователь
 
Регистрация: 23.01.2009
Сообщений: 32
По умолчанию

Если честно то низнаю, программа генерирует текстовый файл ligfile.txt
Участок кода там такой
-Юг-О --АL--АL-г 23/01/2009 9:09:19

=================================== ===========================
| -=АА--КL | -ё---г--КL -=АА--КL | -=L-¦¬БгLЛ-КL -=АА--КL |
| Ю=АЕ-г--гЮ | Ю=АЕ-г, Б---/Г=А | Ю=АЕ-г, Б--- |
|-------------|---------------------|------------------------|
| -Б=¦ L-- N1 | 80.0 | 69989.4 |
| -Б=¦ L-- N2 | 0.0 | 571833.8 |
| -Б=¦ L-- N3 | 0.0 | 167899.1 |
| -Б=¦ L-- + | 0.0 | 32586.9 |
| ¦?- N1 | 0.0 | 10585.1 |
| ¦?- + | 30.5 | 158009.1 |
| ?Б=- N1 | 0.0 | 0.0 |
| ?Б=- N2 | 0.0 | 0.0 |
| ?Б=- + | 0.0 | 0.0 |
|------------------------------------------------------------|
| ¦L-Б- -+ | 0.8001 |
| ¦L-Б- ¦?- | 0.5980 |
| ¦L-Б- ?Б=- | 0.0000 |
=================================== ===========================
===================20/====================
-Юг-О --АL--АL-г 23/01/2009 9:09:22

=================================== ===========================
| -=АА--КL | -ё---г--КL -=АА--КL | -=L-¦¬БгLЛ-КL -=АА--КL |
| Ю=АЕ-г--гЮ | Ю=АЕ-г, Б---/Г=А | Ю=АЕ-г, Б--- |
|-------------|---------------------|------------------------|
| -Б=¦ L-- N1 | 80.0 | 69989.4 |
| -Б=¦ L-- N2 | 0.0 | 571833.8 |
| -Б=¦ L-- N3 | 0.0 | 167899.1 |
| -Б=¦ L-- + | 0.0 | 32586.9 |
| ¦?- N1 | 0.0 | 10585.1 |
| ¦?- + | 30.5 | 158009.1 |
| ?Б=- N1 | 0.0 | 0.0 |
| ?Б=- N2 | 0.0 | 0.0 |
| ?Б=- + | 0.0 | 0.0 |
|------------------------------------------------------------|
| ¦L-Б- -+ | 0.8001 |
| ¦L-Б- ¦?- | 0.5980 |
| ¦L-Б- ?Б=- | 0.0000 |
=================================== ===========================
-Юг-О --АL--АL-г 23/01/2009 9:09:23
В этом файле нужно подсчитать все временные метки, как сделать низнаю,
pautina вне форума Ответить с цитированием
Старый 23.01.2009, 12:00   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

А временная метка это вот эта строка -Юг-О --АL--АL-г 23/01/2009 9:09:22 или нет?
SERG1980 вне форума Ответить с цитированием
Старый 23.01.2009, 12:05   #5
pautina
Пользователь
 
Регистрация: 23.01.2009
Сообщений: 32
По умолчанию

да, та строка где есть дата и время. Нужно считать всё количество временных меток и записать их в другой файл. Какой участок кода использовать ни подскажете, этот правильный
Код:
unit pr1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
    TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
  var SourceST,DestST:TStringList;
      i:integer;
begin
 SourceST:=TStringList.Create;
 DestST:=TStringList.Create;
 if form1.OpenDialog1.Execute then SourceST.LoadFromFile(form1.OpenDialog1.FileName);
 for i:=0 to SourceST.Count-1 do
begin
 //Здесь обработка файла и запись найденного в DestST 
 //....
 //....
 end;
 SourceST.Free;
 DestST.Free;
end;

end.
Что посоветуете

Последний раз редактировалось pautina; 23.01.2009 в 13:31.
pautina вне форума Ответить с цитированием
Старый 23.01.2009, 13:33   #6
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Можно так попробовать. Обработанный файл сохраняется тудаже где и ехе
Вложения
Тип файла: zip 1.ZIP (10.5 Кб, 15 просмотров)
SERG1980 вне форума Ответить с цитированием
Старый 23.01.2009, 13:38   #7
pautina
Пользователь
 
Регистрация: 23.01.2009
Сообщений: 32
По умолчанию

Почему то в файле project1.dpr ругается на строку Application.MainFormOnTaskbar := True;
pautina вне форума Ответить с цитированием
Старый 23.01.2009, 13:48   #8
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var SourceST,DestST:TStringList;
    i:integer;
    s:string;
begin
 SourceST:=TStringList.Create;
 DestST:=TStringList.Create;
 if form1.OpenDialog1.Execute then SourceST.LoadFromFile(form1.OpenDialog1.FileName);
 for i:=0 to SourceST.Count-1 do
 begin
  s:=Copy(SourceST[i],Length(SourceST[i])-6,7);
  try
   strtotime(s);
   DestST.Add(SourceST[i]);
  except
  end;
 end;
 DestST.SaveToFile('112.txt'); 
 SourceST.Free;
 DestST.Free;
end;
SERG1980 вне форума Ответить с цитированием
Старый 23.01.2009, 15:48   #9
pautina
Пользователь
 
Регистрация: 23.01.2009
Сообщений: 32
По умолчанию

Извините а Вы ни скажете, как изменить этот код чтобы выводились не только временные метки, а ещё и цыфры из таблицы, файл откуда нужно брать вр. метки и цыфры из таблицы logfile.txt прикрепил http://files.mail.ru/KMVYFB
Такой участок кода, ни подошёл
Код:
procedure TForm1.Button1Click(Sender: TObject);
var SourceST,DestST:TStringList;
    i:integer;
    s:string;
    s1:string;
begin
 SourceST:=TStringList.Create;
 DestST:=TStringList.Create;
 if form1.OpenDialog1.Execute then SourceST.LoadFromFile(form1.OpenDialog1.FileName);
 for i:=0 to SourceST.Count-1 do
 begin
  s:=Copy(SourceST[i],Length(SourceST[i])-6,7);
  s1:=Copy(SourceST[i],Length(SourceST[i])-6,8);
  try
   strtotime(s);
   strtoreal48(s1);
   DestST.Add(SourceST[i]);
  except
  end;
 end;
 DestST.SaveToFile('112.txt'); 
 SourceST.Free;
 DestST.Free;
end;
В чём здесь ошибка

Последний раз редактировалось pautina; 23.01.2009 в 16:35.
pautina вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение из файла e@gle Общие вопросы Delphi 3 14.12.2008 17:21
Чтение из файла Amen БД в Delphi 2 09.12.2008 10:40
Чтение файла [Smarik] Помощь студентам 8 28.04.2008 22:15
Чтение файла Stanislav Общие вопросы Delphi 18 24.11.2007 20:45
чтение файла Arteom Общие вопросы Delphi 6 27.08.2007 18:15