ddarek Posted August 11, 2011 Share Posted August 11, 2011 (edited) Hello I am struggling with such a thing Func FindEmptyField() ; For $i = 1 To $iLast For $j = 0 To $jLast ;ConsoleWrite("Checking: " & $i & ", " & $j & @CRLF) $FieldInfo = GetField($i, $j) If GetField($i, $j) = 0 Then ConsoleWrite($i & ", " & $j & " <-Can move! " & @CRLF) ExitLoop EndIf Next Next EndFunc I would like that this function returns first first $i and $j which i can use I thought about Array but I think it is could be too heavy, maybe with setextended will be nicer ? Any help ? Edited August 11, 2011 by ddarek Link to comment Share on other sites More sharing options...
guinness Posted August 11, 2011 Share Posted August 11, 2011 Look at SetError() 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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
ddarek Posted August 11, 2011 Author Share Posted August 11, 2011 (edited) Like this ? Func FindEmptyField() ; For $i = 1 To $iLast For $j = 0 To $jLast ;ConsoleWrite("Checking: " & $i & ", " & $j & @CRLF) $FieldInfo = GetField($i, $j) If GetField($i, $j) = 0 Then SetError($i,$j) ConsoleWrite($i & ", " & $j & " <-Can move! " & @CRLF) ExitLoop EndIf Next Next EndFunc Edited August 11, 2011 by ddarek Link to comment Share on other sites More sharing options...
ProgAndy Posted August 11, 2011 Share Posted August 11, 2011 (edited) SetError is to set error values. If you need extended return values, use SetExtended, just as you said. In your case, an array as return value or ByRef-params should be the best choice. If you don't want an array, use ByRef Edited August 11, 2011 by ProgAndy *GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes Link to comment Share on other sites More sharing options...
wakillon Posted August 11, 2011 Share Posted August 11, 2011 Example of returning 2 values with SetExtended $_Result = _Function ( ) $_extended = @extended ConsoleWrite ( "$_Result : " & $_Result & ' $_extended : ' & $_extended & @Crlf ) Func _Function ( ) Local $_Var1 = 100 Local $_Var2 = 10 Return SetExtended ( $_Var1, $_Var2 ) EndFunc AutoIt 3.3.14.2 X86 - SciTE 3.6.0 - WIN 8.1 X64 - Other Example Scripts Link to comment Share on other sites More sharing options...
ddarek Posted August 12, 2011 Author Share Posted August 12, 2011 @ProgAndy: SetError , ye was absent minded just SetError(1) is enough @wakillon thnx , but i needed it separately, so $i I return normal way and $j as SetExtended($j) <- this way it works also big thnx Link to comment Share on other sites More sharing options...
wakillon Posted August 12, 2011 Share Posted August 12, 2011 @ProgAndy: SetError , ye was absent minded just SetError(1) is enough @wakillon thnx , but i needed it separately, so $i I return normal way and $j as SetExtended($j) <- this way it works also big thnx Yes, this is identical, values are just crossed. $_Result = _Function1 ( ) $_extended = @extended ConsoleWrite ( "$_Result : " & $_Result & ' $_extended : ' & $_extended & @Crlf ) $_Result = _Function2 ( ) $_extended = @extended ConsoleWrite ( "$_Result : " & $_Result & ' $_extended : ' & $_extended & @Crlf ) Func _Function1 ( ) Local $_Var1 = 100 Local $_Var2 = 10 Return SetExtended ( $_Var1, $_Var2 ) EndFunc Func _Function2 ( ) Local $_I = 100 Local $_J = 10 SetExtended ( $_J ) Return $_I EndFunc AutoIt 3.3.14.2 X86 - SciTE 3.6.0 - WIN 8.1 X64 - Other Example Scripts 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