Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/29/2015 in all areas

  1. You can now manually initiate the update by going here: https://www.microsoft.com/en-us/software-download/windows10
    5 points
  2. Features: Create modern looking borderless and resizable GUIs with control buttons (Close,Maximize/Restore,Minimize, Fullscreen, Menu) True borderless, resizeable GUI with full support for aerosnap etc. Many color schemes/themes included. See MetroThemes.au3 for more details. 3 type of Windows 8/10 style buttons. Modern checkboxes, radios, toggles and progressbar. All buttons, checkboxes etc. have hover effects! Windows 10 style modern MsgBox. Windows 10/Android style menu that slides in from left. Windows 10 style right click menu Credits: @UEZ, for the function to create buttons with text using GDIPlus. @binhnx for his SSCtrlHover UDF Changelog: Download UDF with example:
    1 point
  3. Yashied

    SciTE 3.5.5.101 for AutoIt

    This is my modification of the editor based on SciTE 3.2.5.99. Too many changes are made. Added new plugins (.lua) and rewrited existing, added Toolbar and Sidebar, expanded main and context menu, and more... I will not list all the changes, just download and try it. I also want to say a big thank the staff of Ru-Board for the excellent work on the modification of the editor and writing great plugins (.lua). Compiler Wrapper (CW) - a new tool that is part of SciTE 3.2.5.99 and designed to replace the AutoItWrapper. CW only works with "pragma" directives and does not use "AutoIt3Wrapper" directives. CW differs from AutoItWrapper both externally and internally but has a similar logic. Here are some possibilities utility - more friendly GUI, all options of "pragma" directives are located in one window, the ability to add digital signature, and a simple way to add resources (.rcs and .res files). The current version of CW is compatible with AutoIt 3.3.10.x, 3.3.12.x, and 3.3.14.x. How to install? Unpack CW to Compiler Wrapper folder and copy it to your SciTE or SciTE\Tools directory. Note that if you download SciTE 3.2.5.99 then you need not do anything because CW is already installed in the package. Command lines for SciTE: #Command line for compilation command.compile.au3="$(SciteDefaultHome)\Compiler Wrapper\CW.exe" "$(FilePath)" /m:1 /c:0 command.compile.subsystem.au3=1 #Command line for building (without GUI) command.build.au3="$(SciteDefaultHome)\Compiler Wrapper\CW.exe" "$(FilePath)" /m:1 /c:0 /s:1 command.build.subsystem.$(au3)=1 #Command line for changing "pragma" options only command.90.au3="$(SciteDefaultHome)\Compiler Wrapper\CW.exe" "$(FilePath)" /m:2 command.name.90.au3=Compiler Options... command.shortcut.90.au3=Shift+F7 command.subsystem.90.au3=1 command.save.before.90.au3=1 Command lines for Windows Explorer context menu: ;Command line for compilation "C:\Program Files (x86)\SciTE\Tools\Compiler Wrapper\CW.exe" "%1" /m:0 /c:0 ;Command line for building (without GUI) "C:\Program Files (x86)\SciTE\Tools\Compiler Wrapper\CW.exe" "%1" /m:0 /c:0 /s:1 Screenshots Files to download You can download latest SciTE build on this page (bottom of the post) or by using the SciTE Updater.
    1 point
  4. Danyfirex

    Get Portable Devices

    Well an Implementation of IPortableDeviceManager Interface to get all Portable Device conected to our pc. #include <Array.au3> #include <WinAPICom.au3> Opt("MustDeclareVars", 1) Global Const $sCLSID_PortableDeviceManager = "{0af10cec-2ecd-4b92-9581-34f6ae0637f3}" Global Const $sIID_IPortableDeviceManager = "{a1567595-4c2f-4574-a6fa-ecef917b9a40}" Global Const $sTagIPortableDeviceManager = "GetDevices hresult(ptr;dword*); RefreshDeviceList hresult(); " & _ "GetDeviceFriendlyName hresult(wstr;wstr;dword*); GetDeviceDescription hresult(wstr;wstr;dword*); " & _ "GetDeviceManufacturer hresult(wstr;wstr;dword*); GetDeviceManufacturer hresult(wstr;wstr;ptr;dword*dword*); " & _ "GetPrivateDevices hresult(ptr;dword*)" Global Enum $eDevID, $eDevName, $eDevManufacturer, $eDevDescription Local $aPnPDevices = GetPortableDevices() If IsArray($aPnPDevices) Then _ArrayDisplay($aPnPDevices) ;~ Success: Return 0 ;~ Failure: Return 2DArray [n][4] |;[n][0]$eDevID, [n][1]$eDevName, [n][2]$eDevManufacturer,[n][3] $eDevDescription Func GetPortableDevices() Local $aDevicesInfo[0][0] ;[n][0]$eDevID, [n][1]$eDevName, [n][2]$eDevManufacturer,[n][3] $eDevDescription Local $oPortableDeviceManager = 0 Local $SizeofArray = 0 Local $hr = 0x80004005 ;E_Fail Just to Initialized <0 Local $taPnPDeviceIDs = 0 Local $tName = 0 $oPortableDeviceManager = ObjCreateInterface($sCLSID_PortableDeviceManager, $sIID_IPortableDeviceManager, $sTagIPortableDeviceManager) If Not IsObj($oPortableDeviceManager) Then Return 0 If FAILED($oPortableDeviceManager.GetDevices(Null, $SizeofArray)) Then Return 0 If $SizeofArray < 1 Then Return 0 $taPnPDeviceIDs = DllStructCreate("ptr[" & $SizeofArray & "]") If FAILED($oPortableDeviceManager.GetDevices(DllStructGetPtr($taPnPDeviceIDs), $SizeofArray)) Then Return 0 ReDim $aDevicesInfo[$SizeofArray][4] For $i = 0 To $SizeofArray - 1 $tName = DllStructCreate("wchar[512]", DllStructGetData($taPnPDeviceIDs, 1, $i + 1)) $aDevicesInfo[$i][$eDevID] = DllStructGetData($tName, 1) $aDevicesInfo[$i][$eDevName] = _GetFriendlyName($oPortableDeviceManager, $aDevicesInfo[$i][$eDevID]) $aDevicesInfo[$i][$eDevManufacturer] = _GetDeviceManufacturer($oPortableDeviceManager, $aDevicesInfo[$i][$eDevID]) $aDevicesInfo[$i][$eDevDescription] = _GetDeviceDescription($oPortableDeviceManager, $aDevicesInfo[$i][$eDevID]) $tName = 0 _WinAPI_CoTaskMemFree(DllStructGetData($taPnPDeviceIDs, 1, $i + 1)) Next Return $aDevicesInfo EndFunc ;==>GetPortableDevices Func _GetDeviceManufacturer($oInterface, $PnPDeviceID) Local $sString = "" $oInterface.GetDeviceManufacturer($PnPDeviceID, $sString, 128) Return $sString EndFunc ;==>_GetDeviceManufacturer Func _GetDeviceDescription($oInterface, $PnPDeviceID) Local $sString = "" Local Const $Size = 128 $oInterface.GetDeviceDescription($PnPDeviceID, $sString, 128) Return $sString EndFunc ;==>_GetDeviceDescription Func _GetFriendlyName($oInterface, $PnPDeviceID) Local $sString = "" Local Const $Size = 128 $oInterface.GetDeviceFriendlyName($PnPDeviceID, $sString, 128) Return $sString EndFunc ;==>_GetFriendlyName Func _GetProperty($oInterface, $PnPDeviceID) Local $sString = "" Local Const $Size = 128 $oInterface.GetDeviceFriendlyName($PnPDeviceID, $sString, 128) Return $sString EndFunc ;==>_GetProperty Func FAILED($hr) Return ($hr < 0) EndFunc ;==>FAILED Saludos
    1 point
  5. suntisuka, You can find inspiration for the DLL in this AutoIt example.
    1 point
  6. During my free time I will try and pick up development of this again. First off my priority is to refactor a lot of the code, as my style has changed quite a bit when I started this back in 2011. Though I will try to maintain the functionality that is present, no doubt things will be broken. Don't expect anything until September though.
    1 point
  7. It would be cool to help, but I only have experience with C# and VBA, plus my AutoIt skills are a little poor these days. I will still watch the github repo though.
    1 point
  8. bourny, No need for you to hook into the "Internal Use Only" functions - they are just that and you should not play around with them. As explained in the function headers, all you need to do is check for the return value from the _GUIListViewEx_EditOnClick function. If it is an array then a ListView item/subitem was edited and the array tells you how many, which ones and what was changed - this example shows how to do it.: #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <GUIListViewEx.au3> Global $aArray[10] $hGUI = GUICreate("Test", 500, 500) $cLV = GUICtrlCreateListView("Double click to edit", 10, 10, 400, 200) For $i = 0 To 9 $aArray[$i] = "Item " & $i GUICtrlCreateListViewItem("Item " & $i, $cLV) Next GUISetState() _GUIListViewEx_Init($cLV, $aArray, 0, 0, False, 2, "0") _GUIListViewEx_MsgRegister() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit EndSwitch $aEdited = _GUIListViewEx_EditOnClick() If IsArray($aEdited) Then _ArrayDisplay($aEdited, "Edited cells", Default, 8) EndIf WEndAll clear? M23
    1 point
  9. Mount the ISO, then choose upgrade.
    1 point
  10. Locking this thread and will open a new one soon to announce the re-enabling of the Downloads and changes we have made to avoid False positives in the future. Stay tuned. Jos
    1 point
  11. Just using the tool now to download Windows 10 Pro to my games machine. Doesn't matter if that goes wrong - there's no data on it. Quick download. I read that Microsoft had reserved 40 TB/s of CDN bandwidth for today. It's slower writing the download to my USB than it was downloading. I need to get some faster USBs
    1 point
  12. guinness

    Bug with If {NOT}

    Wow, after 10 years of If being apart of the core language you have found a bug, congratulations...wait, no you haven't. I was going to demo too, but @jchd got there before me.
    1 point
  13. Checked the download and it's correct. You must have an aggressive proxy/cache in the way. Try the archive one instead: autoit-v3.3.14.1-setup.exe
    1 point
  14. I just downloaded this version then copied the DLL in the @scriptdir from the zip file. Then this exemple works as intended: #include <SQLite.au3> ; don't include sqlite.dll.au3 !!! Local $path = @ScriptDir & "\mydb.sql" _SQLite_Startup ("System.Data.SQLite.dll") ConsoleWrite(_SQLite_LibVersion() & @LF) Local $row ; using encryption _SQLite_Open($path) _SQLite_Exec(-1, "pragma key = 'Radu is happy!';create table if not exists test (id integer, val text);" & _ "insert into test values (1, 'abc');") _SQLite_QuerySingleRow(-1, "select * from test;", $row) ConsoleWrite($row[1] & @LF) _SQLite_Close(-1) ; not using encryption over the encrypted DB gives a failure _SQLite_Open($path) _SQLite_QuerySingleRow(-1, "select * from test;", $row) ConsoleWrite(_SQLite_ErrMsg(-1) & @LF) _SQLite_Close(-1) ; changing back to no encryption _SQLite_Open($path) _SQLite_Exec(-1, "pragma key = 'Radu is happy!'") _SQLite_Exec(-1, "pragma rekey = ''") _SQLite_QuerySingleRow(-1, "select * from test;", $row) ConsoleWrite($row[1] & @LF) _SQLite_Close(-1) _SQLite_Shutdown()
    1 point
  15. Because changing the date does not generate a control event (but it is the case when clicking on the control) Move the two lines If $fdpMainChange = True and If $fdpLogChange = True outside the Switch/Case, it should work
    1 point
  16. There are many versions of System.Data.SQLite.dll. You must use the one compatible with your script (x86 or x64) and which is compiled as "static" and "mixed-mode" assembly. For use with AutoIt, the .Net version is irrelevant unless you intend to also use the same library with .Net features from other programs. Also please note that you must issue the pragma key= before any use of the DB.
    1 point
  17. andygo

    make script faster

    inspired from your codes, i could make my one also a bit faster. and theres room for more i think. but i dont want to use just yours (even if its much more complex and faster), i want to understand it and code it by myself. learning by doing, hope you dont see this as snooty
    1 point
  18. OK, I realise now you only have 15 posts. It used to be 5, but now it's 20 (I believe) to view the private chat. Anyhow, it's being figured out by Jos and Jon.
    1 point
  19. I would encourage you to learn C#, given the fact Visual Studio Community is FREE to download/use and/or there is SharpDevelop, a FREE IDE for C#. I have some examples floating around the forum, plus online. PM and I will send you the link to the C# examples. With all due respect, the code (which is limited mind you) that I have seen from you could be improved in some areas. One area many novice developers overlook is best practices for a particular language. The first thing I do whenever learning a new language, is not to head to the glossary of keywords or "Hello World" example, but instead the conventions for said language. You might ask why? Well, what people don't realise is the majority of users who are proficient in a particular language will gravitate towards a standard style for said language. So if I were to start writing JavaScript as though I am writing AutoIt, then it would kind of look a little weird for those who intend to help out on the project. Here is an example of what I mean... // C#, using the Alman style public void Main() { // ... int myAge = 100; // I wouldn't write like in AutoIt e.g. iMyAge (i = integer) }// Java, using the K&R style public void Main() { // ... string name = "guinness"; // I wouldn't write like in AutoIt e.g. sName (s = string) }Though the differences are minor (the brackets), I wouldn't dare using Alman in Java, because it would not only look weird, but if I am working in a team, then my code wouldn't be consistent. They say code should look like it's written by one person and not multiple people. Anyway, I have used my daily word count for this post!
    1 point
  20. Ok guys seeing as you are having these problems and I happened to download the latest version today before all this happened I uploaded the file to dropbox and am now sharing it with you guys.
    1 point
  21. This last question was answered in another specific thread by @Jos Thank you !
    1 point
  22. The FileOpenDialog () changes the workdir to the directory of the selected file, so do a FileChangeDir(@ScriptDir) after the selection is done. Jos
    1 point
  23. I'm happy you like it and even happier that it's now in production at my client's radiology practice. I would like to claim credit for it but actually I based this code on the example I found in the help page on GUICtrlCreateButton. Desperation is the real mother of invention! Anyway, here is the test code reworked with some bells and whistles. 1. It correctly formats the long date in the edit box, as above 2. It shows "TODAY" if today's date is selected and "YESTERDAY" for the day before. I am adding two buttons for Today and Yesterday to the dialog as these cover 90% of my client's needs. But the 10% is still important. 3. It shows "Invalid Date" for any future date and blocks the return until a valid date is selected. (There are no post-dated images. You can't look at X-ray or MRI studies which haven't been done yet!) I hope it's of some help to others. #include <GUIConstantsEx.au3> #include <DateTimeConstants.au3> #include <WindowsConstants.au3> #include <Date.au3> #include <GuiDateTimePicker.au3> #include <Array.au3> Global $hDateGUI Global $cnDate Global $hDate Global $hButton MsgBox( 0, "DATE", GetStudyDate() ) Exit Func GetStudyDate() Local $sDate $hDateGUI = GUICreate( "Karisma Study Date", 220, 160 ) $cnDate = GUICtrlCreateDate( "", 10, 20, 200, 20 ) $hDate = ControlGetHandle( "Karisma Study Date", "", $cnDate ) $hButton = GUICtrlCreateButton( "Accept", 70, 95, 80, 30 ) GUISetState() $sDate = GetAdate() GUIDelete( $hDateGUI ) Return $sDate EndFunc Func GetADate() Local $sDate _GUICtrlDTP_SetFormat( $hDate, "YYYY'/'MM'/'dd" ) $aDate = _GUICtrlDTP_GetSystemTime( $hDate ) _GUICtrlDTP_SetFormat( $hDate, "dddd':' MMMM d, yyyy" ) _GUICtrlDTP_SetFormat( $hDate, "'TODAY'" ) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ContinueCase Case $hButton If ControlGetText( $hDate, "", "" ) = "Invalid Date" Then ContinueLoop _GUICtrlDTP_SetFormat( $hDate, "dddd':' MMMM d, yyyy" ) $aDate = _GUICtrlDTP_GetSystemTime( $hDate ) $sDate = $aDate[ 2 ] & '/' & $aDate[ 1 ] & '/' & $aDate[ 0 ] Return $sDate Case $cnDate _GUICtrlDTP_SetFormat( $hDate, "dddd':' MMMM d, yyyy" ) _GUICtrlDTP_SetFormat( $hDate, "'" & ControlGetText( $hDate, "", "") & "'" ) $aDate = _GUICtrlDTP_GetSystemTime( $hDate ) If _DateDiff( 'D', _NowCalc(), $aDate[ 0 ] & '/' & $aDate[ 1 ] & '/' & $aDate[ 2 ] ) = 0 Then _GUICtrlDTP_SetFormat( $hDate, "'TODAY'" ) ElseIf _DateDiff( 'D', _NowCalc(), $aDate[ 0 ] & '/' & $aDate[ 1 ] & '/' & $aDate[ 2 ] ) = -1 Then _GUICtrlDTP_SetFormat( $hDate, "'YESTERDAY'" ) ElseIf _DateDiff( 'D', _NowCalc(), $aDate[ 0 ] & '/' & $aDate[ 1 ] & '/' & $aDate[ 2 ] ) > 0 Then _GUICtrlDTP_SetFormat( $hDate, "'Invalid Date'" ) EndIf EndSwitch WEnd EndFunc
    1 point
×
×
  • Create New...