Jump to content

Help with this script [Resolved]


Recommended Posts

#cs ----------------------------------------------------------------------------
    
    AutoIt Version: 3.3.6.1
    Author:         myName
    
    Script Function:
    Template AutoIt script.
    
#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$AutoTalk = GUICreate("Auto Talk", 375, 145, 309, 354)
$Label = GUICtrlCreateLabel("Key", 16, 18, 22, 17)
$Label2 = GUICtrlCreateLabel("Time", 16, 51, 27, 17)
$Input = GUICtrlCreateInput("", 56, 16, 289, 21)
$Input2 = GUICtrlCreateInput("", 56, 48, 289, 21)
GUICtrlSetTip(-1, "what time to wait until write again")
$Button = GUICtrlCreateButton("Start", 80, 96, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Exit", 248, 96, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)


While 1
    $nMsg = GUIGetMsg()
    Select

        Case $nMsg = $GUI_EVENT_CLOSE Or $nMsg = $Button2
            Exit

        Case $nMsg = $Button1
            GUICtrlSetData($Button, "Stop")

            $Send = GUICtrlRead($Input)
            $Time = GUICtrlRead($Input2 & "000") ; here i want to put auto three zero cuz if i tybed "3" switch it to "3000" 

            While 1
                Send($Send)
                Sleep($Time)
            WEnd
        Case $nMsg = $Button ; To stop the auto talk
            While
            WEnd


    EndSelect
WEnd

i failed there and i dont have any idea to make the number put 000 and to stop the program ! any ideas pls ?

thanks.

=========================================================================

hey guys time problem resolved:

Sleep($Time & "000")

but i still dont know how to make Stop button.

=========================================================================

Stop button resolvedd:

GUICtrlCreateButton("START", 80, 96, 75, 25)
GUICtrlSetOnEvent(-1, "_StartStop") ;;; HERE TO STOP AND CONTINUE FUNC ;;;
GUICtrlCreateButton("Exit", 248, 96, 75, 25)
GUICtrlSetOnEvent(-1, "_Quit") ;;; HERE TO QUIT FUNC ;;;

Func _StartStop()
    $f_Run = Not $f_Run
    If $f_Run Then
        GUICtrlSetData(@GUI_CtrlId, "STOP")
    Else
        GUICtrlSetData(@GUI_CtrlId, "START")
    EndIf
EndFunc   ;==>_StartStop
Edited by TheMaster
Link to comment
Share on other sites

not sure what your trying to do but you dont have $button1 declared and also

Case $nMsg = $Button1 ; To stop the auto talk 
 While 
 WEnd

will fail.

if you just want to add 3 zeroes try something like

$Send = GUICtrlRead($Input)
 $Time = GUICtrlRead($Send & "000")
Link to comment
Share on other sites

not sure what your trying to do but you dont have $button1 declared and also

Case $nMsg = $Button1 ; To stop the auto talk 
 While 
 WEnd

will fail.

if you just want to add 3 zeroes try something like

$Send = GUICtrlRead($Input)
 $Time = GUICtrlRead($Send & "000")

i want make if i pressed start button it's switch into stop button, so if i pressed stop it stop the auto talk

and this failed

$Time = GUICtrlRead($Send & "000")

==============================================================

Maybe this?

$Time = GUICtrlRead($Input2) * 1000

failed too :S
Link to comment
Share on other sites

Try this:

#include <GUIConstantsEx.au3>

Global $idInput1, $idInput2, $f_Run = False, $sSend, $sTime

Opt("GuiOnEventMode", 1)

GUICreate("Auto Talk", 375, 145, 309, 354)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Quit")
GUICtrlCreateLabel("Key", 16, 18, 22, 17)
GUICtrlCreateLabel("Time", 16, 51, 27, 17)
$idInput1 = GUICtrlCreateInput("", 56, 16, 289, 21)
$idInput2 = GUICtrlCreateInput("", 56, 48, 289, 21)
GUICtrlSetTip(-1, "what time to wait until write again")
GUICtrlCreateButton("START", 80, 96, 75, 25)
GUICtrlSetOnEvent(-1, "_StartStop")
GUICtrlCreateButton("Exit", 248, 96, 75, 25)
GUICtrlSetOnEvent(-1, "_Quit")
GUISetState(@SW_SHOW)

While 1
    If $f_Run Then
        $sSend = GUICtrlRead($idInput1)
        $sTime = GUICtrlRead($idInput2)

        ConsoleWrite($sSend & @LF)
        Sleep(Number($sTime) * 1000)
    EndIf
    Sleep(10)
WEnd

Func _StartStop()
    $f_Run = Not $f_Run
    If $f_Run Then
        GUICtrlSetData(@GUI_CtrlId, "STOP")
    Else
        GUICtrlSetData(@GUI_CtrlId, "START")
    EndIf
EndFunc   ;==>_StartStop

Func _Quit()
    Exit
EndFunc   ;==>_Quit

:huh2:

Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
Link to comment
Share on other sites

Not true.

It's possible it doesn't do exactly what you want (if so, explain), but it runs fine on both 3.3.6.1 Prod and 3.3.7.10 Beta.

:huh2:

Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
Link to comment
Share on other sites

Stop bumping your post, you shouldn't be bumping it for at LEAST 24 hours. You've bumped it 4 times in an hour.

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

Link to comment
Share on other sites

1- it's change data of the button to " Stop "

Of course it does, that's how you stop it after it gets started, which is what you wanted.

2- when i press start it doesn't start the auto talk

I don't know the definition of "auto talk". All you had was a Send(). I replaced that with ConsoleWrite() just for testing because Send() is annoying if I don't carefully arrange for an active window to receive the input. Change the ConsoleWrite() back to Send().

3- im using 3.3.6.1

Run my demo in SciTE and you'll see the "auto talk" output in the console pane.

:huh2:

Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
Link to comment
Share on other sites

PsaltyDS' Version works as intended and this is how I would have interpreted (no pun intended) the original post.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Of course it does, that's how you stop it after it gets started, which is what you wanted.

I don't know the definition of "auto talk". All you had was a Send(). I replaced that with ConsoleWrite() just for testing because Send() is annoying if I don't carefully arrange for an active window to receive the input. Change the ConsoleWrite() back to Send().

Run my demo in SciTE and you'll see the "auto talk" output in the console pane.

:huh2:

thanks i replaced ConsoleWrite with Send(), but it send number 5 whatever i write in "input1"

While 1
    If $f_Run Then
        $sSend = GUICtrlRead($idInput1)
        $sTime = GUICtrlRead($idInput2)

        Send($idInput1 & "{ENTER}")
        Sleep($sTime & "000")
    EndIf
    Sleep(10)
WEnd
Link to comment
Share on other sites

  • Moderators

TheMaster,

That is because you are Sending the ControlID and not the content. :huh2:

Try this:

Send($sSend & "{ENTER}")

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

What is this script for?

[font="helvetica, arial, sans-serif"]Hobby graphics artist, using gimp.Automating pc stuff, using AutoIt.Listening to music, using Grooveshark.[/font]Scripts:[spoiler]Simple ScreenshotSaves you alot of trouble when taking a screenshot!Don't remember what happened with this, but aperantly the exe is all i got.If you don't want to run it, simply don't._IsRun UDFIt figures out if the script has ben ran before based on the info in a ini file.If you don't want to use exactly what i wrote, you can use it as inspiration.[/spoiler]

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...