AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Javascript mit delphi möglich?
Thema durchsuchen
Ansicht
Themen-Optionen

Javascript mit delphi möglich?

Ein Thema von NightFox · begonnen am 13. Dez 2006 · letzter Beitrag vom 14. Dez 2006
Antwort Antwort
NightFox

Registriert seit: 22. Sep 2006
32 Beiträge
 
#1

Javascript mit delphi möglich?

  Alt 13. Dez 2006, 18:41
Hi, hab vor ein programm zu schreiben das eine internetseite mit dem webbrowser öffnet. Nun wollte ich es so machen dass wenn man ein button im programm anklickt, dass dann das java-script eines auf der homepage angelegten buttons startet. ist das möglich?
(bitte genauestens beschreiben ^^ bin neu bei dephi )
mfg NightFox
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Javascript mit delphi möglich?

  Alt 13. Dez 2006, 19:27
Folgendes ist programiertechnisch über TWebBrowser möglich:
* einen Button auf der Webseite anklicken
* Eingabefelder mit Text befüllen
* Checkboxen an- oder abkreuzen
* Comboboxen auswählen
Nicht möglich ist z.B. ein Dateiupload durch Vorgabe eines Dateinamens. (aus Sicherheitsgründen)

Hier kommt mal ein grosses Stück Code, das zeigt wie man Editboxen in Webseiten mit TEXT befüllt.
Du musst aber schon selber etwas mitdenken und Forschungsarbeit betreiben.
Delphi-Quellcode:
function TFrmHTMLUpload.FillForm(WebBrowser: TWebBrowser; submit:Boolean) : Boolean;
var
  i,j:Integer;
  FormItem, Element : OleVariant;
  document : OleVariant;

  itemtype, itemname : string;
  r, maxlen, selcount, postcount : Integer;

  value2 : string;
begin

   document := WebBrowser.OleObject.document;

   //no form on document
   If document.all.tags('FORM').length=0 then
   begin
    exit;
   end;

   postcount := 0;

   //count forms on document
   for I:=0 to document.forms.Length -1 do
   begin
      Result:=false;
      FormItem := document.forms.Item(I);
      For j:= 0 to FormItem.Length-1 do
      begin
         Element := FormItem.Item(j);
         itemname := Element.Name;

         itemtype := UpperCase(Element.Type);

         value2 := '';
         
         if itemname='USERNAMEthen
            value2 := 'administrator'
         else if itemname='PASSWORTthen
            value2 := 'geheim';


        if value2 <> 'then
        begin
         if (itemtype = 'TEXT') then
         begin
            maxlen := Element.MaxLength;
            Element.Value:= Copy(value2, 1, maxlen);
         end else if (itemtype = 'RADIO') then
         begin
            Element.Checked := Copy(value2, 1, 1) = '*';
         end
         else
            Element.value := value2;
         Inc(postcount);
        end;

        if (itemtype = 'SELECT-ONE') and (value2 = '') then
        begin
           // TODO: check options.count

           selcount := Element.options.Length;
           Element.value := Element.options.Item(system.Random(selcount)).value;
        end
        else if itemtype = 'CHECKBOXthen
        begin
           if system.Random > 0.5 then
              Element.Checked := True;
        end;


      end;

      if (not submit) and (postcount > 0) then
         Exit;

      if submit and (postcount > 0) then
      begin
         SubmitWebForm(FormItem);
         Exit;
      end;
   end;
end;
Andreas
  Mit Zitat antworten Zitat
NightFox

Registriert seit: 22. Sep 2006
32 Beiträge
 
#3

Re: Javascript mit delphi möglich?

  Alt 14. Dez 2006, 15:35
Danke! und wie geht das mit den buttons? also der button greift nicht auf eine url zu sondern startet wie gesagt ein java script
mfg NightFox
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Javascript mit delphi möglich?

  Alt 14. Dez 2006, 16:42
Um einen Button zu drücken, musst du zuerst den Typ prüfen:if (itemtype='BUTTON') or (itemtype='SUBMIT') then und dann den Button "anklicken":element.Click;
Andreas
  Mit Zitat antworten Zitat
NightFox

Registriert seit: 22. Sep 2006
32 Beiträge
 
#5

Re: Javascript mit delphi möglich?

  Alt 14. Dez 2006, 20:03
Glaub es ist besser wenn ich mein ziel erkläre also ich will auf meinen router zugreifen dort auf eine bestimme seite gehn (die im downloadanhang) un dort den 'reset adsl line' button anklicken.
momentan hab ich es folgendermassen gemacht:
ich logge mich per webbrowser komponente im router ein, dann kommt die gewünschte seite. nun will ich aber die webbrowser komponente vermeiden ,da dies nicht schön aussieht, und will dass das script was beim ankicken des 'reset adsl line' buttons ausgeführt wird ausgeführt wird wenn ich zB den button1 in meinem programm anklick.
@ shmia: was du mir da gespost hast geht in die richtige richtung (soweit ich das versteh) aber da muss man doch diese seite des routers irdengwie laden und wie ich das alles anstellen soll hab ich keinen plan.

Vielleicht ist ja jemand so nett und schreibt das script für mich denn für einen erfahrenen scripter ist das glaub ich kein problem wie gesagt die htm datei wo sich der button befindet ist im anhang

vielen dank! mfg NightFox
Angehängte Dateien
Dateityp: rar diagadsl_1__572.rar (1,0 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr.
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