Главная страница
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.025 c
3-1176552454
Чародей
2007-04-14 16:07
2007.07.15
Связи


2-1182002572
AlexanderMS
2007-06-16 18:02
2007.07.15
Конфликт совместного использования Microsoft Word a программой и


15-1182234769
Альфонс
2007-06-19 10:32
2007.07.15
Познакомлюсь с девушкой программистом


15-1181897483
Kolan
2007-06-15 12:51
2007.07.15
Программа для проверки грамматики в коде.


4-1170931213
Lucky13
2007-02-08 13:40
2007.07.15
Как добавить подменю в системное контекстное меню