[an error occurred while processing this directive]
|
Исходная задача была такая: преобразовать текстовый файл, в котором числа записаны в столбик, в файл, в котором они оформлены в виде сишного массива. Если в программе (см. ниже) изменить функции для работы с текстовыми файлами на функции для работы с двоичными, то можно решить поставленную задачу. Нюансов я не помню, поэтому думай сам. Вот скрипт:
'Создает массив чисел в синтаксисе C из файла с прошивкой для ADSP-2184 .bnm
Const FileInName = "D:\MyDoc\Projects\zm3003\synth2\ADSP\Debug\synth.bnm"
Const FileOutName = "adsp2184.h"
Dim FileObj, FileIn, FileOut
Set FileObj = CreateObject("Scripting.FileSystemObject")
Set FileIn = FileObj.OpenTextFile(FileInName, 1) 'ForReading=1
Set FileOut = FileObj.CreateTextFile(FileOutName, True)
Const step = 100
Dim arr()
ReDim arr(step)
Dim i
Sub AddItem(item)
arr(i) = item
i = i + 1
if i > UBound(arr) then ReDim Preserve arr(i+step)
End Sub
i = 0
Do Until FileIn.AtEndOfStream
AddItem(FileIn.ReadLine)
Loop
FileOut.WriteLine("#define NWORDS " & i)
FileOut.WriteLine("prog_uint16_t adsp[NWORDS] = {")
For j = 0 to i-2
FileOut.WriteLine("0x" & arr(j) & ",")
next
FileOut.WriteLine("0x" & arr(i-1) & " };")
FileIn.Close
FileOut.Close
MsgBox("ВСЁ ОК...")
E-mail: info@telesys.ru