Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.15;
Скачать: CL | DM;

Вниз

Добрый вечер уважаемые мастера! Прошу помочь разобраться.   Найти похожие ветки 

 
Delon   (2007-06-21 18:51) [0]

Есть у меня текстовый файл с огромной кучей строк. Вот одна из многих (пример). 2007:05:18-00:13:51 (none) exim[31310]: 2007-05-18 00:13:51 1HolQ7-000890-GW <= <> R=1HolQ7-00088t-9c U=exim P=local S=1823. Как мне вытащить из строки дату и время если в строке присутствует символ <=.
Вот код но не могу я в нем найти ошибку.
Var
 str,date,str1:String;
 k,i,d,c:integer;
begin
i:=0;
while (i<Memo1.Lines.Count) do
begin
 str :=Memo1.Lines[i];
 k:= Pos("=>",str);
 if k > 0 then  str1 := copy(str,k-37,19);
begin
date:=copy(Memo1.Lines[k],i-2,19);
memo1.Lines.CommaText:=date;
inc(c);
end;
inc(i);
end;


 
гостъ   (2007-06-21 18:53) [1]


> символ <=.



>  k:= Pos("=>",str);


 
Delon   (2007-06-21 18:55) [2]

а ну да. с символами перепутал, но все равно это не работает.


 
гостъ   (2007-06-21 19:03) [3]

Впинду... это даже отформатированное читать забодаешься... :(

порукамлинейкой


var
 str,date,str1:String;
 k,i,d,c:integer;
begin
 i:=0;
 while (i<Memo1.Lines.Count) do
 begin
   str :=Memo1.Lines[i];
   k:= Pos("=>",str);
 
   if k > 0 then
     str1 := copy(str,k-37,19);
 
   begin // ???
   
   date:=copy(Memo1.Lines[k],i-2,19);
   memo1.Lines.CommaText:=date;
   
   inc(c); // ???
 end;
   
 inc(i);
end;


 
Delon   (2007-06-21 19:07) [4]

ну да понаписал я наверное фигню, но что тут не так.......??????? не пойму.

> begin // ???
>    
>    date:=copy(Memo1.Lines[k],i-2,19);
>    memo1.Lines.CommaText:=date;
>    
>    inc(c); // ???

да это наверное чуш...., но.... Help me!


 
гостъ   (2007-06-21 19:23) [5]

Ну она же (дата) уже выбрана в условии

if k > 0 then
    str1 := copy(str,k-37,19);


В str1 строка с датой
Что нужно дальше? Сохранить все даты где-нибудь? = TStringList


TStringList strlst;
...
strlst := TStringList.Create ();
...
if k > 0 then
    strlst.Add ( copy ( str, k - 37, 19 );
...
strlst.USAGE
...
strlst.Free;


Нет дельфи под руками, может где и ошибся, но примерно так.


 
Delon   (2007-06-21 19:30) [6]


> strlst.USAGE
> ...
> strlst.Free;

а это что такое?

да вообще я хотел бы выбранные даты засунуть в другое Memo


 
гостъ   (2007-06-21 19:37) [7]

хммм...RTFM


> да вообще я хотел бы выбранные даты засунуть в другое Memo



if k > 0 then
 Memo2.Lines.Add ( copy ( str, k - 37, 19  ) ); // copy ( str, 1, 19 ) ???


 
Delon   (2007-06-21 19:44) [8]

вообще сам код висячный. что-то не так ...??
> while (i<Memo1.Lines.Count) do
>  begin
>    str :=Memo1.Lines[i];
>    k:= Pos("=>",str);
>  
>    if k > 0 then
>      str1 := copy(str,k-37,19);
>  

???????????????7


 
Павел Калугин ©   (2007-06-22 10:06) [9]

Все строки одинаково отформатированы?
дата всюду в одмнаковом формате?

Цитата прямо из соседней ветки.
http://podgoretsky.com/cgi-bin/dlcounter/npscnt?file=http://podgoretsky.com/ftp/Docs/Delphi/Podgoretsky/PasFiles.html&file_id=app-files
Все ждетально, подробно описано



Страницы: 1 вся ветка

Текущий архив: 2007.07.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
15-1181633805
IMHO
2007-06-12 11:36
2007.07.15
С Днем России, россияне!


2-1182412463
NewBy
2007-06-21 11:54
2007.07.15
Почему не работает подсчет нод в чужом TreeView?


2-1182214485
Riply
2007-06-19 04:54
2007.07.15
Всегда ли файл "начинается" с начала первого сектора в кластере ?


9-1156145288
shader newbie
2006-08-21 11:28
2007.07.15
Проблема с GLSL


3-1176733324
tytus
2007-04-16 18:22
2007.07.15
Выполнение запросов Oracle в отдельном процессе.