Чисто экспериментирую идею. Небольшая прога на 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