[Code] [Delphi] Link öffnen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Prrovoss, 9. Januar 2010 .

  1. 9. Januar 2010
    [Delphi] Link öffnen

    hi,
    ich wollte einen button so programmieren dass wenn man ihn anklickt auf dieser seite eine anfrage mit einem passwort gestartet wird. dieses passwort gibt der nutzer zb in ein editfeld ein.

    ist sowas irgendwie möglich?
    bis jetzt habe ich es hingekriegt, dass die seite geöffnet wird.

    Code:
    procedure TForm1.Button6Click(Sender: TObject);
    var
    URL: string;
    begin
    
     url := ('https://passwortcheck.datenschutz.ch/check.php');
     begin
     ShellExecute(Handle,
     'open',
     PAnsiChar(url),
     nil,
     nil,
     SW_SHOW);
     end;
     end;
     
  2. 9. Januar 2010
    AW: [Delphi] Link öffnen

    Was möchtest du den genau machen, welches Ziel hast du???
    Und wo wird die Seite geöffnet, in Internet explorer oder hast in Delphi was realisiert???
     
  3. 9. Januar 2010
    AW: [Delphi] Link öffnen

    wenn du auf der seite ein passwort in das formular eingibst dann wird es ausgewertet.
    ich möchte das bei dem buttonclick die seite im internetexplorer geöffnet wird und das passwort ausgewertet wird.
    wie gesagt, das öffnen klappt schon nur weiss ich nich wie ich es realisieren kann dass delphi dem php skript quasi "sagt" welches passwort ausgewertet werden soll.
     
  4. 9. Januar 2010
    AW: [Delphi] Link öffnen

    Dein Vorhaben, also nen externen WebBrowser zu öffnen und in diesen dann Felder einzutragen und wahrscheinlich auch abzuschicken um das Resultat zu ermitteln, wird sich eher als schwer oder gar unmöglich herausstellen.

    Muss den ein externer Browser unbedingt geöffnet werden?
    Wenn nicht gibts in Delhi viele möglichkeiten POST Anfragen an Webseiten zustellen und auszuwerten ohne einen Browser zu öffnen.
    Such im letzteren Fall mal in Google nach delphi http post request .

    Mfg Rushh0ur
     
  5. 9. Januar 2010
    AW: [Delphi] Link öffnen

    Also,
    eine Möglichkeit gibt es schon, aber ist etwas schwachsinig.
    Ich habe mal gesehen das man mit ein Programm die Mouse an bestimmten Punkten im Fenster verschieben könnte.

    Das wurde heissen, das dein Programm muss die Mouse muss im Internet Explorer zu Eingabemaske verschoben werden, dann Text im Feld einfügen und dann soll die Mouse auf den Button klicken.

    So etwas hatten wir in meinen Alten Firma.
    Ob sich das lohnt ?????
    Was spricht dagegen, wenn du die auswertung selber Programmierst.



    Kannst doch Selber Programmieren, sehe das die ein Bild von Programm ablauf haben:
    https://passwortcheck.datenschutz.ch/images/process.gif
    und im im Systembeschreibung wird alles erklärt wie die Überprüfung zu stande kommt:
    https://passwortcheck.datenschutz.ch/doc/index.de.php

    Was Rushh0ur gesagt hat stimmt "...eher als schwer oder gar unmöglich herausstellen."
     
  6. 10. Januar 2010
    AW: [Delphi] Link öffnen

    danke an euch, habs jetzt hingekriegt, mit dem google-tipp

    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var
     strData: string;
     PostData: OleVariant;
     Headers: OleVariant;
     i: Integer;
    begin
    
     strData := 'password=' + edit1.text;
    
     PostData := VarArrayCreate([0, Length(strData) - 1], varByte);
    
     for i := 1 to Length(strData) do
     PostData[i-1] := Ord(strData[i]);
    
     Headers := 'Content-Type: application/x-www-form-urlencoded' + #10#13;
    
     WebBrowser1.Navigate('https://passwortcheck.datenschutz.ch/check.php', EmptyParam, EmptyParam, PostData, Headers);
    end;
    
    
    so siehts aus und so funktionierts



    ich hätte jetzt allerdings nochmal eine frage:
    wie kann ich es anstellen dass in dem webbrowser nur diese eine seite angezeigt werden kann?
    also wenn ein user sein pw checkt soll er nicht über den browser surfen können oder dort auf iwelche links klicken können.
     
  7. 11. Januar 2010
    AW: [Delphi] Link öffnen

    Entweder du machst das Steuerelement unischtbar oder du benutzt das OnBeforeNavigate2 -Ereigniss in dem du das Navigieren nur zu einer bestimmte URL zulässt und alle anderen mit Cancel abbrichst.

    Mfg Rushh0ur
     
  8. 11. Januar 2010
    AW: [Delphi] Link öffnen

    ok das mit dem event werde ich ausprobieren. mit was für einem befehl breche ich denn die navigation zu jeder anderen seite ab?
    und welches steuerelement meinst du?
     
  9. 11. Januar 2010
    AW: [Delphi] Link öffnen

    Das TWebBrowser Steuerelement (welches ich auch meine) hat ein OnBeforeNavigate2-Event welches wie folgt defniert ist:

    type TWebBrowserBeforeNavigate2 = procedure(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant; var Cancel: WordBool) of object;

    Beim Aufruf wird an dem Eregniss die Variable URL und die Variable Cancel übergeben, die URL kannst du prüfen und die weiterleitung auf Wunsch mit Cancel:=True; abbrechen.

    Mfg Rushh0ur
     
  10. 11. Januar 2010
    AW: [Delphi] Link öffnen

    ok also ich habs jetzt so versucht:

    Code:
    procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
     const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
     Headers: OleVariant; var Cancel: WordBool);
    begin
     if not (url = 'https://passwortcheck.datenschutz.ch/check.php') then
     cancel := true;
    end;
    weiss nich ob das unbedingt in die richtige richtung geht^^

    ich hab aber auch in nem forum gelesen dass man die mausklicks im webbrowser unterbinden kann, leider hat er nicht erwähnt wie. -> hat da jemand ne idee?^^
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.