ajenkins Posted February 9, 2014 Share Posted February 9, 2014 after i run a process by clicking a button on my gui, all buttons on my gui are disabled until the process is finished. how can I keep my gui active? Link to comment Share on other sites More sharing options...
somdcomputerguy Posted February 9, 2014 Share Posted February 9, 2014 Well, you could just not click any of those buttons, that would keep your GUI active. Or you could post your code and somebody would probably be able to help you. - 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...
Moderators Melba23 Posted February 9, 2014 Moderators Share Posted February 9, 2014 ajenkins,Please lose the attitude. How on earth do you expect anyone to give you a sensible reply without sight of the code you are using? i can think of a myriad of reasons as to why the problem occurs and how it might be solved, but unless I can see exectly what you are doing it is impossible to say which scenario/solution we need. So please just post the code you are using and we will see how we can help. M23P.S. And as you seem to be so keen on quoting the rules - have this one right back: "Do not flame or insult other members" 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
ajenkins Posted February 9, 2014 Author Share Posted February 9, 2014 you're right Melba23. I'll try to do better. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted February 9, 2014 Moderators Share Posted February 9, 2014 ajenkins,Good. So let us see the code and we can move on. M23 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
somdcomputerguy Posted February 9, 2014 Share Posted February 9, 2014 @ ajenkins - My post was a bit smartassed, but it was meant goodhearted. I should've made such a post in a different, more unmistakeable, manner. @ Melba23 - Apparently you deleted the reply to my post. I did see the original one, which wasn't bad, but I guess it was edited (which I didn't see) and got your attention. I should've just not made any reply at all, or at least not thrown in the 'then don't click' sentence.. Sorry I made it so you had to have your fireman's hat handy.. Keep on doing well the tough mod job that you do. - 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...
ajenkins Posted February 9, 2014 Author Share Posted February 9, 2014 Somdcomputerguy i deleted the post, no editing, just the original post. I see now that the problem, as m23 aptly pointed, was my attitude. I felt that a post that needed modrration is a post that this forum doesn't deserve. Thank you for taking the time to psot on my topic and for trying to help mw with my scripting. I know you could've just passed and not tries to help. I appollogise for my poor attitude earlier. I am at work now, and will try to put something together to post later. I am working on an ffmpeg frontend that is very large so ill mock up something smaller with the same code and moving parts. Thanks again Link to comment Share on other sites More sharing options...
somdcomputerguy Posted February 9, 2014 Share Posted February 9, 2014 (edited) Hey, no worries. About the original/edit thing, actually I had that confused with another thread. But again, no worries. Without seeing the code though, I will still take a shot in dark here. Maybe you are using the RunWait or ShellExecuteWait functions to execute these other processes. Either of those functions will 'pause' the script until the called program ends. If you are using either of those functions, use either the Run or ShellExecute functions instead. Edited February 10, 2014 by somdcomputerguy - 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...
ajenkins Posted February 10, 2014 Author Share Posted February 10, 2014 Here is what I'm trying to do. When you push button1 the gui calls ffmpeg and runs through selected folder. I wanted to make button2 send the "q" key to ffmpeg process. But realized I can't even exit while ffmpeg process is running. I figured I would need to solve that first. expandcollapse popup#include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <File.au3> #include <ProgressConstants.au3> #include <Constants.au3> #include <GuiEdit.au3> #include <Date.au3> #include <ButtonConstants.au3> gui1() Func gui1() #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 615, 478, 192, 124) Global $Edit1 = GUICtrlCreateEdit("", 8, 16, 601, 289) GUICtrlSetData(-1, "Edit1") Global $Progress1 = GUICtrlCreateProgress(8, 320, 593, 33) Global $Progress2 = GUICtrlCreateProgress(8, 368, 601, 33) $Button1 = GUICtrlCreateButton("Start", 24, 432, 89, 25) $Button2 = GUICtrlCreateButton("next", 128, 432, 89, 25) $Button3 = GUICtrlCreateButton("Exit", 232, 432, 89, 25) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE exitprog() Case $Button1 start() case $Button2 Case $Button3 exitprog() EndSwitch WEnd EndFunc Func start() $somefolder = FileSelectFolder("Select Encode Folder", "") $Afiles = _FileListToArray($somefolder) $sStdErr = "" $iTicksDuration = 0 $iTicksTime = 0 $ffmpeg = $somefolder&"\ffmpeg.exe" for $i = 1 to $Afiles[0] $file = $Afiles[$i] $hPid = Run($ffmpeg & ' -i "' & $file & '" "' & stringtrimright($file , 4) & '_output.mp4"', $somefolder, @SW_HIDE, 0x4) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE exitprog() EndSwitch Sleep(500) $sStdErr &= StderrRead($hPid) If @error Then ExitLoop GUICtrlSetData($Edit1,$sStdErr) If StringLen($sStdErr) > 0 Then If Not $iTicksDuration Then $iTicksDuration = _GetDuration($sStdErr) $iTicksTime = _GetTime($sStdErr) If Not @error Then $sStdErr = "" GUICtrlSetData($Progress1, $iTicksTime * 100 / $iTicksDuration) EndIf WEnd ProgressOff() GUICtrlSetData($Progress2, ($i/$Afiles[0]) * 100) Next EndFunc Func _GetDuration($sStdErr) If Not StringInStr($sStdErr, "Duration:") Then Return SetError(1, 0, 0) Local $aRegExp = StringRegExp($sStdErr, "(?i)Duration.+?([0-9:]+)", 3) If @error Or Not IsArray($aRegExp) Then Return SetError(1, 0, 0) Local $sTime = $aRegExp[UBound($aRegExp) - 1] Local $aTime = StringSplit($sTime, ":", 2) If @error Or Not IsArray($aTime) Then Return SetError(1, 0, 0) Return _TimeToTicks($aTime[0], $aTime[1], $aTime[2]) EndFunc ;==>_GetDuration Func _GetTime($sStdErr) If Not StringInStr($sStdErr, "time=") Then Return SetError(1, 0, 0) Local $aRegExp = StringRegExp($sStdErr, "(?i)time.+?([0-9:]+)", 3) If @error Or Not IsArray($aRegExp) Then Return SetError(1, 0, 0) Local $sTime = $aRegExp[UBound($aRegExp) - 1] Local $aTime = StringSplit($sTime, ":", 2) If @error Or Not IsArray($aTime) Then Return SetError(1, 0, 0) Return _TimeToTicks($aTime[0], $aTime[1], $aTime[2]) EndFunc ;==>_GetTime Func exitprog() if ProcessExists("ffmpeg.exe") Then ProcessClose("ffmpeg.exe") EndIf Exit EndFunc p.s. I know this should've been my first post... Link to comment Share on other sites More sharing options...
somdcomputerguy Posted February 10, 2014 Share Posted February 10, 2014 (edited) Hm, I should've known that I wouldn't have just been shooting in the dark, but shooting blanks in the dark.. I'm thinking now maybe this has something to do with MessageLoop mode vs. OnEvent mode. I'm really not all that good at troubleshooting others scripts, but I'm sure you will receive some more helpful replies for this. Good luck! Edited February 10, 2014 by somdcomputerguy - 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...
Moderators Melba23 Posted February 10, 2014 Moderators Share Posted February 10, 2014 ajenkins,This amended version works for me - but I only tested with Notepad. See if it works for you with your app: expandcollapse popup#include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <File.au3> #include <ProgressConstants.au3> #include <Constants.au3> #include <GuiEdit.au3> #include <Date.au3> #include <ButtonConstants.au3> Global $fInterrupt = 0, $Button2, $Button3 gui1() Func gui1() $Form1 = GUICreate("Form1", 615, 478, 192, 124) Global $Edit1 = GUICtrlCreateEdit("", 8, 16, 601, 289) GUICtrlSetData(-1, "Edit1") Global $Progress1 = GUICtrlCreateProgress(8, 320, 593, 33) Global $Progress2 = GUICtrlCreateProgress(8, 368, 601, 33) $Button1 = GUICtrlCreateButton("Start", 24, 432, 89, 25) $Button2 = GUICtrlCreateButton("next", 128, 432, 89, 25) $Button3 = GUICtrlCreateButton("Exit", 232, 432, 89, 25) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE, $Button3 exitprog() Case $Button1 start() EndSwitch WEnd EndFunc ;==>gui1 Func start() $somefolder = FileSelectFolder("Select Encode Folder", "") $Afiles = _FileListToArray($somefolder) $sStdErr = "" $iTicksDuration = 0 $iTicksTime = 0 $ffmpeg = $somefolder & "\ffmpeg.exe" For $i = 1 To $Afiles[0] $file = $Afiles[$i] $hPid = Run("Notepad.exe") ; $ffmpeg & ' -i "' & $file & '" "' & StringTrimRight($file, 4) & '_output.mp4"', $somefolder, @SW_HIDE, 0x4) ; Get handle of window $hWnd = WinWaitActive("Untitled - Notepad") ; Adjust title to match the ffmpeg GUI ; Get a timestamp $nBegin = TimerInit() While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE, $Button3 exitprog() Case $Button2 WinActivate($hWnd) WinWaitActive($hWnd) Send("q") EndSwitch ; Do this every 500 ms If TimerDiff($nBegin) > 500 Then $sStdErr &= StderrRead($hPid) ;If @error Then ExitLoop GUICtrlSetData($Edit1, $sStdErr) If StringLen($sStdErr) > 0 Then If Not $iTicksDuration Then $iTicksDuration = _GetDuration($sStdErr) $iTicksTime = _GetTime($sStdErr) If Not @error Then $sStdErr = "" GUICtrlSetData($Progress1, $iTicksTime * 100 / $iTicksDuration) EndIf ; Reset the timer $nBegin = TimerInit() EndIf WEnd ProgressOff() GUICtrlSetData($Progress2, ($i / $Afiles[0]) * 100) Next EndFunc ;==>start Func _GetDuration($sStdErr) If Not StringInStr($sStdErr, "Duration:") Then Return SetError(1, 0, 0) Local $aRegExp = StringRegExp($sStdErr, "(?i)Duration.+?([0-9:]+)", 3) If @error Or Not IsArray($aRegExp) Then Return SetError(1, 0, 0) Local $sTime = $aRegExp[UBound($aRegExp) - 1] Local $aTime = StringSplit($sTime, ":", 2) If @error Or Not IsArray($aTime) Then Return SetError(1, 0, 0) Return _TimeToTicks($aTime[0], $aTime[1], $aTime[2]) EndFunc ;==>_GetDuration Func _GetTime($sStdErr) If Not StringInStr($sStdErr, "time=") Then Return SetError(1, 0, 0) Local $aRegExp = StringRegExp($sStdErr, "(?i)time.+?([0-9:]+)", 3) If @error Or Not IsArray($aRegExp) Then Return SetError(1, 0, 0) Local $sTime = $aRegExp[UBound($aRegExp) - 1] Local $aTime = StringSplit($sTime, ":", 2) If @error Or Not IsArray($aTime) Then Return SetError(1, 0, 0) Return _TimeToTicks($aTime[0], $aTime[1], $aTime[2]) EndFunc ;==>_GetTime Func exitprog() ;If ProcessExists("ffmpeg.exe") Then ; ProcessClose("ffmpeg.exe") If ProcessExists("Notepad.exe") Then ProcessClose("Notepad.exe") EndIf Exit EndFunc ;==>exitprogAny luck? M23 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
ajenkins Posted February 12, 2014 Author Share Posted February 12, 2014 sorry, I didn't get much code time lately. Thanks for the help M23! I have been tweeking it, but still have some problems. the script works at first, but when I send "q" (thanks for that also) then the gui freezes and the script needs stopped. I am also encountering this along with sterrread problem if I hide the ffmpeg window. It is my fault for not mentioning that I intend to hide the window, but left it shown in the script because I knew the script I posted needed the process closed. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted February 12, 2014 Moderators Share Posted February 12, 2014 ajenkins,If you are hiding the GUI then you need to look at the Control* functions - use the Autoit Window Info tool to see if you can identify a control which you can action rather then sending the "q". M23 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
ajenkins Posted February 12, 2014 Author Share Posted February 12, 2014 not the gui, but run("", , @sw_hide). Is that what you meant? is Control still what I need? Link to comment Share on other sites More sharing options...
ajenkins Posted February 12, 2014 Author Share Posted February 12, 2014 is it helpful to say that the process being ran (ffmpeg) is a cli program that takes three commands while running (that I know of). "q" is cancel current job, {pause} is pause, and {enter} is resume. Thought this might help to identify the cercumstances without needing to know the program. Thanks again for the help ! Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted February 12, 2014 Moderators Share Posted February 12, 2014 ajenkins, is it helpful to say that the process being ran (ffmpeg) is a cli programYes, of course! We do not know every app that exists in detail. I take it that the app runs inside a DOS box? If so then do not hide the DOS box when you run the app and try this:ControlSend("DOS_Box_Title", "", "", "q")If that works then hide the DOS box and try again. M23 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
ajenkins Posted February 12, 2014 Author Share Posted February 12, 2014 sorry, I confused myself. As you see above I was already using Run(@SW_HIDE), here is the code I have, just as M23 instructed. expandcollapse popup#include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <File.au3> #include <ProgressConstants.au3> #include <Constants.au3> #include <GuiEdit.au3> #include <Date.au3> #include <ButtonConstants.au3> Global $fInterrupt = 0, $Button2, $Button3 gui1() Func gui1() $Form1 = GUICreate("Form1", 615, 478, 192, 124) Global $Edit1 = GUICtrlCreateEdit("", 8, 16, 601, 289) GUICtrlSetData(-1, "Edit1") Global $Progress1 = GUICtrlCreateProgress(8, 320, 593, 33) Global $Progress2 = GUICtrlCreateProgress(8, 368, 601, 33) $Button1 = GUICtrlCreateButton("Start", 24, 432, 89, 25) $Button2 = GUICtrlCreateButton("next", 128, 432, 89, 25) $Button3 = GUICtrlCreateButton("Exit", 232, 432, 89, 25) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE, $Button3 exitprog() Case $Button1 start() EndSwitch WEnd EndFunc ;==>gui1 Func start() $somefolder = FileSelectFolder("Select Encode Folder", "") $Afiles = _FileListToArray($somefolder) $sStdErr = "" $iTicksDuration = 0 $iTicksTime = 0 $ffmpeg = $somefolder & "\ffmpeg.exe" For $i = 1 To $Afiles[0] $file = $Afiles[$i] $hPid = Run($ffmpeg & ' -i "' & $file & '" "' & StringTrimRight($file, 4) & '_output.mp4"', $somefolder, @SW_HIDE, 0x4) ; Get handle of window $hWnd = WinWaitActive($ffmpeg) ; Adjust title to match the ffmpeg GUI ; Get a timestamp $nBegin = TimerInit() While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE, $Button3 exitprog() Case $Button2 WinActivate($hWnd) WinWaitActive($hWnd) Send("q") EndSwitch ; Do this every 500 ms If TimerDiff($nBegin) > 500 Then $sStdErr &= StderrRead($hPid) ;If @error Then ExitLoop GUICtrlSetData($Edit1, $sStdErr) If StringLen($sStdErr) > 0 Then If Not $iTicksDuration Then $iTicksDuration = _GetDuration($sStdErr) $iTicksTime = _GetTime($sStdErr) If Not @error Then $sStdErr = "" GUICtrlSetData($Progress1, $iTicksTime * 100 / $iTicksDuration) EndIf ; Reset the timer $nBegin = TimerInit() EndIf WEnd ProgressOff() GUICtrlSetData($Progress2, ($i / $Afiles[0]) * 100) Next EndFunc ;==>start Func _GetDuration($sStdErr) If Not StringInStr($sStdErr, "Duration:") Then Return SetError(1, 0, 0) Local $aRegExp = StringRegExp($sStdErr, "(?i)Duration.+?([0-9:]+)", 3) If @error Or Not IsArray($aRegExp) Then Return SetError(1, 0, 0) Local $sTime = $aRegExp[UBound($aRegExp) - 1] Local $aTime = StringSplit($sTime, ":", 2) If @error Or Not IsArray($aTime) Then Return SetError(1, 0, 0) Return _TimeToTicks($aTime[0], $aTime[1], $aTime[2]) EndFunc ;==>_GetDuration Func _GetTime($sStdErr) If Not StringInStr($sStdErr, "time=") Then Return SetError(1, 0, 0) Local $aRegExp = StringRegExp($sStdErr, "(?i)time.+?([0-9:]+)", 3) If @error Or Not IsArray($aRegExp) Then Return SetError(1, 0, 0) Local $sTime = $aRegExp[UBound($aRegExp) - 1] Local $aTime = StringSplit($sTime, ":", 2) If @error Or Not IsArray($aTime) Then Return SetError(1, 0, 0) Return _TimeToTicks($aTime[0], $aTime[1], $aTime[2]) EndFunc ;==>_GetTime Func exitprog() If ProcessExists("ffmpeg.exe") Then ProcessClose("ffmpeg.exe") EndIf Exit EndFunc ;==>exitprog The script works as described above between @SW_HIDE and @SW_SHOW. any reason why the changes you made would break the sterrRead M23? I double checked, and it worked prior to the changes hidden or shown. Link to comment Share on other sites More sharing options...
ajenkins Posted February 12, 2014 Author Share Posted February 12, 2014 sorry, you beat me. I'll try it and get back to you. Can I ask what time zone are you on? I don't usually get live contact on my time. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted February 12, 2014 Moderators Share Posted February 12, 2014 ajenkins,UK time - at present UTC (to be precise), or GMT (if you are old), or Z (if you are military). M23 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
ajenkins Posted February 12, 2014 Author Share Posted February 12, 2014 M23, not Z anymore, not old but most people I know in Japan say GMT+9. ajenkins 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