Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowo¶ci
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » luckyluc 03:27
 » Lucyferiu 03:12
 » komisarz 03:06
 » endern 02:39
 » elliot_pl 02:33
 » bursta 02:27
 » Mario2k 02:20
 » mirek190 02:16
 » Dather 02:16
 » Chavez 02:06
 » bazylek 02:05
 » Pyniek197 02:01
 » Zibi 01:48
 » Mademan 01:47
 » biEski 01:34
 » RusH 01:29
 » Visar 01:02
 » Seba 00:53
 » Agnes 00:52
 » abes99 00:43

 Dzisiaj przeczytano
 1625 postów,
 wczoraj 20308

 Szybkie ładowanie
 jest:
wył±czone.

 
TwojePC.pl © 2001 - 2019
A R C H I W A L N A   W I A D O M O ¦ Ć
    

[Pascal egen] Szukanie po tek¶cie wielu rzeczy. How? , laciak88 2/01/10 14:32
Witam w 2010 :)

Dalej mecze delphi wer 6 w ktorej niestety nie ma polecenia posex, a przydaloby sie... Dostaje stringi (wiadomosci lub same naglowki) od serwera nntp w kilku partiach i potrzebuje wydobic z nich tematy i numery wiadomosci. O ile w przypadku jednej wiad. nie ma problemu, to jak dostane z 20 w roznej kolejnosci, to juz mam problem. W kazdej wiadomosci jej numer jest na koncu (co nie znaczy, ze na koncu stringa w ktorym jest X wiadomosci), temat jest po slowie subject (jeden znajde, ale nie mam za bardzo pomyslu co zrobic przy wielu wystapieniach); w przypadku naglowka na poczatku i koncu jest numer wiadomosci, a po poczatkowym numerze i tabulatorze jest temat (nie zdecydowalem jescze czy numery i tematy bede wyciagal z wiadomosci czy z naglowkow). Gdy prosze serwer o wiadomosci, to w petli for leci zapytanie, gdy prosze o naglowki leci jedno zapytanie z wartoscia range. Wymyslilem sobie, ze stworze sobie typ danych gdzie bedzie temat + numer wiadomosci, zeby mozna bylo ladnie wylistowac po kolei. Zadanie byloby o wiele prostsze gdybym dostawal w jednej odpowiedzi po kolei te wiadomosci lub po jednej wiadomosci i po kolei.

Pytanie: jak efektywnie wyciagnac pary temat + numer ze stringa?

Ponizej przyklady 3 wiadomosci oraz 3 naglowkow,

Wiadomosci:



221 51020 <7249.0000000f.45ea6b9d@newsgate.onet.pl> head
Path: node1.news.atman.pl!newsfeed.atman.pl!news.nask.pl!news.nask.org.pl!news.prz.edu.pl!lublin.pl!news.onet.pl!newsgate.onet.pl!niusy.onet.pl
From: \"Sławek\" <;kasislawekWYTNIJTO@vp.pl>
Newsgroups: pl.biznes.banki
Subject: Re: Aż strach oszczędzać w polskich funduszach
Date: 4 Mar 2007 07:47:58 +0100
Organization: Onet.pl SA
Lines: 8
Message-ID: <7249.0000000f.45ea6b9d@newsgate.onet.pl>
References: <7249.0000000e.45ea6aca@newsgate.onet.pl>
NNTP-Posting-Host: newsgate.onet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=\"iso-8859-2\"
Content-Transfer-Encoding: 8bit
X-Trace: newsgate.test.onet.pl 1172990878 31376 213.180.130.18 (4 Mar 2007 06:47:58 GMT)
X-Complaints-To: abuse@onet.pl
NNTP-Posting-Date: 4 Mar 2007 06:47:58 GMT
Content-Disposition: inline
X-Mailer: http://niusy.onet.pl
X-Forwarded-For: 81.219.217.198, 192.168.243.170
X-User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
SV1; .NET CLR 1.0.3705; .NET CLR 2.0.50727; .NET CLR 1.1.4322)
Xref: newsfeed.atman.pl pl.biznes.banki:51020
.
221 51021 <esdvt7$ho8$1@nemesis.news.tpi.pl> head
Path: node1.news.atman.pl!newsfeed.atman.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: \"jerry\" <;nie@mam.pl>
Newsgroups: pl.biznes.banki
Subject: Re: kredyt na mieszkanie bez stalych dochodow
Date: Sun, 4 Mar 2007 09:23:19 +0100
Organization: tp.internet - http://www.tpi.pl/
Lines: 24
Message-ID: <esdvt7$ho8$1@nemesis.news.tpi.pl>
References: <es903i$gsk$1@atlantis.news.tpi.pl> <es90ch$adh$12@node4.news.atman.pl> <es91cj$d0q$1@kjonca.kjonca> <es95an$e44$1@nemesis.news.tpi.pl> <es96a1$1sk$1@inews.gazeta.pl>
NNTP-Posting-Host: ddu94.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain;
format=flowed;
charset=\"iso-8859-2\";
reply-type=response
Content-Transfer-Encoding: 8bit
X-Trace: nemesis.news.tpi.pl 1172996840 18184 83.23.98.94 (4 Mar 2007 08:27:20 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Sun, 4 Mar 2007 08:27:20 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.3028
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028
Xref: newsfeed.atman.pl pl.biznes.banki:51021
.
Path: node1.news.atman.pl!newsfeed.atman.pl!newsfeed.gazeta.pl!news.onet.pl!newsgate.onet.pl!niusy.onet.pl
From: \"Sławek\" <;kasislawekWYTNIJTO@vp.pl>
Newsgroups: pl.biznes.banki
Subject: Re: Aż strach oszczędzać w polskich funduszach
Date: 4 Mar 2007 07:44:27 +0100
Organization: Onet.pl SA
Lines: 21
Message-ID: <7249.0000000e.45ea6aca@newsgate.onet.pl>
References: <escqs4$vfu$1@news.tkdami.net>
NNTP-Posting-Host: newsgate.onet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=\"iso-8859-2\"
Content-Transfer-Encoding: 8bit
X-Trace: newsgate.test.onet.pl 1172990667 30941 213.180.130.18 (4 Mar 2007 06:44:27 GMT)
X-Complaints-To: abuse@onet.pl
NNTP-Posting-Date: 4 Mar 2007 06:44:27 GMT
Content-Disposition: inline
X-Mailer: http://niusy.onet.pl
X-Forwarded-For: 81.219.217.198, 192.168.243.172
X-User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
SV1; .NET CLR 1.0.3705; .NET CLR 2.0.50727; .NET CLR 1.1.4322)
Xref: newsfeed.atman.pl pl.biznes.banki:51019
.
221 51019 <7249.0000000e.45ea6aca@newsgate.onet.pl> head



