ddarek 0 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 Share this post Link to post Share on other sites
guinness 1,518 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 Share this post Link to post Share on other sites
ddarek 0 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 Share this post Link to post Share on other sites
ProgAndy 88 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 Share this post Link to post Share on other sites
wakillon 403 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 Share this post Link to post Share on other sites
ddarek 0 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 Share this post Link to post Share on other sites
wakillon 403 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 Share this post Link to post Share on other sites