Чисто экспериментирую идею. Небольшая прога на 100 кб хочется добавить поиск числа в тексте и тут встраивание регулярный выражений добавляет 100 кб к проге, хотя не используется активно.
Но вот думаю если подойти к поиску бинарно, то будет более оптимизировано. То есть считать очередной байт из памяти, а потом прочитать по указателю нужное число байтов.
EnableExplicit
Declare StrToArrLetter(Array Arr.s{1}(1), String$)
Global i, f, pos1 = 0, pos2 = 0
Global Dim Arr.s{1}(0)
Global TextFile$ = "можно проверить на десятичное число 34.89 или найти в тексте"
StrToArrLetter(Arr(), TextFile$)
Procedure StrToArrLetter(Array Arr.s{1}(1), String$)
Protected LenStr, i
LenStr = Len(String$)
If LenStr
ReDim Arr(LenStr - 1)
PokeS(Arr(), String$, -1, #PB_String_NoZero)
EndIf
ProcedureReturn
EndProcedure
; Вывод результата
For i=0 To ArraySize(Arr())
Select Arr(i)
Case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "."
f = 1
Default
f = 0
EndSelect
If f And pos1 = 0
pos1 = i+1
EndIf
If f = 0 And pos1
pos2 = i+1
Break
EndIf
Next
If pos2 And pos1
Debug Mid(TextFile$, pos1, pos2 - pos1)
EndIf