Главная страница
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.024 c
15-1181669771
Ivannn
2007-06-12 21:36
2007.07.15
DDE


2-1182321387
Ral'f
2007-06-20 10:36
2007.07.15
Как исключить дисковод (DRIVE_REMOVABLE, DRIVE_FIXED)?


15-1182101637
koha
2007-06-17 21:33
2007.07.15
Приглашают на работу, как быть?


15-1181982999
cosinus
2007-06-16 12:36
2007.07.15
Вопрос по WSH и network...


6-1166481018
PHPDeveloper
2006-12-19 01:30
2007.07.15
WebBrowser