powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как подставить вместо имени таблицы переменную?
14 сообщений из 14, страница 1 из 1
Как подставить вместо имени таблицы переменную?
    #32856424
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просвятите тёмного человека как в CREATE TABLE подставить вместо имени таблици переменную с именем?
Давно, ещё на 2.6, подставлял, но за прошедшие годы уже забыл :-(
...
Рейтинг: 0 / 0
Как подставить вместо имени таблицы переменную?
    #32856432
-ноль-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
lc_nameTable= "C:\test.dbf"
CREATE TABLE (lc_nameTable) ( test_field C( 20 ) )
...
Рейтинг: 0 / 0
Как подставить вместо имени таблицы переменную?
    #32856676
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А символ подстановки?
...
Рейтинг: 0 / 0
Как подставить вместо имени таблицы переменную?
    #32856729
Фотография SAM-FoxPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот скобочки вокруг lc_nameTable и есть символ подстановки...
Можно еще &lc_nameTable.
...
Рейтинг: 0 / 0
Как подставить вместо имени таблицы переменную?
    #32856731
luser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет :) Скобочки вокруг перменной указывают что значение переменой берется по ссылке.
...
Рейтинг: 0 / 0
Как подставить вместо имени таблицы переменную?
    #32856757
Glyba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неправда. Скобочки вокруг переменной не на это указывают. Так исстари повелось, что во многих фоксовых командах параметр можно указывать явно прямо в тексте команды (например, USE CUSTOMER). В таких командах, чтобы указать на то, что параметр указан не явно, а должен быть взят из переменной, используют скобки: USE (m.Tab2Open).
...
Рейтинг: 0 / 0
Как подставить вместо имени таблицы переменную?
    #32856905
fanblack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SAM-FoxProА вот скобочки вокруг lc_nameTable и есть символ подстановки...
Можно еще &lc_nameTable.


С символом подстановки & не получится. Будет создана таблица &lc_nameTable, а не lc_nameTable.
...
Рейтинг: 0 / 0
Как подставить вместо имени таблицы переменную?
    #32856927
luser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Glyba что именно не правда ? Откройте Help к фоксу и почитайте. Потом будете делать такие радикальные заявления.
...
Рейтинг: 0 / 0
Как подставить вместо имени таблицы переменную?
    #32856954
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Открываем Help и читаем

HELP VFP3Совет По мере возможности старайтесь использовать вместо макроподстановки выражение имени. Такое выражение действует как макроподстановка, но оно может передавать в качестве имен только символьные строки. Употребляя выражение имени, вы значительно ускорите процесс обработки команды или функции, допускающей задание имени (имени файла, имени окна, имени меню и т.д.). Подробнее о выражениях имени см. главу 2 "Обзор языка программирования" Руководства разработчика.

Следующие команды являются допустимыми:

STORE 'customer' TO gcTableName
STORE 'company' TO gcTagName
USE &gcTableName ORDER &gcTagName

но лучше воспользоваться выражением имени:

USE (gcTableName) ORDER (gcTagName)

Здесь не очень корректный перевод того, чем является выражение в скобках. В оригинале это называется: a name expression . Более точно это переводится как именованное выражение .
...
Рейтинг: 0 / 0
Как подставить вместо имени таблицы переменную?
    #32856966
luser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда задумайтесь чем отличается:
Код: plaintext
1.
2.
 myVar = thisform
 от 
 myVar = (thisform)
И все станет на свои места.
...
Рейтинг: 0 / 0
Как подставить вместо имени таблицы переменную?
    #32857011
fanblack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fanblack SAM-FoxProА вот скобочки вокруг lc_nameTable и есть символ подстановки...
Можно еще &lc_nameTable.


С символом подстановки & не получится. Будет создана таблица &lc_nameTable, а не lc_nameTable.

Приношу извинения за допущенную не точность, но при выполнении оператора

thisform.label1.caption = &thisform.text1.value

возникает ошибка, а если так

thisform.label1.caption = (thisform.text1.value)

то выполняется без ошибки.

Может я чего-нибудь не понимаю, поправьте.
...
Рейтинг: 0 / 0
Как подставить вместо имени таблицы переменную?
    #32857047
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макроподстановку на практике заканчивают пробелом только потому, что лень точки писать. ;-)
На самом деле, полный синтаксис макроподстановки такой:
Код: plaintext
&lcVar.
Точкой она завершается. И так будет корректно:
Код: plaintext
1.
store 'el' to lcVar
s&lcVar.ect * from mytable where myfield= 1 
;-)))))
А если надо истинные точки в макроподстановке передать, то стоит попробовать писать
Код: plaintext
1.
2.
3.
  не так
thisform.label1.caption = &thisform.text1.value
, а так
thisform.label1.caption = &thisform->text1->value
По крайней мере, в такой конструкции это работает
Код: plaintext
&m->lcVar.
, а сработает ли в цепочке имени объекта - предоставляю проверить самим.
...
Рейтинг: 0 / 0
Как подставить вместо имени таблицы переменную?
    #32857062
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi luser!

Читаем раздел хелпа Name Expressions и наслаждаемся :)

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Как подставить вместо имени таблицы переменную?
    #32857222
Glyba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
luserGlyba что именно не правда ?
Неправда вот что:
Скобочки вокруг перменной указывают что значение переменой берется по ссылке.
В данном случае скобочки указывают, что слово внутри них - это имя переменной, в которой лежит требуемый параметр, а не сам этот строковый параметр, написанный без кавычек, как это принято в таких командах.
Откройте Help к фоксу и почитайте. Потом будете делать такие радикальные заявления.
Я знаю, как создать таблицу с произвольным именем. А если я чего-то не знаю, то читаю хелп, как вы мне справедливо советуете.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как подставить вместо имени таблицы переменную?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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