Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi eBay Tool mit webbrowser (kann den gebotsbetrag nicht einf.) (https://www.delphipraxis.net/37812-ebay-tool-mit-webbrowser-kann-den-gebotsbetrag-nicht-einf.html)

Hari 10. Jan 2005 23:34


eBay Tool mit webbrowser (kann den gebotsbetrag nicht einf.)
 
Liste der Anhänge anzeigen (Anzahl: 1)
hallo!

ich brauche dringend eure hilfe!
ich möchte gerne soetwas wie einen biet-o-matic für ebay machen, womit ich alles verwalten kann und einfach alles in einem programm habe.

mein problem liegt darin das dass mit dem einloggen schon alles funktioniert und auch das bieten selbst, nur schaffe ich es nicht
den gebotsbetrag ins eingabelfeld bei ebay zu schreiben.

ich habe es versucht mit der twebbrowser komponennte.

ich habe die hauptfunktionen exra nochmal in ein extra kleines programm
neu kompiliert damit nur das wichigste um was es geht drinn ist und nicht zuviel wird.

am besten ihr seht es euch mal selbst an.

ich es mit delphi 6 enterprise erzeugt.

zwei zip dateien, eine nur mit dem quelltext und die andere die ausführbare exe.

ich hoffe ihr könnt mir da weiter helfen (so das es auch ein anfänger versteht) bin echt schon am verzweifeln. :wall:

dann sag ich mal danke im vorraus!
hari :wall:

Hari 10. Jan 2005 23:42

Re: eBay Tool mit webbrowser (kann den gebotsbetrag nicht ei
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich hoffe das es nichts ausmacht das ich die datein poste und nicht den quelltext aber ich sitze schon seit 15:00 bis 00:40 also genau jetzt an dem programm und bin schon ziemlich müde und wollte es einfach so schnell wie möglich geschrieben haben.

emploi 11. Jan 2005 08:33

Re: eBay Tool mit webbrowser (kann den gebotsbetrag nicht ei
 
Hi ..

Ich hab mich damit schon oft auseinander gesetzt und die folgende prozedur war vorher eigentlich mehrere einzelne.
Diese jedoch sollte eigentlich für jede art verschachtelter frames funktionieren. Falls es doch probleme gibt
musste einfach mal schreiben, oder versuchen sie selber zu korrigieren. Prinzipiell ist es nicht sonderlich kompliziert!

Code:
// Option Value:
// 0 -> Link     --> Value = Aufschrift des Links (Name leer also '' lassen)
// 1 -> Button   --> Value = Aufschrift des Buttons (Name leer lassen)
// 2 -> Eingabefeld --> Name = Name des Eingabefeldes
//                      Value = Was reingeschrieben werden soll
// 3 -> OptionFeld --> Name = Name des Selectionfeldes
//                     Value = Welcher Eintrag ausgewählt werden soll
// 4 -> RadioBox --> Not Yet
PROCEDURE HttpOwner(WebBrowser1:TWebBrowser; Option:Byte; Name:String; Value:String);
VAR ovElements: OleVariant;

  PROCEDURE check(ovCheck: OleVariant);
  Var k,i,h,l: Integer;
  BEGIN
        IF Option = 0 THEN
        BEGIN
          FOR h := 0 TO (ovCheck.Document.Links.Length - 1) DO
            IF ovCheck.Document.Links.Item(h).InnerText = Value THEN
                ovCheck.Document.Links.Item(h).Click;
        END
        ELSE
          FOR k := 0 TO (ovCheck.Document.Forms.Length - 1) DO
          BEGIN
            ovElements := ovCheck.Document.Forms.Item(k).elements;
            FOR i := 0 TO (ovElements.Length - 1) DO
              CASE Option OF
                1 : IF ((ovElements.Item(i).tagName = 'INPUT')
                    AND (ovElements.Item(i).type = 'submit')
                    AND (ovElements.Item(i).Value = Value)) THEN
                        ovElements.Item(i).Click;
                2 : IF ((ovElements.Item(i).tagName = 'INPUT')
                    AND (ovElements.Item(i).name = Name)) THEN
                        ovElements.Item(i).value := Value;
                3 : IF ((ovElements.Item(i).tagName = 'SELECT')
                    AND (ovElements.Item(i).name = Name)) THEN
                        FOR l := 0 TO ovElements.Item(i).length - 1 DO
                          IF ovElements.Item(i).options.item(l).Text = Value THEN
                              ovElements.Item(i).options.item(l).selected := True;
                4 : ;
              END;
         END;
  END;

  PROCEDURE rec(ovFrames: OleVariant);
  VAR j: Integer;
  BEGIN
      FOR j:=0 TO ovFrames.Length - 1 DO
      IF ovFrames.Item(j).Document.Frames.Length > 1 THEN
        rec(ovFrames.Item(j).Document.Frames)
      ELSE
        Check(ovFrames.Item(j));
  END;

BEGIN
   IF Webbrowser1.OleObject.Document.Frames.Length > 1 THEN
      rec(Webbrowser1.OleObject.Document.Frames)
   ELSE
      check(Webbrowser1.OleObject);
END;


Musst dir dann halt nur den Namen des Input Feldes ausm quelltext suchen,
dann sollte es gehen.
Prinzipiell sollte es bei Ebay aber auch gehen, dass du direkt über die url bietest,
oder?

MFG emploi

Hari 11. Jan 2005 17:30

Re: eBay Tool mit webbrowser (kann den gebotsbetrag nicht ei
 
Vielen Dank!

werde es dann später versuchen und das ergebnis hier posten.
über die url bieten? an das hab ich noch garnicht gedacht.


gruss
hari

*nachtrag*

wollte gerade versuchen mein problem über die url zu lösen
aber delphi meldet mir den fehler das die zeichenkette nicht länger
als 255 zeichen sein darf und die, die ich brauchen würde um bei ebay
über die url zu bieten, hat viel mehr als 255 zeichen.


und mit deinem quelltext kenne ich mich leider nicht aus da ich nicht weis wie ich die prozedur aufrufen soll.

vieleicht habe ich es auch falsch verstanden?


bei google ist es kein problem etwas in das editfeld von google zu schreiben warum geht das nicht bei ebay?

ich meine die bieten taste kann ich ja auch in meinem programm ansteuern, und das einloggen ist ja auch kein problem, deshalb verstehe ich nicht warum das editfeld von ebay nicht mit meinem programm funktionieren will.

es kommt immer die fehlermeldung "mitglied nicht gefunden" aber eingeloggt bin ich schon ?!? seltsam das ganze.

please help!!! :gruebel:

Hari 11. Jan 2005 18:34

Re: eBay Tool mit webbrowser (kann den gebotsbetrag nicht ei
 
hat sich erledigt ich habe es geschaff!!!! :dancer: :firejump: :bounce1: :bouncing4: :mrgreen: :hi: :spin: :dancer2: :cheers: :dp: :thumb: :idea:

ich habe einfach den selben quelltext den ich für das einloggen verwendet habe auch für das bieten verwenden und einfach nur das userid gegen maxbid ausgetauscht und schon hats geklappt!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 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