Delphi-PRAXiS
Seite 4 von 49   « Erste     234 5614     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   [ISDN Anrufmonitor] - ISDN Sentinel (https://www.delphipraxis.net/57519-%5Bisdn-anrufmonitor%5D-isdn-sentinel.html)

Yheeky 24. Nov 2005 17:50

Re: ISDN-Anrufmonitor
 
So, neue Version 1.1.0.0 im ersten Posting.
  • Zugriffsfehler bei Transparenzeinstellung behoben
  • MSNs können nun Namen zugewiesen werden
  • Anrufer im Internet nachschlagen

@RavenIV: Verstehe bitte, dass ich den Sourcecode derzeit noch nicht herausgeben möchte. Vielleicht später mal.

RavenIV 24. Nov 2005 18:02

Re: ISDN-Anrufmonitor
 
Zitat:

Zitat von Yheeky
@RavenIV: Verstehe bitte, dass ich den Sourcecode derzeit noch nicht herausgeben möchte. Vielleicht später mal.

ich bräuchte nur die Source des Teiles von "Anrufer im Internet nachschlagen".
damit wäre mir schon sehr geholfen...
kannst es mir auch gerne per email oder pn schicken.
Danke im Voraus

Yheeky 24. Nov 2005 18:34

Re: ISDN-Anrufmonitor
 
Zitat:

Zitat von RavenIV
Zitat:

Zitat von Yheeky
@RavenIV: Verstehe bitte, dass ich den Sourcecode derzeit noch nicht herausgeben möchte. Vielleicht später mal.

ich bräuchte nur die Source des Teiles von "Anrufer im Internet nachschlagen".
damit wäre mir schon sehr geholfen...
kannst es mir auch gerne per email oder pn schicken.
Danke im Voraus

Achso, ja das ist kein Problem ;)

Delphi-Quellcode:
uses ShellApi;

var URL : Array[0..255] of char;
begin
StrPCopy(URL,'http://www.11880.com/Suche/index.cfm?fuseaction=Suche.rueckwaertssucheresult&tel=' + Rufnummer);
ShellExecute(0,NIL,URL,NIL,NIL,SW_Normal);

Thanatos81 24. Nov 2005 21:54

Re: ISDN-Anrufmonitor
 
