powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как узнать имена переменных и их количество
5 сообщений из 5, страница 1 из 1
Как узнать имена переменных и их количество
    #34152837
t03
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, а кто может подсказать можно ли как-то программно узнать сколько переменных с определенным префиксом имени и имена этих переменных. Например переменные типа Zn10, Zn12, Zn13 и т.д.
...
Рейтинг: 0 / 0
Как узнать имена переменных и их количество
    #34153255
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если после Zn всегда число, то например так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
RELEASE ALL LIKE Zn*
LOCAL Zn10,Zn12,Zn13 

LOCAL i, lnCount, lcVarName
lnCount =  0 

CREATE CURSOR varlist (varcount I, varname C( 10 ))
FOR i= 1  TO  999 
	lcVarName = "Zn"+LTRIM(STR(m.i))
	IF TYPE(lcVarName) != "U"
		lnCount = m.lnCount +  1 
		INSERT INTO varlist (varcount,varname) ;
			VALUES (m.lnCount,m.lcVarName)		
	ENDIF
ENDFOR

BROWSE
CLOSE TABLES
...
Рейтинг: 0 / 0
Как узнать имена переменных и их количество
    #34153409
t03
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо Cyv за идею и вариант решения!
...
Рейтинг: 0 / 0
Как узнать имена переменных и их количество
    #34153500
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
LIST MEMORY LIKE "Zn*" TO FILE MemoryList.txt
Далее разбор полученного текстового файла
...
Рейтинг: 0 / 0
Как узнать имена переменных и их количество
    #34153894
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторразбор полученного текстового файла
Да, это был запасной вариант в случае отрицательного ответа
на вопрос "после Zn всегда число" :).
Ну раз уж пробовал, то и опубликую.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
RELEASE ALL LIKE Zn*
LOCAL Zn10,Zn12,Zn13,ZnBlaBla

LOCAL i,lcFileName,lcStr,lcVarName
lcFileName = FORCEEXT(ADDBS(SYS( 2023 ))+SYS( 2015 ),"TXT")

CREATE CURSOR varlist (varcount I, varname C( 10 ))

SET SAFETY OFF
DISPLAY MEMORY LIKE Zn* TO FILE (m.lcFileName) NOCONSOLE
lcStr = FILETOSTR(m.lcFileName)
ERASE (m.lcFileName)

FOR i= 1  TO OCCURS("ZN",m.lcStr)
	lcVarName = RTRIM(SUBSTR(m.lcStr, AT("ZN",m.lcStr,m.i), 10 ))
	INSERT INTO varlist (varcount,varname) ;
	VALUES (m.i,m.lcVarName)
ENDFOR

BROWSE
CLOSE TABLES
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как узнать имена переменных и их количество
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]