Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / field() / 11 сообщений из 11, страница 1 из 1
31.01.2006, 07:58
    #33512273
n1m2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
field()
Yest komanda field(), eto pokazivaet polya po nomeram.
Dopustim, field(1)=1-ci polya,field(2)=2-ci polya.

A yest li takaya kamanda chto pokazivala nomer polya po nazvaniyu?
...
Рейтинг: 0 / 0
31.01.2006, 08:21
    #33512290
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
field()
Можно так:
AFIELDS(aDim1)
lnColumn = ASCAN(aDim1, NameFiled,1,0,1,9), где
NameFiled имя искомого поля, а lnColumn - его искомый номер
С уважением, Алексей
...
Рейтинг: 0 / 0
31.01.2006, 08:32
    #33512302
n1m2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
field()
Oshibku dayut: "Too many argument"
...
Рейтинг: 0 / 0
31.01.2006, 08:41
    #33512307
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
field()
А какая версия VFP ?
С уважением, Алексей
...
Рейтинг: 0 / 0
31.01.2006, 08:55
    #33512315
n1m2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
field()
VFP6
...
Рейтинг: 0 / 0
31.01.2006, 09:05
    #33512324
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
field()
Тогда так:
AFIELDS(aDim1)
nRow = ASUBSCRIPT(aDim1, ASCAN(aDim1, NameFiled), 1)
nRow - номер поля, но имя поля NameFiled надо задавать большими буквами и лучше сначала убедиться, что ASCAN(aDim1, NameFiled) > 0
С уважением, Алексей
...
Рейтинг: 0 / 0
31.01.2006, 09:26
    #33512358
n1m2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
field()
Ne, nepravilno dayut.
Napirmer, yest polya ASCAN(aDim1, NameFiled)=4, ya znayu chto nomer etoqo polye 140, no nrow=1 poluchaetsa.
...
Рейтинг: 0 / 0
31.01.2006, 09:55
    #33512437
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
field()
Не знаю... Я только что проверил - все правильно работает.
Может в VFP 9 эти функции не так работают, как в VFP 6.0?!
С уважением, Алексей
...
Рейтинг: 0 / 0
31.01.2006, 12:08
    #33512962
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
field()
Способ сравнения символьных строк зависит от настройки SET EXACT

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
DIMENSION test( 2 )
test[ 1 ] = "1234"
test[ 2 ] = "12"

SET EXACT OFF
?ASCAN(test,"12")

SET EXACT ON
?ASCAN(test,"12")

Вообще-то, при любом раскладе, поиск сведется к перебору. Может, проще органзовать перебор напрямую?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT MyTab
LOCAL lnI, lcFieldName
lcFieldName = UPPER("MyField")
FOR lnI= 1  TO FCOUNT()
	IF FIELD(m.lnI) == m.lcFieldName
		EXIT
	ENDIF
ENDFOR

IF m.lnI <= FCOUNT()
	?m.lcFieldName," № ",m.lnI
ENDIF
...
Рейтинг: 0 / 0
31.01.2006, 12:50
    #33513127
n1m2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
field()
Spasibo, VladimirM, Vsyo poluchilos.
...
Рейтинг: 0 / 0
01.02.2006, 02:55
    #33514823
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
field()
Hi n1m2!

Вообще-то настораживает желание получить "номер поля", равно как и
наоборот - возможно что где-то используется кривой алгоритм работы с
данными - при нормальной работе таких потребностей возникать не должно (и
физический порядок следования полей не должен иметь ни малейшего значения
для функционирования программы).

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / field() / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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