Oder du/uhr speicherst die aufgerufene Seite in ner TStringList und nimmst diese hier ;-)
Delphi-Quellcode:
procedure parse11880(memo : TMemo; Info : TStringList);
var loesch,i : Integer;
begin
  loesch := 0;
  while pos('<td width="310px" valign="top">',Info.Text) <> 0 do
    begin
      repeat
        Info.Delete(loesch);
      until (trim(Info[loesch+1]) = '<td width="310px" valign="top">');
      Info.Delete(loesch+1);
      Info.Delete(loesch+2);
      inc(loesch,8);
    end;

  repeat
    Info.Delete(loesch);
  until Info.Count = loesch;

  Info.Text := stringReplace(Info.Text,'<span >','',[rfReplaceAll,rfIgnoreCase]);
  Info.Text := stringReplace(Info.Text,'</span>','',[rfReplaceAll,rfIgnoreCase]);
  Info.Text := stringReplace(Info.Text,'
','',[rfReplaceAll,rfIgnoreCase]);
  Info.Text := stringReplace(Info.Text,'
','',[rfReplaceAll,rfIgnoreCase]);
  Info.Text := stringReplace(Info.Text,'</td>','---------------',[rfReplaceAll,rfIgnoreCase]);

  memo.Lines.BeginUpdate;
  for i := 0 to Info.Count-1 do
    begin
      Info[i] := trim(Info[i]);
      if Info[i] <> ''
        then memo.Lines.Add(Info[i]);
    end;
  memo.Lines.EndUpdate;
end;
Hab heute ein kleines Programm geschrieben, quasi ein Mini-KlickTel mit 11880.com- und dasOertliche.de-Anbindung ;-) Ist zwar nicht sehr elegant gelöst, aber funktioniert. Problem wäre halt, wenn die ihr Seitenlayout ändern. :wink:

RavenIV 25. Nov 2005 07:36

Re: ISDN-Anrufmonitor
 
Zitat:

Zitat von Yheeky

Delphi-Quellcode:
uses ShellApi;

var URL : Array[0..255] of char;
begin
StrPCopy(URL,'http://www.11880.com/Suche/index.cfm?fuseaction=Suche.rueckwaertssucheresult&tel=' + Rufnummer);
ShellExecute(0,NIL,URL,NIL,NIL,SW_Normal);

danke soweit erst mal

und wie erhalte ich das Resultat und wie werte ich dieses aus?

gruessle

Yheeky 25. Nov 2005 08:23

Re: ISDN-Anrufmonitor
 
Zitat:

Zitat von RavenIV
Zitat:

Zitat von Yheeky

Delphi-Quellcode:
uses ShellApi;

var URL : Array[0..255] of char;
begin
StrPCopy(URL,'http://www.11880.com/Suche/index.cfm?fuseaction=Suche.rueckwaertssucheresult&tel=' + Rufnummer);
ShellExecute(0,NIL,URL,NIL,NIL,SW_Normal);

danke soweit erst mal

und wie erhalte ich das Resultat und wie werte ich dieses aus?

gruessle


Bitte :D
Was meinst du genau? Das ist alles - sobald du im Programm auf den Button klickst, kommt ein Browserfenster und zeigt dir die Daten an. Natürlich könnte man auch die Daten aus dem Browser auslesen, aber sobald 11880.com den Code von der Seite ändert, funktioniert es nicht mehr. Deswegen hab ich mich erstmal für diese Variante entschieden.

RavenIV 25. Nov 2005 08:30

Re: ISDN-Anrufmonitor
 
das kann ich nicht gebrauchen.
ich würde gerne das Resultat in einem Label oder ToolTip anzeigen.

Gibt es eine "elegante" Methode, das Resultat aus der Suchabfrage herauszubekommen, ohne die komplette webseite zu parsen?

gruessle

MaBuSE 25. Nov 2005 09:33

Re: ISDN-Anrufmonitor
 
Zitat:

Zitat von RavenIV
das kann ich nicht gebrauchen.
ich würde gerne das Resultat in einem Label oder ToolTip anzeigen.
Gibt es eine "elegante" Methode, das Resultat aus der Suchabfrage herauszubekommen, ohne die komplette webseite zu parsen?

Es gibt mehrere Codeschnippsel,die die Web Seiten parsen:
Im Netz findest Du beispiele in Delphi (ein paar Beiträge weiter oben :mrgreen:), php, c#, ...
Einen Webservice habe ich leider noch nicht gesehen.
Ein Beispiel in Phyton: (aus dem Internet, nicht von mir getestet)
Code:
#!/usr/bin/env python

# :mode=python:
"""
Ask "Das Oertliche" for reverse mapping of a telephone number and display result
[email]alpha@webmonster.de[/email]

FIXME: evil hack, no exceptions, no checks
"""

import sys
import string
import urllib
from HTMLParser import HTMLParser

baseurl = "http://www.dasoertliche.de/DB4Web/es/oetb2suche/home.htm"

def tuples2dict(tuples):
    return dict([(x[0], x[1]) for x in tuples])


class RevParser(HTMLParser):
    def __init__(self):
        HTMLParser.__init__(self)
        self.td = 0
        self.res = {}
        self.trig = 0


    def handle_starttag(self, tag, attrs):
        att = tuples2dict(attrs)
        if tag == "td":
            self.td += 1
        if tag == "a" and att.has_key('class'):
            if att['class'] == "blb":
                self.trig = 1


    def handle_endtag(self, tag):
        if tag == "td":
            self.td -= 1
            self.trig = 0


    def handle_data(self, data):
        if self.td == 5 and self.trig > 0:
            print string.strip(data)


if __name__ == "__main__":
    if len(sys.argv) > 0:
        r = RevParser()
        r.feed(urllib.urlopen ("%s?kw_invers=%s&main=Antwort&AKTION=START_INVERS_SUCHE&SEITE=INVERSSUCHE_V&s=2&rg=1&AKTION=START_SUCHE&sourceid=mozilla-search" % (baseurl, sys.argv[1])).read())
        r.close()

Yheeky 25. Nov 2005 10:54

Re: ISDN-Anrufmonitor
 
Zitat:

Zitat von RavenIV
das kann ich nicht gebrauchen.
ich würde gerne das Resultat in einem Label oder ToolTip anzeigen.

Gibt es eine "elegante" Methode, das Resultat aus der Suchabfrage herauszubekommen, ohne die komplette webseite zu parsen?

gruessle

Nicht, dass ich wüsste.
Habe nun im ersten Posting eine aktuelle Version hochgeladen. Nun wird der Eintrag aus dem Internet-Telefonbuch direkt im Programm angezeigt.

ManuMF 29. Nov 2005 19:24

Re: ISDN-Anrufmonitor
 
Hallo,

hast du dein Programm "schließ-resistent" ;-) gemacht?
Wenn es offen ist, fährt mein Rechner nicht mehr runter.

Gruß,
ManuMF


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:12 Uhr.
Seite 4 von 49   « Erste     234 5614     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz