AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi im Webbrowser Feld vom Typ File ausfüllen
Thema durchsuchen
Ansicht
Themen-Optionen

im Webbrowser Feld vom Typ File ausfüllen

Ein Thema von superD · begonnen am 10. Jan 2008 · letzter Beitrag vom 21. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
superD

Registriert seit: 8. Jan 2008
14 Beiträge
 
#1

im Webbrowser Feld vom Typ File ausfüllen

  Alt 10. Jan 2008, 20:07
Hallo alle zusammen!

Ich habe eine Frage, die ich trotz intensiver Suche noch nirgendwo komplett und für mich verständlich beantwortet gefunden habe.

Ich habe eine TWebBrowser-Komponente, mit der ich eine Webseite aufrufe.
Nun möchte ich gerne eine Feld mit einem Wert vorbelegen.
Dieses Feld ist laut dem PHP-Code vom Typ "file"

Code:
<input type="file" name="datei">
<input type="submit" value="hochladen">

Nun wollte ich gerne wissen, wie man diese Zuweisung realisieren kann.

Vielen Dank im Voraus.


Mit freundlichen Grüßen

D.
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: im Webbrowser Feld vom Typ File ausfüllen

  Alt 10. Jan 2008, 20:47
meinst du sowas hier in der art??

auf ebay einloggen

mfg
Martin
  Mit Zitat antworten Zitat
superD

Registriert seit: 8. Jan 2008
14 Beiträge
 
#3

Re: im Webbrowser Feld vom Typ File ausfüllen

  Alt 10. Jan 2008, 20:57
Da übergebe ich ja nichts in ein Feld vom Typ "file", sondern nur in reine Textfelder.
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#4

Re: im Webbrowser Feld vom Typ File ausfüllen

  Alt 11. Jan 2008, 05:14
Zitat von superD:
Da übergebe ich ja nichts in ein Feld vom Typ "file", sondern nur in reine Textfelder.
Direkt lässt sich einem File Feld nichts zuweisen.
Doch über ein wenig "unschöne" Umwege geht es trotzdem:

Delphi-Quellcode:
  Clipboard.SetTextBuf(PChar('c:\meinfile.txt'));
  Sleep(100);
  Webbrowser1.OleObject.Document.All.Item('FILEFELD').Focus;
  Sleep(100);
  Webbrowser1.ExecWB(OLECMDID_PASTE, 0);
oder

Delphi-Quellcode:
  
  Webbrowser1.OleObject.Document.All.Item('FILEFELD').Focus;
  Sleep(100);
  Sendkeys('c:\meinfile.txt')
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: im Webbrowser Feld vom Typ File ausfüllen

  Alt 11. Jan 2008, 09:15
Und warum kann man da nichts ganz normal was reinschreiben, wie in jedes normale Textfeld auch?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: im Webbrowser Feld vom Typ File ausfüllen

  Alt 11. Jan 2008, 13:09
Hallo Michael,

wenn das möglich wäre, dann könnte dir jeder Schlingel per JS beliebige Dateien von deiner Festplatte entführen.

Freundliche Grüße
  Mit Zitat antworten Zitat
superD

Registriert seit: 8. Jan 2008
14 Beiträge
 
#7

Re: im Webbrowser Feld vom Typ File ausfüllen

  Alt 12. Jan 2008, 19:24
Danke, das funktioniert prima!
  Mit Zitat antworten Zitat
horst

Registriert seit: 1. Jul 2003
347 Beiträge
 
Delphi 2007 Professional
 
#8

Re: im Webbrowser Feld vom Typ File ausfüllen

  Alt 20. Jan 2008, 02:22
oder so:

Delphi-Quellcode:
procedure TForm1.SetFilename(Value: WideString);
var
  Doc: IHTMLDocument2;
  Elements: IHTMLElementCollection;
  Element: IHTMLElement;
  InputElement: IHTMLInputElement;
  I, j: Integer;
  FormItem: Variant;
  pch: PChar;
  str1: string;
begin
  str1 := Value; //convert input value to string
  pch := PChar(str1); //type cast to pointer

  Doc := WebBrowser1.Document as IHTMLDocument2;
  Elements := Doc.all;
  for I := 0 to Elements.length - 1 do
  begin
    Element := Elements.item(I, EmptyParam) as IHtmlElement;
    if Element.tagName = 'INPUTthen
    begin
      InputElement := Element as IHTMLInputElement;
      if (SameText(InputElement.type_, 'file')) and
        (SameText(InputElement.Name, 'name')) then
      begin
        FormItem := InputElement;
        FormItem.Focus;
        SendKeys(PCh, False); // NOTE the false flag
      end;
    end;
  end;
end;
du brauchst auch dazu die SNDKEY32.PAS... ist auf der delphi cd in X:\INFO\EXTRAS\SENDKEYS
quelle:
http://groups.yahoo.com/group/delphi...r/message/6832

gruss horst
  Mit Zitat antworten Zitat
Mini-Programmierer
(Gast)

n/a Beiträge
 
#9

Re: im Webbrowser Feld vom Typ File ausfüllen

  Alt 21. Jun 2008, 13:02
Hallo

es wäre gut, wenn man drauf antwortet ob es geklappt oder nicht

allerdings möchte ich auch die Idee ausprobieren
der Code :
Delphi-Quellcode:
Clipboard.SetTextBuf(PChar('c:\meinfile.txt'));
  Sleep(100);
  Webbrowser1.OleObject.Document.All.Item('pfad').Focus;
  Sleep(100);
  Webbrowser1.ExecWB(OLECMDID_PASTE, 0);
funktioniert leider nicht oder ?
Debugger zeigt auf diese Zeile !
>> Webbrowser1.OleObject.Document.All.Item('pfad').Fo cus;

Sonst würde ich diese Unit SNDKEY32.PAS downloaden um die 2. variante zu testen :
http://www.programmersheaven.com/dow.../download.aspx

mfg
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#10

Re: im Webbrowser Feld vom Typ File ausfüllen

  Alt 21. Jun 2008, 13:04
Die sndkey32.pas musst Du nicht runterladen, die sollte sich auf der Delphi-CD finden lassen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:20 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