Обычно 0 баллов дают только в том случае, если идея решения абсолютно не соответствует тому, что требовалось... Вряд ли это из-за EOF. Ну как-то так можно, но это изврат imho EOF для того и существует Code: Var F:File; N,E:Integer; B:Byte; Begin {$I-} AssignFile(F,'name.dat'); Reset(F,1); {$I+} If IOResult<>0 Then Begin Memo1.Lines.Append('Error'); Exit; End; N:=0; {$I-} BlockRead(F,B,1); {$I+} While IOResult=0 Do Begin Memo1.Lines.Append(IntToStr(N)+'-'+IntToHex(B,2)); Inc(N); {$I-} BlockRead(F,B,1); {$I+} End; Memo1.Lines.Append('EOF'); CloseFile(F);
Well guys, first I'm sorry about that I'm writing in english... Thanks for examples and help you gave me But now I have stange mistake, I can't get the real page which I want to parse with indy (delphi 7). Lol... Code: procedure TForm1.btnGetResultsClick(Sender: TObject); var Client : TidHTTP; s, MatchDate: string; begin client := TidHttp.Create(nil); try s := Client.Get('http://www.sportal.bg/statistics_schedule.php?champ=5&season=50&team=0&round='+'1387') ; //or link http://www.sportal.bg/statistics_schedule.php?champ=5&season=50&team=0&round=1387 finally client.Free; end; memResults.Text := s; end; Well, do I have to set any special setting on indy ? I call indy dynamically (without drag & drop on the form). And in the memo is another page - stange... p.s. Well my general idea is to add color tags for forums: PHP: [color=#008000]team 1 - team 2[/color] [color=#FF8000]date[/color] [color=#0000BF]hour[/color] [color=#FF0000]result[/color] result in forum with tags: I have no problem to copy these 10 matches and paste in memo - just I don't know how to add these tags to all
Всем привет, дали такое задание: PHP: Задан изограф. Надо обойти все вершины графа, в каждой вершине побывав не более одного раза. Если это невозможно, то вывести соответствующее сообщение. Граф задается двоичной матрицей смежности. Матрица считывается из файла. Первая строка файла – количество N вершин графа, далее указывается сама матрица N*N.Пусть на графе обход уже начат. Определить, можно ли завершить этот обход. Если да, то указать последовательность обхода. Реализовать с помощью рекурсии Помогите люди добрые кто чем может)))Проблема собственно в том, что само задание понять не могу, посмотрел в википедии определение изограф, к моей задаче эт точно никакого отношения не имеет.С графами менного понятней, но все же, может у кого алгоритм сохранился или инфа какая.Реализовать алгоритм сложности не составит, мне бы его тока составить))Заранее спасибо.
Омг зачем нужна эта функция тебе, когда есть родимый StringReplace ? Просто вызывай так str := StringReplace('исходный текст', 'подстрока', 'на что заменяем', []);
Try use Http Analyzer to detect possible defects and compare your reqeusts to browser's requests. In any case dinamic using TIdHttp is not reason for it. Sorry for my horrible english
With opera : request: Code: User-Agent: Opera/9.80 (Windows NT 6.1; U; en) Presto/2.7.39 Version/11.00 Host: www.sportal.bg Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: bg-BG,bg;q=0.9,en;q=0.8 Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0 Referer: http://www.sportal.bg/news_category.php?category=2 Cookie: anketa_voted_465=1; anketa_voted_476=1; anketa_voted_482=1; anketa_voted_519=1; anketa_voted_529=1; anketa_voted_532=1; anketa_voted_546=1; anketa_voted_556=1; anketa_voted_560=1; __utmz=250370137.1289750899.174.26.utmcsr=ads.zamunda.net|utmccn=(referral)|utmcmd=referral|utmcct=/indexrssnew1.php; static_path=http%3A%2F%2Fimg2.sportal.bg%2F; PHPSESSID=8c82a94d3ad12c6a36c8735064059075; adv_spam=1; __utma=250370137.776124878.1281886734.1289858167.1289860430.181; __utmc=250370137; __utmb=250370137.2.10.1289860430 Cookie2: $Version=1 Connection: Keep-Alive, TE TE: deflate, gzip, chunked, identity, trailers response: Code: HTTP/1.1 200 OK Date: Mon, 15 Nov 2010 22:45:38 GMT Server: Apache/2.2.15 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Connection: close Transfer-Encoding: chunked Content-Type: text/html With my program: request: Code: Content-Type: text/html Host: www.sportal.bg Accept: text/html, */* User-Agent: Mozilla/3.0 (compatible; Indy Library) response: Code: HTTP/1.1 200 OK Date: Mon, 15 Nov 2010 22:43:50 GMT Server: Apache/2.2.15 Set-Cookie: static_path=http%3A%2F%2Fimg2.sportal.bg%2F; expires=Tue, 16-Nov-2010 04:43:50 GMT; path=/; domain=.sportal.bg Set-Cookie: PHPSESSID=a4de90614fb4fc5ad08a11caba768261; path=/; domain=.sportal.bg Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Connection: close Transfer-Encoding: chunked Content-Type: text/html But I really don't understand what to do and how to fix it. My Knowledge is too small.
beBoss Just assign TIdCookieManager to TIdHttp and do your request twice, or add cookie 'adv_spam=1' to request headers. i just checked it
I have no idea how to do that My code: Code: procedure TForm1.InitHTTPRequest; begin with Client do begin Request.Connection:= 'keep-alive'; Request.ContentLength:= -1; Request.ContentRangeEnd:= 0; Request.ContentRangeStart:= 0; Request.Accept:= 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'; Request.AcceptCharSet:= 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'; Request.AcceptLanguage:= 'bg,en-us;q=0.7,en;q=0.3'; Request.AcceptEncoding:= ''; //Request.AcceptEncoding:= 'gzip,deflate'; Request.BasicAuthentication:= False; Request.Host:= 'www.sportal.bg'; Request.Referer:= 'http://www.sportal.bg/'; Request.UserAgent:= 'beBoss'; end; end; procedure TForm1.btnGetResultsClick(Sender: TObject); var page, MatchDate: string; RegExp: TRegExpr; i : integer; begin page := Client.Get('http://www.sportal.bg/statistics_schedule.php?champ=4&season=56&team=0&round=1388'); page := UTF8Decode(page); RegExp := TRegExpr.Create; RegExp.InputString := page; RegExp.Expression := '<td class="programaDate">(.*?)</td>'; if RegExp.Exec then begin memResults.lines.Add(RegExp.Match[1]); end; RegExp.Free; end; I have to double click to get the date... I think that I want to get these matches is very, very hard (for me ofcourse) and I bore you with crap...
beBoss There is two ways: 1)In uses add IdCookieManager After you create TIdHttp: Before destroying TIdHttp: and: 2)Add cookie to request headers manually or I could be wrong, because i have no Indy (i use ICS) Isaev а ты проверил прежде чем подвергать сомнению мои слова? Например что? И про какой login речь вообще?
Там куков целая телега цепляется... И вряд ли они так просто задаются, т.к. обычно выдаются для каждой новой сессии разные, т.к. собирать их надо начинать на этапе logina на сайт Indy цепляет куки глючно очень, т.ч. используйте что-нибудь другое
GhostOnline Finally I got the date. I used the second way without cookie manager-a. Now if you have free time ofcourse and idea, could you help me to parse the page . Just if you have time and wish Thank you again for your help !
Прошу скорее совета, чем прямой помощи. Играюсь тут по старой памяти с BDE/Paradox. Проблема такова - нельзя связать инкрементное поле-счетчик одной таблицы с числовым полем другой. Пишет Database Desktop мне, что типы данных разные. Как правильно выйти из такой ситуации? И ещё - взаимодействие таблиц "кошерно" делать прямо при создании оной или в коде из среды Delphi ? // З.Ы. пусть модеры потрут идентичный вопрос из топика про лабы, перепутал разделы
Найти среднее арифметическое элементов с четными номерами массива: C=(-1, 5 0, 4 -3 , 6, 7, 6) паскаль