Naglowki:

51019 Re: Aż strach oszczędzać w polskich funduszach \"Sławek\" <;kasislawekWYTNIJTO@vp.pl> 4 Mar 2007 07:44:27 +0100 <7249.0000000e.45ea6aca@newsgate.onet.pl> <escqs4$vfu$1@news.tkdami.net> 21 Xref: newsfeed.atman.pl pl.biznes.banki:51019
51020 Re: Aż strach oszczędzać w polskich funduszach \"Sławek\" <;kasislawekWYTNIJTO@vp.pl> 4 Mar 2007 07:47:58 +0100 <7249.0000000f.45ea6b9d@newsgate.onet.pl> <7249.0000000e.45ea6aca@newsgate.onet.pl> 8 Xref: newsfeed.atman.pl pl.biznes.banki:51020
51021 Re: kredyt na mieszkanie bez stalych dochodow \"jerry\" <;nie@mam.pl> Sun, 4 Mar 2007 09:23:19 +0100 <esdvt7$ho8$1@nemesis.news.tpi.pl> <es903i$gsk$1@atlantis.news.tpi.pl> <es90ch$adh$12@node4.news.atman.pl> <es91cj$d0q$1@kjonca.kjonca> <es95an$e44$1@nemesis.news.tpi.pl> <es96a1$1sk$1@inews.gazeta.pl> 24 Xref: newsfeed.atman.pl pl.biznes.banki:51021
.
224 [51019-51021] fields follow

Naglowki w tym przypadku po kolei serwer dal, przy wiekszych ilosciach mieszaja sie.

"To Alcohol! The cause of, and solution to, all of
life's problems."

  1. PosEx w D6 to żaden problem: , Rhobaak 2/01/10 14:38
    function PosEx(const SubStr, S: string; Offset: Integer = 1): Integer;
    var
    I,X: Integer;
    Len, LenSubStr: Integer;
    begin
    if Offset = 1 then
    Result := Pos(SubStr, S)
    else
    begin
    if Offset < 0 then
    begin
    Result := 0;
    exit;
    end;
    I := Offset;
    LenSubStr := Length(SubStr);
    Len := Length(S) - LenSubStr + 1;
    while I <= Len do
    begin
    if S[I] = SubStr[1] then
    begin
    X := 1;
    while (X < LenSubStr) and (S[I + X] = SubStr[X + 1]) do
    Inc(X);
    if (X = LenSubStr) then
    begin
    Result := I;
    exit;
    end;
    end;
    Inc(I);
    end;
    Result := 0;
    end;
    end;

    Zastanów się, jednak, czy nie lepiej użyć np. wyrażeń regularnych.

    Kor2dual3,2hZ overkloc,4Gbit Ram
    G-forc 460 gietex,barakudy
    Children of Neostrada Association MVP

    1. jak zwykle , laciak88 2/01/10 14:44
      nie pomyslalem, zeby napisac posex, a myslalem jak rozwiazac szukanie od jakiegos znaku i najszybszym sposobem wydawalo mi sie uzycie delete :).

      A wyrazen regularnych nigdy nie uzywalem, ale wydaje sie to ciekawa opcja. Zaraz bedziem sie uczyc :)

      "To Alcohol! The cause of, and solution to, all of
      life's problems."

    
All rights reserved ® Copyright and Design 2001-2019, TwojePC.PL