По ходу разработки и отладки программ каждая активная "рабочая область" продолжает активно наполняться текстами новых функций, примерами, комментариями и правками. В результате постоянно изменяется местоположение текстов функций в соответствующем рабочем файле. При общем числе строк в файле порядка тысячи, отслеживать местоположение и отыскивать тексты нужных функций в этом файле становится весьма трудоемким занятием.
Предлагаемая функция GetFuncList() предназначена для частичной автоматизации составления и ведения справочников текущего местоположения текстов функций в рабочем файле .au3.
Предлагаемая функция GetFuncList() предназначена для частичной автоматизации составления и ведения справочников текущего местоположения текстов функций в рабочем файле .au3.
Код:
#include <Array.au3>
GetFuncList()
Exit
Func GetFuncList()
; Read the current script file into an array using the filepath.
Local $j=0
Local $aArray[1] = [0]
Local $aArray_Base = FileReadToArray(@ScriptFullPath)
Local $iLineCount = @extended
;MsgBox(0,"This Script Path & Size",@ScriptFullPath & " " & @extended)
If @error Then
MsgBox($MB_SYSTEMMODAL, "", "There was an error reading the file. @error: " & @error) ; An error occurred reading the current script file.
Exit
Else
For $i = 0 To $iLineCount - 1 ; Loop through the array.
Local $Line=StringLeft ( $aArray_Base[$i], 4 )
If $Line="Func" Then
Local $iPosition = StringInStr($aArray_Base[$i], ")")
Local $Rec=StringMid($aArray_Base[$i], 1, $iPosition) & " " & $i
$j+=1
_ArrayInsert($aArray, 0, $Rec)
EndIf
Next
_ArraySort($aArray)
$aArray[0]=$j
_ArrayDisplay($aArray, "This Script Function line num")
EndIf
EndFunc ;==>GetFuncList()