2015-12-10 4 views
0

Я нашел пример, сМожно ли считывать данные из файла и хранить в переменной ПРАКТИКЕ, созданной с использованием VAR.NEWGLOBAL

READ #1 "filename.hex" &data 

были & данных является ПРАКТИКА макросъемки. Мне нужно разобрать эти данные. Поскольку он хранится в макросе, я не могу. Можно ли сохранить его в переменной PRACTICE? Если да, то как бы выглядела команда?

+0

Не могли бы вы привести пример строки (и/или файла), которую вы пытаетесь проанализировать? – Holger

ответ

0

Вы не можете прочитать данные из файла и сохранить его непосредственно в переменной PRACTICE. Однако вы можете прочитать данные на ПРАКТИКУ макро и назначить содержание макро переменной ПРАКТИКИ:

PRIVATE &data      // declare macro 
VAR.NEWGLOBAL char[64] \mydata // declare variable 
READ #1 "filename.hex" &data  // read data from file to macro 
Var.Set \mydata="&data"   // assign content from macro to variable 

Примечания: Макросы работают только в файлах ПРАКТИК сценарии (* .cmm-файлы). Они не работают в командной строке TRACE32.

Во всяком случае , если вам нужно проанализировать данные из файла, я хотел бы предложить, чтобы прочитать в полной строке из файла в макрос с опцией формата %LINE, а затем извлечь требуемое содержание из макроса со струной -ПРАКТИКИ, такие как STRing.SPLIT() или STRing.MID() или STRing.SCANAndExtract().

E.g. Получите значение из третьего столбца файла CSV:

PRIVATE &data &value    // declare macros 
VAR.NEWGLOBAL char[64] \mydata  // declare variable 
READ #1 "filename.csv" %LINE &data // read one line from file to macro 
&value=STRing.TRIM(STRing.SPLIT("&data",",",2)) // get 3rd comma separated value 
Var.Set \mydata="&value"   // assign content from macro to variable 
+0

Спасибо за разъяснение функций STRING-PRACTICE. – dottruce