Sign in to follow this  
Followers 0
NiitriiX

Repeat Inputbox until "finish" is clicked

11 posts in this topic

Hello,

so im new to auto it and have been playing around a bit.

What i am looking to do is creat and input box, that keeps opening until finish is clicked. E.g i want to add 4 url's to a .txt file, if i click OK i get a new input box with a different veriable, and so on untill i click finish.

what i have so far works like a charm !! however i have to prespecifie how many links can be inputed...

; Links Input
   $var1 = InputBox("Your Link....", "1", "type the url here", "", 500, 100)
   $var2 = InputBox("Your Link....", "2", "type the url here", "", 500, 100)
   $var3 = InputBox("Your Link....", "3", "type the url here", "", 500, 100)
   $var4 = InputBox("Your Link....", "4", "type the url here", "", 500, 100)
   $var5 = InputBox("Your Link....", "5", "type the url here", "", 500, 100)
; Save to Text file
   FileWrite("url.txt", $var1 & @CRLF)
   FileWrite("url.txt", $var2 & @CRLF)
   FileWrite("url.txt", $var3 & @CRLF)
   FileWrite("url.txt", $var4 & @CRLF)
   FileWrite("url.txt", $var5 & @CRLF)

will i have to creat a GUI with 3 buttons and give them a value of say, click NEXT will repeat with +1 to the variable and click FINISH will end the script??

thanks in advance for any help !!

regards,

NiitriiX

Share this post


Link to post
Share on other sites



i was just thinking couold this be done with a loop??

so loop the input box with a +1 variable and if cancel is pressed the loop ends??

Share this post


Link to post
Share on other sites

Hi, NiitriiX, welcome to the forum. You could do something like this to loop through the Inputboxes. This would allow you to easily add more at some point if you would like.

Local $var[5]

For $element in $var
  $x = InputBox("Your Link....", "1", "type the url here", "", 500, 100)
  FileWrite("url.txt", $x & @CRLF)
Next

√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

Thanx for the reply JLogan3o13,

i just tried this and it works but it only allows for a max of 5 inputs, and even if cancel is clicked another input box opens until the 5 variables have been used.

ok so sometimes i will need to add maybe 20 links and sometimes only 2 or 3... is their a way of doing this?

Edited by NiitriiX

Share this post


Link to post
Share on other sites

To change the number, just change the first line. You can also catch the @error if you would like to stop when someone clicks Cancel.

Local $var[15]

For $element in $var
  $x = InputBox("Your Link....", "1", "type the url here", "", 500, 100)
  If @error Then ExitLoop
  FileWrite("url.txt", $x & @CRLF)
Next

√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

WOWOWOW,

perfect buddy thanx a lot !!

works like a charm !

Edited by NiitriiX

Share this post


Link to post
Share on other sites

Put the @error right where I have it in post #5 above. If someone clicks cancel, it will exit out of the For loop. If you have more code after the For loop, THAT will continue to process. If not, the script will end. Alternatively, if you do not know how many url's you will capture each time, do a While instead of a For loop:

While 1
 
$x = InputBox("Your Link....", "1", "type the url here", "", 500, 100)
  If @error Then ExitLoop
FileWrite("url.txt", $x & @CRLF)
 
WEnd

√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites

Here's another way of doing it. I don't get how FileWrite is working, it's not used correctly. Unless you have more code that has the FileOpen and FileClose commands.

$file = FileOpen("url.txt", 1)
While 1
    $var = InputBox("Your Link....", "Type the url here", "type the url here", "", 500, 150)
    Sleep(10)
    FileWrite($file, $var & @CRLF)
    Sleep(10)
    If MsgBox(36, "", "Do it again?") = 7 Then ExitLoop ; 36 adds yes and no buttons, the no button = 7
WEnd
FileClose($file)

- Bruce /*somdcomputerguy */  If you change the way you look at things, the things you look at change.

Share this post


Link to post
Share on other sites

Thinking about about it, the @error line after the InputBox is a good idea that JLogan3o13 had.


- Bruce /*somdcomputerguy */  If you change the way you look at things, the things you look at change.

Share this post


Link to post
Share on other sites

I don't get how FileWrite is working, it's not used correctly. Unless you have more code that has the FileOpen and FileClose commands.

From the help file for FileWrite

If a filename is given rather than a file handle, the file will be opened and closed during the function call. For parsing large text files this will be much slower than using filehandles. However, filename will be created if it does not already exist.

For small files like this, not using FileOpen/FileClose shouldn't affect the speed much.

BTW. With an InputBox, it's going to pause the script until it is processed or closed so there's no need to sleep the loop.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

Thanks for pointing that out. Time for me to read the Good Book again! I'm pretty lazy and like to Sleep() a lot, I guess that shows up in my code..


- Bruce /*somdcomputerguy */  If you change the way you look at things, the things you look at change.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0