delphi3
asked on
calling a series of clicks from inside the program
Hi All,
I have Delphi4 and win2K. I have an internet application that runs flawlessly when I click the buttons as I see the data come in. I apply the next click always when I see that it is has started downloading ready for the next click what ever that was.
When I automate it by calling out the next click from within the program from the previous click there is a message of ..... (named button clicked by a call inside the program)... Not ready.
I know all the Clicks I need/want to perform, in what sequence but I want to automate it.
TIA.
Delphi3
I have Delphi4 and win2K. I have an internet application that runs flawlessly when I click the buttons as I see the data come in. I apply the next click always when I see that it is has started downloading ready for the next click what ever that was.
When I automate it by calling out the next click from within the program from the previous click there is a message of ..... (named button clicked by a call inside the program)... Not ready.
I know all the Clicks I need/want to perform, in what sequence but I want to automate it.
TIA.
Delphi3
ASKER
raidos,
The program is a news reader that is a ICS program by Francois Piette.
Using the demo "NewsRdr.dpr" provided with ICS, enter the following infos:
Server: newsgroups.borland.com
Group: borland.public.delphi.grap hics
User: "Your Name" <your.name@yourcompany.dom ain>
Then click "Connect" and the "Group" and then "ArtcileByNum". All those
buttons correspond to NNTP component methods.
I call the various functions by this text form of the .dfm
object NNTPForm: TNNTPForm
Left = 564
Top = 82
Width = 741
Height = 547
Caption = 'NNTP - http://www.rtfm.be/fpiette'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -14
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = True
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 120
TextHeight = 16
object Panel1: TPanel
Left = 0
Top = 0
Width = 733
Height = 228
Align = alTop
TabOrder = 0
object Label1: TLabel
Left = 10
Top = 15
Width = 40
Height = 16
Caption = 'Server'
end
object Label2: TLabel
Left = 39
Top = 103
Width = 13
Height = 16
Caption = 'ID'
end
object Label3: TLabel
Left = 5
Top = 73
Width = 53
Height = 16
Caption = 'Art. Num.'
end
object Label4: TLabel
Left = 15
Top = 42
Width = 37
Height = 16
Caption = 'Group'
end
object Label5: TLabel
Left = 32
Top = 132
Width = 22
Height = 16
Caption = 'File'
end
object Label6: TLabel
Left = 25
Top = 160
Width = 29
Height = 16
Caption = 'User'
end
object Label7: TLabel
Left = 69
Top = 191
Width = 66
Height = 16
Caption = 'UserName'
end
object Label8: TLabel
Left = 246
Top = 191
Width = 64
Height = 16
Caption = 'PassWord'
end
object ServerEdit: TEdit
Left = 59
Top = 10
Width = 257
Height = 24
Hint = 'Enter the NNTP server host name'
ParentShowHint = False
ShowHint = True
TabOrder = 0
Text = 'newsgroups.borland.com'
end
object ConnectButton: TButton
Left = 325
Top = 10
Width = 92
Height = 26
Hint = 'Connect to the NNTP server'
Caption = '&Connect'
ParentShowHint = False
ShowHint = True
TabOrder = 5
OnClick = ConnectButtonClick
end
object AbortButton: TButton
Left = 423
Top = 39
Width = 93
Height = 26
Hint = 'Abort current job'
Caption = 'A&bort'
Enabled = False
ParentShowHint = False
ShowHint = True
TabOrder = 10
OnClick = AbortButtonClick
end
object GroupButton: TButton
Left = 325
Top = 39
Width = 92
Height = 26
Hint = 'Select the group'
Caption = '&Group'
ParentShowHint = False
ShowHint = True
TabOrder = 6
OnClick = GroupButtonClick
end
object GroupEdit: TEdit
Left = 59
Top = 39
Width = 257
Height = 24
Hint = 'Enter the newsgroup name such as borland.public.delphi.inte rnet'
ParentShowHint = False
ShowHint = True
TabOrder = 1
Text = 'borland.public.delphi.gra phics'
end
object ArticleNumEdit: TEdit
Left = 59
Top = 69
Width = 110
Height = 24
Hint = 'Enter the article number to retreive'
ParentShowHint = False
ShowHint = True
TabOrder = 2
Text = 'ArticleNumEdit'
end
object ArticleByNumberButton: TButton
Left = 522
Top = 10
Width = 92
Height = 26
Hint = 'Retreive an article (header and body) by article number'
Caption = '&ArticleByNum'
ParentShowHint = False
ShowHint = True
TabOrder = 15
OnClick = ArticleByNumberButtonClick
end
object ArticleByIDButton: TButton
Left = 620
Top = 10
Width = 93
Height = 26
Hint = 'Retreive an article (header and body) by article ID'
Caption = 'ArticleBy&ID'
ParentShowHint = False
ShowHint = True
TabOrder = 20
OnClick = ArticleByIDButtonClick
end
object NextButton: TButton
Left = 423
Top = 69
Width = 93
Height = 26
Hint = 'Get next article info'
Caption = '&Next'
ParentShowHint = False
ShowHint = True
TabOrder = 12
OnClick = NextButtonClick
end
object LastButton: TButton
Left = 423
Top = 98
Width = 93
Height = 26
Hint = 'Get previous article info'
Caption = '&Last'
ParentShowHint = False
ShowHint = True
TabOrder = 13
OnClick = LastButtonClick
end
object HeadByNumberButton: TButton
Left = 522
Top = 39
Width = 92
Height = 26
Hint = 'Request a header only, by article number'
Caption = 'HeadByNum'
ParentShowHint = False
ShowHint = True
TabOrder = 16
OnClick = HeadByNumberButtonClick
end
object HeadByIDButton: TButton
Left = 620
Top = 39
Width = 93
Height = 26
Hint = 'Retreive an article header, by article ID'
Caption = 'HeadByID'
ParentShowHint = False
ShowHint = True
TabOrder = 21
OnClick = HeadByIDButtonClick
end
object BodyByNumberButton: TButton
Left = 522
Top = 69
Width = 92
Height = 26
Hint = 'Request an article body, by article number'
Caption = 'BodyByNum'
ParentShowHint = False
ShowHint = True
TabOrder = 17
OnClick = BodyByNumberButtonClick
end
object BodyByIDButton: TButton
Left = 620
Top = 69
Width = 93
Height = 26
Hint = 'Retreive an article body, by article ID'
Caption = 'BodyByID'
ParentShowHint = False
ShowHint = True
TabOrder = 22
OnClick = BodyByIDButtonClick
end
object StatByNumberButton: TButton
Left = 522
Top = 98
Width = 92
Height = 26
Hint = 'Request stats about an article by number'
Caption = 'StatByNum'
ParentShowHint = False
ShowHint = True
TabOrder = 18
OnClick = StatByNumberButtonClick
end
object StatByIDButton: TButton
Left = 620
Top = 98
Width = 93
Height = 26
Hint = 'Request stats about an article by ID'
Caption = 'StatByID'
ParentShowHint = False
ShowHint = True
TabOrder = 23
OnClick = StatByIDButtonClick
end
object ListButton: TButton
Left = 522
Top = 128
Width = 92
Height = 26
Hint = 'List ALL newsgroups. Will take a VERY LONG time.'
Caption = 'List'
ParentShowHint = False
ShowHint = True
TabOrder = 19
OnClick = ListButtonClick
end
object ArticleIDEdit: TEdit
Left = 59
Top = 98
Width = 257
Height = 24
Hint = 'Enter the article ID to retreive'
ParentShowHint = False
ShowHint = True
TabOrder = 3
Text = 'ArticleIDEdit'
end
object PostButton: TButton
Left = 325
Top = 69
Width = 92
Height = 26
Hint = 'Post a hard coded article to the group'
Caption = '&Post'
ParentShowHint = False
ShowHint = True
TabOrder = 7
OnClick = PostButtonClick
end
object QuitButton: TButton
Left = 423
Top = 10
Width = 93
Height = 26
Hint = 'Quit the NNTP server'
Caption = '&Quit'
ParentShowHint = False
ShowHint = True
TabOrder = 11
OnClick = QuitButtonClick
end
object FileEdit: TEdit
Left = 59
Top = 128
Width = 257
Height = 24
Hint = 'Enter the file name and path for the destination file'
ParentShowHint = False
ShowHint = True
TabOrder = 4
Text = 'FileEdit'
end
object NewGroupsButton: TButton
Left = 325
Top = 128
Width = 92
Height = 26
Hint = 'Request the new groups (hardcoded for 10 days)'
Caption = 'NewGroups'
ParentShowHint = False
ShowHint = True
TabOrder = 9
OnClick = NewGroupsButtonClick
end
object NewNewsButton: TButton
Left = 423
Top = 128
Width = 93
Height = 26
Hint = 'Request the new news (hardcoded for 1 day)'
Caption = 'NewNews'
ParentShowHint = False
ShowHint = True
TabOrder = 14
OnClick = NewNewsButtonClick
end
object HelpButton: TButton
Left = 325
Top = 98
Width = 92
Height = 26
Hint = 'Request help from the NNTP server'
Caption = 'Help'
ParentShowHint = False
ShowHint = True
TabOrder = 8
OnClick = HelpButtonClick
end
object XOverButton: TButton
Left = 620
Top = 128
Width = 93
Height = 26
Hint =
'List articles overview. Art. Num. can be a single number, a numb' +
'er and a dash or two numbers separated by a dash.'
Caption = 'XOver'
ParentShowHint = False
ShowHint = True
TabOrder = 24
OnClick = XOverButtonClick
end
object OverViewFmtButton: TButton
Left = 325
Top = 158
Width = 92
Height = 25
Caption = 'OverViewFmt'
TabOrder = 25
OnClick = OverViewFmtButtonClick
end
object DateButton: TButton
Left = 423
Top = 158
Width = 93
Height = 25
Caption = 'Date'
TabOrder = 26
OnClick = DateButtonClick
end
object UserEdit: TEdit
Left = 59
Top = 158
Width = 257
Height = 24
Hint =
'Enter "your name" <your.name@yourcompany.dom ain> with the double' +
' quotes and angle backets.'
ParentShowHint = False
ShowHint = True
TabOrder = 27
Text = 'bherbst@ezo.net'
end
object UserNameEdit: TEdit
Left = 138
Top = 187
Width = 100
Height = 24
TabOrder = 28
Text = 'UserNameEdit'
end
object PasswordEdit: TEdit
Left = 325
Top = 187
Width = 90
Height = 24
TabOrder = 29
Text = 'PasswordEdit'
end
object AuthenticateButton: TButton
Left = 423
Top = 187
Width = 93
Height = 26
Caption = 'Authenticate'
TabOrder = 30
OnClick = AuthenticateButtonClick
end
object ModeReaderButton: TButton
Left = 522
Top = 158
Width = 92
Height = 25
Caption = 'Mode Reader'
TabOrder = 31
OnClick = ModeReaderButtonClick
end
object XHdrButton: TButton
Left = 620
Top = 158
Width = 93
Height = 25
Caption = 'XHdr'
TabOrder = 32
OnClick = XHdrButtonClick
end
object Button1: TButton
Left = 522
Top = 187
Width = 92
Height = 25
Caption = 'Close '
TabOrder = 33
OnClick = Button1Click
end
object Edit1: TEdit
Left = 184
Top = 69
Width = 121
Height = 24
TabOrder = 34
Text = 'UpperLimit'
end
end
object DisplayMemo: TMemo
Left = 0
Top = 228
Width = 733
Height = 291
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -15
Font.Name = 'Courier New'
Font.Style = []
Lines.Strings = (
'DisplayMemo')
ParentFont = False
ScrollBars = ssBoth
TabOrder = 1
end
object NntpCli1: TNntpCli
OnSessionConnected = NntpCli1SessionConnected
OnSessionClosed = NntpCli1SessionClosed
OnDataAvailable = NntpCli1DataAvailable
OnRequestDone = NntpCli1RequestDone
OnMessageBegin = NntpCli1MessageBegin
OnMessageEnd = NntpCli1MessageEnd
OnMessageLine = NntpCli1MessageLine
OnXHdrBegin = NntpCli1XHdrBegin
OnXHdrEnd = NntpCli1XHdrEnd
OnXHdrLine = NntpCli1XHdrLine
Left = 640
Top = 192
end
end
the .pas is very large and so are the other various components that go along with it. They are too large to place here.
Delphi3
The program is a news reader that is a ICS program by Francois Piette.
Using the demo "NewsRdr.dpr" provided with ICS, enter the following infos:
Server: newsgroups.borland.com
Group: borland.public.delphi.grap
User: "Your Name" <your.name@yourcompany.dom
Then click "Connect" and the "Group" and then "ArtcileByNum". All those
buttons correspond to NNTP component methods.
I call the various functions by this text form of the .dfm
object NNTPForm: TNNTPForm
Left = 564
Top = 82
Width = 741
Height = 547
Caption = 'NNTP - http://www.rtfm.be/fpiette'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -14
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = True
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 120
TextHeight = 16
object Panel1: TPanel
Left = 0
Top = 0
Width = 733
Height = 228
Align = alTop
TabOrder = 0
object Label1: TLabel
Left = 10
Top = 15
Width = 40
Height = 16
Caption = 'Server'
end
object Label2: TLabel
Left = 39
Top = 103
Width = 13
Height = 16
Caption = 'ID'
end
object Label3: TLabel
Left = 5
Top = 73
Width = 53
Height = 16
Caption = 'Art. Num.'
end
object Label4: TLabel
Left = 15
Top = 42
Width = 37
Height = 16
Caption = 'Group'
end
object Label5: TLabel
Left = 32
Top = 132
Width = 22
Height = 16
Caption = 'File'
end
object Label6: TLabel
Left = 25
Top = 160
Width = 29
Height = 16
Caption = 'User'
end
object Label7: TLabel
Left = 69
Top = 191
Width = 66
Height = 16
Caption = 'UserName'
end
object Label8: TLabel
Left = 246
Top = 191
Width = 64
Height = 16
Caption = 'PassWord'
end
object ServerEdit: TEdit
Left = 59
Top = 10
Width = 257
Height = 24
Hint = 'Enter the NNTP server host name'
ParentShowHint = False
ShowHint = True
TabOrder = 0
Text = 'newsgroups.borland.com'
end
object ConnectButton: TButton
Left = 325
Top = 10
Width = 92
Height = 26
Hint = 'Connect to the NNTP server'
Caption = '&Connect'
ParentShowHint = False
ShowHint = True
TabOrder = 5
OnClick = ConnectButtonClick
end
object AbortButton: TButton
Left = 423
Top = 39
Width = 93
Height = 26
Hint = 'Abort current job'
Caption = 'A&bort'
Enabled = False
ParentShowHint = False
ShowHint = True
TabOrder = 10
OnClick = AbortButtonClick
end
object GroupButton: TButton
Left = 325
Top = 39
Width = 92
Height = 26
Hint = 'Select the group'
Caption = '&Group'
ParentShowHint = False
ShowHint = True
TabOrder = 6
OnClick = GroupButtonClick
end
object GroupEdit: TEdit
Left = 59
Top = 39
Width = 257
Height = 24
Hint = 'Enter the newsgroup name such as borland.public.delphi.inte
ParentShowHint = False
ShowHint = True
TabOrder = 1
Text = 'borland.public.delphi.gra
end
object ArticleNumEdit: TEdit
Left = 59
Top = 69
Width = 110
Height = 24
Hint = 'Enter the article number to retreive'
ParentShowHint = False
ShowHint = True
TabOrder = 2
Text = 'ArticleNumEdit'
end
object ArticleByNumberButton: TButton
Left = 522
Top = 10
Width = 92
Height = 26
Hint = 'Retreive an article (header and body) by article number'
Caption = '&ArticleByNum'
ParentShowHint = False
ShowHint = True
TabOrder = 15
OnClick = ArticleByNumberButtonClick
end
object ArticleByIDButton: TButton
Left = 620
Top = 10
Width = 93
Height = 26
Hint = 'Retreive an article (header and body) by article ID'
Caption = 'ArticleBy&ID'
ParentShowHint = False
ShowHint = True
TabOrder = 20
OnClick = ArticleByIDButtonClick
end
object NextButton: TButton
Left = 423
Top = 69
Width = 93
Height = 26
Hint = 'Get next article info'
Caption = '&Next'
ParentShowHint = False
ShowHint = True
TabOrder = 12
OnClick = NextButtonClick
end
object LastButton: TButton
Left = 423
Top = 98
Width = 93
Height = 26
Hint = 'Get previous article info'
Caption = '&Last'
ParentShowHint = False
ShowHint = True
TabOrder = 13
OnClick = LastButtonClick
end
object HeadByNumberButton: TButton
Left = 522
Top = 39
Width = 92
Height = 26
Hint = 'Request a header only, by article number'
Caption = 'HeadByNum'
ParentShowHint = False
ShowHint = True
TabOrder = 16
OnClick = HeadByNumberButtonClick
end
object HeadByIDButton: TButton
Left = 620
Top = 39
Width = 93
Height = 26
Hint = 'Retreive an article header, by article ID'
Caption = 'HeadByID'
ParentShowHint = False
ShowHint = True
TabOrder = 21
OnClick = HeadByIDButtonClick
end
object BodyByNumberButton: TButton
Left = 522
Top = 69
Width = 92
Height = 26
Hint = 'Request an article body, by article number'
Caption = 'BodyByNum'
ParentShowHint = False
ShowHint = True
TabOrder = 17
OnClick = BodyByNumberButtonClick
end
object BodyByIDButton: TButton
Left = 620
Top = 69
Width = 93
Height = 26
Hint = 'Retreive an article body, by article ID'
Caption = 'BodyByID'
ParentShowHint = False
ShowHint = True
TabOrder = 22
OnClick = BodyByIDButtonClick
end
object StatByNumberButton: TButton
Left = 522
Top = 98
Width = 92
Height = 26
Hint = 'Request stats about an article by number'
Caption = 'StatByNum'
ParentShowHint = False
ShowHint = True
TabOrder = 18
OnClick = StatByNumberButtonClick
end
object StatByIDButton: TButton
Left = 620
Top = 98
Width = 93
Height = 26
Hint = 'Request stats about an article by ID'
Caption = 'StatByID'
ParentShowHint = False
ShowHint = True
TabOrder = 23
OnClick = StatByIDButtonClick
end
object ListButton: TButton
Left = 522
Top = 128
Width = 92
Height = 26
Hint = 'List ALL newsgroups. Will take a VERY LONG time.'
Caption = 'List'
ParentShowHint = False
ShowHint = True
TabOrder = 19
OnClick = ListButtonClick
end
object ArticleIDEdit: TEdit
Left = 59
Top = 98
Width = 257
Height = 24
Hint = 'Enter the article ID to retreive'
ParentShowHint = False
ShowHint = True
TabOrder = 3
Text = 'ArticleIDEdit'
end
object PostButton: TButton
Left = 325
Top = 69
Width = 92
Height = 26
Hint = 'Post a hard coded article to the group'
Caption = '&Post'
ParentShowHint = False
ShowHint = True
TabOrder = 7
OnClick = PostButtonClick
end
object QuitButton: TButton
Left = 423
Top = 10
Width = 93
Height = 26
Hint = 'Quit the NNTP server'
Caption = '&Quit'
ParentShowHint = False
ShowHint = True
TabOrder = 11
OnClick = QuitButtonClick
end
object FileEdit: TEdit
Left = 59
Top = 128
Width = 257
Height = 24
Hint = 'Enter the file name and path for the destination file'
ParentShowHint = False
ShowHint = True
TabOrder = 4
Text = 'FileEdit'
end
object NewGroupsButton: TButton
Left = 325
Top = 128
Width = 92
Height = 26
Hint = 'Request the new groups (hardcoded for 10 days)'
Caption = 'NewGroups'
ParentShowHint = False
ShowHint = True
TabOrder = 9
OnClick = NewGroupsButtonClick
end
object NewNewsButton: TButton
Left = 423
Top = 128
Width = 93
Height = 26
Hint = 'Request the new news (hardcoded for 1 day)'
Caption = 'NewNews'
ParentShowHint = False
ShowHint = True
TabOrder = 14
OnClick = NewNewsButtonClick
end
object HelpButton: TButton
Left = 325
Top = 98
Width = 92
Height = 26
Hint = 'Request help from the NNTP server'
Caption = 'Help'
ParentShowHint = False
ShowHint = True
TabOrder = 8
OnClick = HelpButtonClick
end
object XOverButton: TButton
Left = 620
Top = 128
Width = 93
Height = 26
Hint =
'List articles overview. Art. Num. can be a single number, a numb' +
'er and a dash or two numbers separated by a dash.'
Caption = 'XOver'
ParentShowHint = False
ShowHint = True
TabOrder = 24
OnClick = XOverButtonClick
end
object OverViewFmtButton: TButton
Left = 325
Top = 158
Width = 92
Height = 25
Caption = 'OverViewFmt'
TabOrder = 25
OnClick = OverViewFmtButtonClick
end
object DateButton: TButton
Left = 423
Top = 158
Width = 93
Height = 25
Caption = 'Date'
TabOrder = 26
OnClick = DateButtonClick
end
object UserEdit: TEdit
Left = 59
Top = 158
Width = 257
Height = 24
Hint =
'Enter "your name" <your.name@yourcompany.dom
' quotes and angle backets.'
ParentShowHint = False
ShowHint = True
TabOrder = 27
Text = 'bherbst@ezo.net'
end
object UserNameEdit: TEdit
Left = 138
Top = 187
Width = 100
Height = 24
TabOrder = 28
Text = 'UserNameEdit'
end
object PasswordEdit: TEdit
Left = 325
Top = 187
Width = 90
Height = 24
TabOrder = 29
Text = 'PasswordEdit'
end
object AuthenticateButton: TButton
Left = 423
Top = 187
Width = 93
Height = 26
Caption = 'Authenticate'
TabOrder = 30
OnClick = AuthenticateButtonClick
end
object ModeReaderButton: TButton
Left = 522
Top = 158
Width = 92
Height = 25
Caption = 'Mode Reader'
TabOrder = 31
OnClick = ModeReaderButtonClick
end
object XHdrButton: TButton
Left = 620
Top = 158
Width = 93
Height = 25
Caption = 'XHdr'
TabOrder = 32
OnClick = XHdrButtonClick
end
object Button1: TButton
Left = 522
Top = 187
Width = 92
Height = 25
Caption = 'Close '
TabOrder = 33
OnClick = Button1Click
end
object Edit1: TEdit
Left = 184
Top = 69
Width = 121
Height = 24
TabOrder = 34
Text = 'UpperLimit'
end
end
object DisplayMemo: TMemo
Left = 0
Top = 228
Width = 733
Height = 291
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -15
Font.Name = 'Courier New'
Font.Style = []
Lines.Strings = (
'DisplayMemo')
ParentFont = False
ScrollBars = ssBoth
TabOrder = 1
end
object NntpCli1: TNntpCli
OnSessionConnected = NntpCli1SessionConnected
OnSessionClosed = NntpCli1SessionClosed
OnDataAvailable = NntpCli1DataAvailable
OnRequestDone = NntpCli1RequestDone
OnMessageBegin = NntpCli1MessageBegin
OnMessageEnd = NntpCli1MessageEnd
OnMessageLine = NntpCli1MessageLine
OnXHdrBegin = NntpCli1XHdrBegin
OnXHdrEnd = NntpCli1XHdrEnd
OnXHdrLine = NntpCli1XHdrLine
Left = 640
Top = 192
end
end
the .pas is very large and so are the other various components that go along with it. They are too large to place here.
Delphi3
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Not Working....
Tried your suggestions.
Seems listing the click or the call to the does not work as it raises flags that it is not ready. Also it does not like the Obj: TButton
My D4 uses a statement procedure TNNTPForm.ArticleByNumberB uttonClick (Sender: TObject);
Procedure TNNTPForm.FakeClick(Obj: TButton);
Var
Done : Boolean;
Begin
If Not Assigned(Obj) then
Exit;
Done := FALSE;
Repeat
Try
ConnectButtonClick(Self);
Sleep(5);
GroupButtonClick(Self);
Sleep(5);
ArticleByIDButtonClick(Sel f);
Sleep(5);
NextButtonClick(Self);
.......
Application.ProcessMessage s
Neither does listing this arrangement work:
Procedure TNNTPForm.FakeClick(Obj: TButton);
Var
Done : Boolean;
Begin
If Not Assigned(Obj) then
Exit;
Done := FALSE;
Repeat
Try
NntpCli1.Connect; // listing what was inside ConnectButtonClick(Self);
Sleep(5);
NntpCli1.Group(GroupEdit.T ext); // listing what was inside GroupButtonClick(Self);
Sleep(5);
NntpCli1.ArticleByNumber(S trToInt(Ar ticleNumEd it.Text), GetStream); // listing what was // inside ArticleByIDButtonClick(Sel f);
Sleep(5);
NntpCli1.Next; // listing what was inside NextButtonClick(Self);
Sleep(5);
.......
Application.ProcessMessage s
I need some other suggestions.
Delphi3
Tried your suggestions.
Seems listing the click or the call to the does not work as it raises flags that it is not ready. Also it does not like the Obj: TButton
My D4 uses a statement procedure TNNTPForm.ArticleByNumberB
Procedure TNNTPForm.FakeClick(Obj: TButton);
Var
Done : Boolean;
Begin
If Not Assigned(Obj) then
Exit;
Done := FALSE;
Repeat
Try
ConnectButtonClick(Self);
Sleep(5);
GroupButtonClick(Self);
Sleep(5);
ArticleByIDButtonClick(Sel
Sleep(5);
NextButtonClick(Self);
.......
Application.ProcessMessage
Neither does listing this arrangement work:
Procedure TNNTPForm.FakeClick(Obj: TButton);
Var
Done : Boolean;
Begin
If Not Assigned(Obj) then
Exit;
Done := FALSE;
Repeat
Try
NntpCli1.Connect; // listing what was inside ConnectButtonClick(Self);
Sleep(5);
NntpCli1.Group(GroupEdit.T
Sleep(5);
NntpCli1.ArticleByNumber(S
Sleep(5);
NntpCli1.Next; // listing what was inside NextButtonClick(Self);
Sleep(5);
.......
Application.ProcessMessage
I need some other suggestions.
Delphi3
ASKER
I appreciate you stopping by. The solution to this type of problem, that I learned elsewhere is calling another internet address.
Here is the solution:
/Dummy Button AutoConnect_Group_ArticleB yNumber[5]
procedure TNNTPForm.Button1Click(Sen der: TObject);
var
I: Integer;
begin
DisplayMemo.Clear;
ConnectButton.Enabled := FALSE;
NntpCli1.Host := ServerEdit.Text;
NntpCli1.Connect;
// Connect CreateAnInternetWait
CreateAnInternetWait(Self) ;
NntpCli1.Group(GroupEdit.T ext);
// Connect CreateAnInternetWait
CreateAnInternetWait(Self) ;
ArticleNumEdit.Text := Edit1.Text; // This is an update to the present stored record
for I := 1 to 5 do // 5 ArticleByNumber files
begin
NntpCli1.ArticleByNumber(S trToInt(Ar ticleNumEd it.Text), GetStream);
//or NntpCli1.BodyByNumber(StrT oInt(Artic leNumEdit. Text), GetStream);
// Connect CreateAnInternetWait
CreateAnInternetWait(Self) ;
if not RenameFile('nntprdr.txt', 'Number ' + ArticleNumEdit.Text + '.txt') then
ShowMessage('Error renaming file!');
NntpCli1.Next;
// Connect CreateAnInternetWait
CreateAnInternetWait(Self) ;
end;
NntpCli1.Quit;
end;
procedure TNNTPForm.CreateAnInternet Wait(Sende r: TObject);
var
S: string;
begin
Memo1.Clear;
HttpCli1.URL := 'http://www.msn.com/';
HttpCli1.RcvdStream := TFileStream.Create('View1. html', fmCreate);
try
try
HttpCli1.Get;
except
on E: EHttpException do begin
Memo1.lines.add('Failed : ')
end
else
raise;
end;
finally
HttpCli1.RcvdStream.Seek(0 , soFromBeginning);
SetLength(S, HttpCli1.RcvdStream.Size);
HttpCli1.RcvdStream.Read(S [1], length(S));
Memo1.Text := S;
HttpCli1.RcvdStream.Destro y;
HttpCli1.RcvdStream := nil;
end;
end;
Here is the solution:
/Dummy Button AutoConnect_Group_ArticleB
procedure TNNTPForm.Button1Click(Sen
var
I: Integer;
begin
DisplayMemo.Clear;
ConnectButton.Enabled := FALSE;
NntpCli1.Host := ServerEdit.Text;
NntpCli1.Connect;
// Connect CreateAnInternetWait
CreateAnInternetWait(Self)
NntpCli1.Group(GroupEdit.T
// Connect CreateAnInternetWait
CreateAnInternetWait(Self)
ArticleNumEdit.Text := Edit1.Text; // This is an update to the present stored record
for I := 1 to 5 do // 5 ArticleByNumber files
begin
NntpCli1.ArticleByNumber(S
//or NntpCli1.BodyByNumber(StrT
// Connect CreateAnInternetWait
CreateAnInternetWait(Self)
if not RenameFile('nntprdr.txt', 'Number ' + ArticleNumEdit.Text + '.txt') then
ShowMessage('Error renaming file!');
NntpCli1.Next;
// Connect CreateAnInternetWait
CreateAnInternetWait(Self)
end;
NntpCli1.Quit;
end;
procedure TNNTPForm.CreateAnInternet
var
S: string;
begin
Memo1.Clear;
HttpCli1.URL := 'http://www.msn.com/';
HttpCli1.RcvdStream := TFileStream.Create('View1.
try
try
HttpCli1.Get;
except
on E: EHttpException do begin
Memo1.lines.add('Failed : ')
end
else
raise;
end;
finally
HttpCli1.RcvdStream.Seek(0
SetLength(S, HttpCli1.RcvdStream.Size);
HttpCli1.RcvdStream.Read(S
Memo1.Text := S;
HttpCli1.RcvdStream.Destro
HttpCli1.RcvdStream := nil;
end;
end;
ASKER
Thanks for stopping by.
Delphi3
Delphi3
How do you call the buttons clickfunctions ?
<Button>.Click;
<Button>OnClick(<Button>);
Regards
//raidos