Autor Beitrag
Mephisto090
Hält's aus hier
Beiträge: 9

WinXP
Turbo Delphi
BeitragVerfasst: Di 01.09.09 10:47 
Hallo ich habe ein kleines Problem

Ich will aus einem TWebbrowser ein quelltext auslesen (HTML) das auslesen ist kein Prob aber im HTML Quelltext sind enterzeichen und SearchBuf hat damit Probleme


ausblenden Quelltext
1:
2:
3:
4:
5:
6:
<TD class=svClosed><A href="/stats/eos">Eos (New)</A></TD>
<TD class=svClosed>0/3500</TD>
<TD class=svClosed>
<DIV align=right>100.0</DIV></TD>
<TD class=svClosed>Closed</TD></TR>
<TR>


ausblenden Delphi-Quelltext
1:
2:
3:
if SearchBuf(Buff, length(Buff), 00'>' + edtServername.Text + '</A></TD> (((!!! Siehe Text drunter !!!))) <TD class=svClosed>') <> nil then

if SearchBuf(Buff, length(Buff), 00'>' + edtServername.Text + '</A></TD><TD class=svClosed>') <> nil then


Da wo Siehe Text drunter steht muss ich irgendwie das Enter zeichen rein bekommen mit #13 geht es nicht

Danke im Vorraus
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 01.09.09 12:05 
Hallo,

das funktioniert.
ausblenden Delphi-Quelltext
1:
2:
if SearchBuf(Buff,length(Buff),0,0,
            '>' + edtServername.Text + '</A></TD>'+#13+'<TD class=svClosed>') <> nil then


bist Du Dir sicher das #13 ausreichend ist?

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Mephisto090 Threadstarter
Hält's aus hier
Beiträge: 9

WinXP
Turbo Delphi
BeitragVerfasst: Di 01.09.09 12:13 
warum gehts dann bei mir so nicht ich verstehe das nicht ich kann ja mal mehr Quelltext rein Posten

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
procedure TForm1.Update;
var Buff: PChar;
    sourcecode: string;
    Player, Gesamt, PoC, PoCK: Integer;
begin
  sourcecode:= Wb1.OleObject.Document.documentElement.innerHTML;
  Buff:= PChar(sourcecode);
  mmo2.Clear;
  mmo2.Lines.Add(sourcecode);
  if SearchBuf(Buff, length(Buff), 00'>' + cbbServername.Text + '<') <> nil then
  begin
    lblServername.Font.Color:= clBlack;
    lblServername.Caption:= 'Servername: ' + cbbServername.Text;
    if SearchBuf(Buff, length(Buff), 00'>' + cbbServername.Text + '</A></TD>'+#13+'<TD class=svClosed>') <> nil then
    begin
      lblStatus.Font.Color:= clRed;
      lblStatus.Caption:= 'Status: Closed';
      For Player:= 0 to 4000 do
      begin
        if SearchBuf(Buff, length(Buff), 00'<TD class=svClosed>' + IntToStr(Player) + '/') <> nil then
        begin
          Application.ProcessMessages;
          For Gesamt:= 2000 to 4000 do
          begin
            if SearchBuf(Buff, length(Buff), 00'<td class=svClosed>' + IntToStr(Player) + '/' + IntToStr(Gesamt) + '</td') <> nil then
            begin
              Application.ProcessMessages;
              lblPlayer.Caption:= 'Player: ' +  IntToStr(Player) + '/' + IntToStr(Gesamt);
              For PoC:= 0 to 100 do
              begin
                if SearchBuf(Buff, length(Buff), 00'<div align=right>'+ IntToStr(PoC)) <> nil then
                begin
                  Application.ProcessMessages;
                  For PoCK:= 0 to 9 do
                  begin
                    if SearchBuf(Buff, length(Buff), 00'<div align=right>'+ IntToStr(PoC) + '.' + IntToStr(PoCK) + '</DIV>') <> nil then
                    begin
                      Application.ProcessMessages;
                      If (PoC > 80Then
                      begin
                        lblPoc.Font.Color:= clGreen;
                      end;
                      If (PoC < 80and (PoC > 20Then
                      begin
                        lblPoc.Font.Color:= clYellow;
                      end;
                      If (PoC < 20Then
                      begin
                        lblPoc.Font.Color:= clRed;
                      end;
                      lblPoc.Caption:= 'PoC: ' + IntToStr(PoC) + '.' + IntToStr(PoCK) + ' %';
                    end;
                  end;
                end;
              end;
            end;
          end;
        end;
      end;
    end;
  end
  else
  begin
    if not (SearchBuf(Buff, length(Buff), 00'>Server Inspection</td') <> nilthen
    begin
      lblServername.Font.Color:= clRed;
      lblServername.Caption:= 'Servername: Nicht Gefunden';
    end;
  end;
  if (SearchBuf(Buff, length(Buff), 00'>Server Inspection</td') <> nilthen
  begin
    lblServername.Font.Color:= clRed;
    lblServername.Caption:= 'Server Inspection';
    lblPlayer.Visible:= False;
    lblPoc.Visible:= False;
    lblStatus.Visible:= False;
    cbbServername.Enabled:= False;
  end
  else
  begin
    lblPlayer.Visible:= True;
    lblPoc.Visible:= True;
    lblStatus.Visible:= True;
    cbbServername.Enabled:= True;
  end;
end;


ab dem 2 SearchBuf macht er nicht weiter weil wie gesagt der Quelltext lass ich mir in einem Memo ausgeben leerzeichen hat oder sowas in der art

EDIT: nach dem 2 fehlt bei SearchBuf eine Menge also nicht beachten :p

Auszug aus dem TMemo

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
<TR>
<TD class=svClosed><A href="/stats/apollo">Apollo (New)</A></TD>
<TD class=svClosed>0/3500</TD>
<TD class=svClosed>
<DIV align=right>100.0</DIV></TD>
<TD class=svClosed>Closed</TD>
<TD> </TD>
<TD class=svClosed><A href="/stats/titan">Titan (New)</A></TD>
<TD class=svClosed>0/3500</TD>
<TD class=svClosed>
<DIV align=right>100.0</DIV></TD>
<TD class=svClosed>Closed</TD></TR>


und da ich ja nicht die ausgaben von Irgendwelchen Servern haben will muss ich halt dieses Enter beachten und immer weiter machen
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: Di 01.09.09 12:19 
#13#10 ?

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 01.09.09 13:10 
Hallo,

user profile iconLannes hat folgendes geschrieben Zum zitierten Posting springen:
bist Du Dir sicher das #13 ausreichend ist?
:wink:

was mir noch so auffällt:
SearchBuf(Buf: PAnsiChar ...) erwartet PAnsiChar

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Mephisto090 Threadstarter
Hält's aus hier
Beiträge: 9

WinXP
Turbo Delphi
BeitragVerfasst: Di 01.09.09 14:54 
cool mit #13#10 hat es geklappt