AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Delphi Button mehrmals klicken

Ein Thema von klaus9 · begonnen am 5. Jan 2012 · letzter Beitrag vom 7. Jan 2012
Antwort Antwort
klaus9

Registriert seit: 4. Dez 2011
123 Beiträge
 
#1

Delphi Button mehrmals klicken

  Alt 5. Jan 2012, 16:56
Hallo,

ich will gerne über einen Button eine Actionliste ansteuern, dies funktioniert über

Action1.execute auch sehr gut, nun möchte ich gerne über ein Edit.Text Feld in dem Zahlen Werte stehen, dem Button sagen,wenn ich auf den Button klicke soll er 1,2 oder was an Zahlen im Textfeld stehen, das Action1.execute hintereinander ausführen.

Wie funktioniert das ?

Code:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ActnList;

type
TForm1 = class(TForm)
Edit1: TEdit;
ActionList1: TActionList;
Action1: TAction;
Button1: TButton;
procedure Action1Execute(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Action1Execute(Sender: TObject);
begin
showmessage('test')
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Action1.execute
end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.533 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Delphi Button mehrmals klicken

  Alt 5. Jan 2012, 16:58
Stichwort Schleife.
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
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Delphi Button mehrmals klicken

  Alt 5. Jan 2012, 18:29
Stichwort Code-Tags
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.533 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Delphi Button mehrmals klicken

  Alt 5. Jan 2012, 18:36
Stichwort Delphi-Tags
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
Steku

Registriert seit: 12. Mai 2008
181 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: Delphi Button mehrmals klicken

  Alt 5. Jan 2012, 19:39
Immer wieder gut: http://www.delphibasics.co.uk/index.html

Stichwort Schleife.
In diesem Fall:

http://www.delphibasics.co.uk/RTL.asp?Name=For


Grüße, Steku
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.533 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Delphi Button mehrmals klicken

  Alt 5. Jan 2012, 19:41
Naja, while ginge auch. Mir ging es ja nur darum, dass man für sich wiederholende Blöcke Schleifen verwendet/verwenden sollte.
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
klaus9

Registriert seit: 4. Dez 2011
123 Beiträge
 
#7

AW: Delphi Button mehrmals klicken

  Alt 7. Jan 2012, 21:35
Hi vielen Dank für die Infos, hmm nur bekomme ich einige Dinge nicht hin.

habe versucht zwei Abläufe hintereinander durchlaufen zu lassen. Aber egal wie ich es auch probiere es klappt nicht.



procedure TForm1.Action43Execute(Sender: TObject);
var link,s:string;
I:integer;
mylinklevariant;
begin
s:='';
mylink:='';
for I := 0 to WebBrowser1.OleObject.Document.links.Length - 1 do begin
s:=WebBrowser1.OleObject.Document.links.Item(I).In nerText;
if s='in Bearbeitung' then mylink := WebBrowser1.OleObject.Document.links.Item(I);
end;
webbrowser1.Navigate(mylink);

repeat;
Application.ProcessMessages;
Sleep(1000);
until WebBrowser1.ReadyState = READYSTATE_COMPLETE;
Webbrowser1.Navigate(Edit23.Text); // Filter öffnen
WebBrowser1.OleObject.document.forms.item(0).eleme nts.item(12).click; //aktiv 1
WebBrowser1.OleObject.document.forms.item(0).eleme nts.item(16).click; //aktiv 2

end;


procedure TForm1.Action45Execute(Sender: TObject);
var ovElements: OleVariant; i: Integer;
begin

ovElements := WebBrowser1.OleObject.Document.forms.item(0).eleme nts;
for i := 0 to (ovElements.Length - 1) do
if (ovElements.item(i).tagName = 'INPUT') and
(ovElements.item(i).type = 'submit') and
(ovElements.item(i).Value = 'Filter setzen') then
ovElements.item(i).Click;
end;


Diese beiden muß ich hintereinander mit einer kleinen Pause durchlaufen lassen.
Aber irgendwie macht er nur die Action43.execute führt er aus, die andere muß ich immer noch von Hand anstupsen

habe mir auch mal nen Wait eingebaut als procedure aber klappt auch nicht, selbst mit dem Command Sleep z.B. in der Form

procedure Button1
begin
Action43.execute;
sleep(500)
Action45.execute;
end;

auch mittels folgender procedure versucht

procedure Wait(eWebBrowser: TWebBrowser);
begin
repeat
Sleep(50); // 50ms warten
Application.ProcessMessages; // Andere Events verarbeiten
until (eWebBrowser.ReadyState = READYSTATE_COMPLETE) or (Application.Terminated);
end;

procedure ladeSeite;
begin
while ((Form1.Webbrowser1.ReadyState <> ReadyState_complete) or
(Form1.Webbrowser1.Document = nil) or
((Form1.Webbrowser1.Document AS IHTMLDocument2).readyState <> 'complete')) do
begin
Application.ProcessMessages;
if Application.Terminated then halt;
sleep (400);
end;
end;

selbst wenn ich die Wait oder ladeseite mit hintersetze keine chance, was mache ich falsch ?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Delphi Button mehrmals klicken

  Alt 7. Jan 2012, 22:06
Also mittlerweile solltest du aber die Delphi Tags beim schreiben von Beiträgen kennen, deswegen benutze sie auch bitte.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Delphi Button mehrmals klicken

  Alt 7. Jan 2012, 22:11
Du hast natürlich F7 benutzt um die Codestelle zu finden, die nicht tut was sie soll.
Könntest Du uns da informieren?

soist Delpi-Code besser lesbar Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:26 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