Что нового

Получение "правильного" имени функции с au3.api

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,485
Может будет кому то полезно.
Получает "правильное" имя функции или ключевого слова:

Код:
$sKeyword = 'guiCtrlcreAteLISTviEw'
$sProperKeyword = __Au3_KeywordGetProperName(@AutoItExe & '\..\SciTE\api\au3.api', $sKeyword)

MsgBox(64, '', $sKeyword & @CRLF & $sProperKeyword)

Func __Au3_KeywordGetProperName($sAPI_File, $sKeyword)
	Local Static $aRead = StringRegExp(FileRead($sAPI_File), '(\r?\n|^)([#@]?\w+)\W', 3)
	Local Static $oArr = ObjCreate('Scripting.Dictionary')
	Local Static $sOld_File = $sAPI_File
	
	If $sOld_File <> $sAPI_File Then
		$aRead = StringRegExp(FileRead($sAPI_File), '(\r?\n|^)([#@]?\w+)\W', 3)
		$sOld_File = $sAPI_File
	EndIf
	
	If $oArr.Count = 0 Then
		$oArr.CompareMode = 1
		
		For $i = 1 To UBound($aRead) - 1
			If Not $oArr.Exists($aRead[$i]) Then
				$oArr.Add($aRead[$i], $aRead[$i])
			EndIf
		Next
	EndIf
	
	Return $oArr($sKeyword)
EndFunc
 
Верх