NiitriiX Posted June 5, 2012 Share Posted June 5, 2012 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 Link to comment Share on other sites More sharing options...
NiitriiX Posted June 5, 2012 Author Share Posted June 5, 2012 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?? Link to comment Share on other sites More sharing options...
Moderators JLogan3o13 Posted June 5, 2012 Moderators Share Posted June 5, 2012 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 "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum! Link to comment Share on other sites More sharing options...
NiitriiX Posted June 5, 2012 Author Share Posted June 5, 2012 (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 June 5, 2012 by NiitriiX Link to comment Share on other sites More sharing options...
Moderators JLogan3o13 Posted June 5, 2012 Moderators Share Posted June 5, 2012 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 "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum! Link to comment Share on other sites More sharing options...
NiitriiX Posted June 5, 2012 Author Share Posted June 5, 2012 (edited) WOWOWOW, perfect buddy thanx a lot !! works like a charm ! Edited June 5, 2012 by NiitriiX Link to comment Share on other sites More sharing options...
Moderators JLogan3o13 Posted June 5, 2012 Moderators Share Posted June 5, 2012 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 "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum! Link to comment Share on other sites More sharing options...
somdcomputerguy Posted June 5, 2012 Share Posted June 5, 2012 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. Link to comment Share on other sites More sharing options...
somdcomputerguy Posted June 5, 2012 Share Posted June 5, 2012 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. Link to comment Share on other sites More sharing options...
BrewManNH Posted June 5, 2012 Share Posted June 5, 2012 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 FileWriteIf 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 GudeHow 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 Link to comment Share on other sites More sharing options...
somdcomputerguy Posted June 5, 2012 Share Posted June 5, 2012 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. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now