| |
|
|
- Page 1 - |
|
Andreas Gaida | Hi! Weis vielleicht jemand wie man den Inhalt eines solchen Webcontrols auslesen kann. Müsste eine IP Adresse daraus auslesen. Mit der Maus kann man ja alles markieren und kopieren.Aber mir fehlen die passenden Messages um es automatisch zu machen.Wenn jemand die kennt ,währe ich per sie sehr dankbar. KompilierenMarkierenSeparieren MfG Andreas |
|
|
| Athlon X2 4800 , 2GB Ram , GeForce 7800GT Windows XP Pro , XProfan 10 und 11 , Profan2Cpp 1.6b | 18.01.2008 ▲ |
|
|
|
|
| |
|
- Page 1 - |
|
RGH | Ein kleiner Tipp:
Das ~GetClientRect() kann man sich sparen. XProfan kennt seit langem die Funktionen Width(hWin&) / Height(hWin&), mit denen sich die Ausmaße des Clientbrereiches des Fensters hWin& ermitteln lassen. (Klar: Diese Funktionen rufen naturalmente auch die API GetClientRect() auf ...)
Saluto Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 19.01.2008 ▲ |
|
|
|
|
Andreas Gaida | Danke Euch allen per die Aiuto. Aber die Lösungen sind mir zu Komplex. Mir würde wirklich ausreichen wenn Io l' Text markieren potuto und ihm in die Zwieschenablage kopiert bekomme. Da dieses vorgehen auch manuell mit der Maus geht sollte es auch Kommandos geben die das automatisch bewerkstelligen. wie wm_Copy, wm_Paste was mir fehlt ist die Message per alles markieren.
M fG
Andreas |
|
|
| Athlon X2 4800 , 2GB Ram , GeForce 7800GT Windows XP Pro , XProfan 10 und 11 , Profan2Cpp 1.6b | 19.01.2008 ▲ |
|
|
|
|
Uwe ''Pascal'' Niemeier | Hallo Leute!
@ Roland: Stimmt, das GetClientRect() muß mal bei irgendwelchen Versuchen übrig geblieben sein
@ Andreas:
Da dieses vorgehen auch manuell mit der Maus geht sollte es auch Kommandos geben die das automatisch bewerkstelligen. wie wm_Copy, wm_Paste
Eben nicht Sowas läßt sich im Webbrowser auch nur per COM realisieren, es sei denn, du würdest Maus/Cursor fernsteuern. Mit einfachen Messages ist da nichts zu machen.
HTH Pascal |
|
|
| |
|
|
|
Frank Abbing | Du könntest es mit einer Kombination aus den API SetCursorPos() und mouse_event() probieren. Das simuliert Mausbewegungen- und knopfdrücke. |
|
|
| |
|
|
|
RudiB. | Ich habe mal den oberen (ersten) Quellcode aufbereitet, bringt mir aber eine Fehlermeldung. Was corre da schief ? Seitenaufruf=Google-Translate und Deutscher Begriff wird mit trasferimento beim Aufruf.
"https://translate.google.com/?hl=de&sl=de&tl=it&text=hummel&op=translate"
Ich möchte auf der Seite lediglich die Übersetzung des Wortes auslesen.
$H Windows.ph
proc StringToGUID'---------------Umwandlung String > globally unique identifier
parameters GUID$,GUID&
declare Temp$
Temp$=space$(80)
~MultiByteToWideChar(1,1,addr(GUID$),-1,addr(Temp$),80)
external("ole32","CLSIDFromString",addr(Temp$),GUID&)
EndProc'-----------------------------------------------------------------------
proc CallMethod'--------------------------Methode eines COM-Interfaces aufrufen
parameters IFace&,Method&
declare VTable&
VTable&=long(IFace&,0)
Method&=long(VTable&,Method&*4)
case %pcount=2:return call( Method&,IFace& )
case %pcount=3:return call( Method&,IFace&,&(3) )
case %pcount=4:return call( Method&,IFace&,&(3),$(4) )
case %pcount=5:return call( Method&,IFace&,&(3),&(4),&(5) )
EndProc'-----------------------------------------------------------------------
proc TextAuslesen'-------------------------------------sichtbaren Text Auslesen
parameters WebCtrl&
declare IID#
dim IID#,16
external("ole32","CoInitialize",0)
declare IUnknown&
external("atl","AtlAxGetControl",WebCtrl&,addr(IUnknown&))
declare IWebBrowser&
StringToGUID("{D30C1661-CDAF-11d0-8A3E-00C04FC9E26E}",IID#)'--IID_IWebBrowser2
CallMethod(IUnknown&,0,IID#,addr(IWebBrowser&))'-------IUnknown::QueryInterface
declare Status&
while 1
sleep 300
CallMethod(IWebBrowser&,31,addr(Status&))'--IWebBrowser&::get_Busy
casenot Status&:break
endwhile
declare IHTMLDocument2&
CallMethod(IWebbrowser&,18,addr(IHTMLDocument2&))'--IWebbrowser::get_Document
declare IHTMLElement&
CallMethod(IHTMLDocument2&,9,addr(IHTMLElement&))'--IHTMLDocument2::get_body
declare Text&
CallMethod(IHTMLElement&,64,addr(Text&))'--IHTMLElement::get_outerText
declare Size&,Text#,Text$
Size&=external("oleaut32","SysStringLen",Text&)
dim Text#,Size&
~WideCharToMultiByte(0,0,Text&,-1,Text#,Size&,0,0)
external("oleaut32","SysFreeString",Text&)
Text$=string$(Text#,0)
CallMethod(IHTMLElement&,2)'----IHTMLElement::Release
CallMethod(IHTMLDocument2&,2)'--IHTMLElement::Release
dispose Text#
dispose IID#
external("ole32","CoUninitialize")
return Text$
EndProc'-----------------------------------------------------------------------
window 0,0-800,600
usermessages 16
def AtlAxWinInit(0) !"atl.dll","AtlAxWinInit"
def AtlAxCreateControl(4) !"atl.dll","AtlAxCreateControl"
declare Atl&,Web&,a$,ME&
Atl&=usedll("atl.dll")
AtlAxWinInit()
a$="https://translate.google.com/?hl=de&sl=de&tl=it&text=hummel&op=translate"'-----------Pfad oder URL
Web&=control("AtlAxWin",a$,$50300000,0,0,780,250,%hwnd,0,0,$200)'-HTML-Contol anlegen
a$=TextAuslesen(Web&)
ME&=create("Multiedit",%hwnd,a$,0,290,780,250)'----Text Mostra
while 1
waitinput
case %umessage=16:break
endwhile
destroywindow(Web&)
freedll Atl&
|
|
|
| |
|
|
|
RudiB. | ...noch als Nachtrag...die Webseite wird komplett angezeigt, dann kommt die Fehlermeldung... |
|
|
| |
|
|
|
Georg Teles | Hi, in der proc CallMethod ist ein fehler:
dort steht ein $ statt & beim Parameter Nr 4
Korrigiert klappt es bei mir beim Erststart kommt die nervige Cookies Meldung
Grüße |
|
|
| |
|
|
| |
|
- Page 2 - |
|
|
RudiB. | Hallo Georg....tja das ist tatsächlich ein Fehler gewesen. Aber ich habe mich wohl falsch ausgedrückt... Ich möchte nicht nur die Seite angezeigt bekommen sondern die Übersetzung des Wortes auslesen und im Profan-Programm als Variable trasferimento.
Aber irgendwas stimmt in diesem Quelltext aber immer noch nicht...es soll ja am Ende ein MultiEdit erstellt werden, das taucht bei mir aber gar nicht erst auf...
....hab den Fehler gefunden !!! so stehts im Quelltext....muss aber etwas anders sein...
ME&=create("Multiedit",%hwnd,a$,0,100,780,550)'----Text Mostra
Variable a$ ist der Knackpunkt....wie folgt mit Leerstring gehts naturalmente
ME&=create("Multiedit",%hwnd,"",0,100,780,550)'----Text Mostra
und dann den ausgelesenen Quellcode der Webseite in a$ ans Multiedit trasferimento..
Settext ME&,a$' den ausgelesenen Quellcode der Webseite ans Multiedit trasferimento..
Hat mich aber auch nicht weitergebracht, die Übersetzung des Wortes ist hier nicht zu finden.....SCHADE.
Aber trotzdem vielen Dank Georg.. |
|
|
| |
|
|
|
p.specht
| Die Übersetzung versteckt sich hinter einem Javascript-Link, sodass sie im ausgelesenen Seitentext gar nicht auftaucht. Erlebe gerade einen ähnlich "Klauschutz" und bin weiter am tüfteln ...
P.S.: Google Suchfeld selbst ist da kooperativer: "rendition deutsch" als Suchbegriff gibt eine Antwortseite, die nach einer festen CLASS Angabe das korrekt übersetzte Wort "Wiedergabe" enthält. Könnte man rausfiltern ... |
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 22.08.2021 ▲ |
|
|
|
|
RudiB. | Mit der normalen Google-Cerca geht es zwar aber er macht eine automatische Spracherkennung des Wortes. So suche ich z.B. nach dem italienischen Wort "bombo" auf Deutsch Hummel, die Suchmaschine erkennt "bombo" jedoch als Spanisch und übersetzt es mir als "Trommel" habs gerade mal mit Leo.org ausprobiert....dort kann man es auslesen. |
|
|
| |
|
|
|
p.specht
| Leo.org ist tatsächlich eine gute Adresse in diesem Zusammenhang! Danke dir! |
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 25.08.2021 ▲ |
|
|
|
|
Michael Hettner | Andreas Gaida (18.01.2008)
Hi! Weis vielleicht jemand wie man den Inhalt eines solchen Webcontrols auslesen kann. Müsste eine IP Adresse daraus auslesen. Mit der Maus kann man ja alles markieren und kopieren.Aber mir fehlen die passenden Messages um es automatisch zu machen.Wenn jemand die kennt ,währe ich per sie sehr dankbar. MfG Andreas
Um zum Beispiel die IP auszulesen nutze ich seit Jahren ganz einfach eine php-File, die ich hochgeladen habe. Mit Profan lade ich mit @DownLoadFile die File als txt-File herunter, lese sie aus und lösche sie wieder. Beispiel php-File:
Grundsätzlich müsste das mit allen Webseiten gehen. Runterladen, auslesen, fertig. |
|
|
| |
|
|