Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Регистр в именах полей / 8 сообщений из 8, страница 1 из 1
04.05.2012, 11:48
    #37781815
Shizuku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистр в именах полей
Интересно, можно ли использовать в именах полей символы разного регистра - это сделало бы работу более понятной, см. файл...
...
Рейтинг: 0 / 0
04.05.2012, 11:49
    #37781821
Shizuku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистр в именах полей
...
Рейтинг: 0 / 0
04.05.2012, 13:49
    #37782027
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистр в именах полей
ShizukuИнтересно, можно ли использовать в именах полей символы разного регистра - это сделало бы работу более понятной, см. файл...
Если имеете ввиду строчные-прописные, то нет. А если на русском-английском - попробуйте :)
...
Рейтинг: 0 / 0
04.05.2012, 14:58
    #37782145
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистр в именах полей
Имена (полей, переменных и т.д.) - регистронезависимы для компилятора, но вам же никто в самом коде не запрещает изображать имена так, как вам удобно, с большими и маленькими буквами. Вы-то ведь как разработчик работаете исключительно с кодом, а приведенный вами пример ручного создания структуры таблицы - это одна из возможностей, ведь есть и Create/Alter Table .
...
Рейтинг: 0 / 0
05.05.2012, 00:58
    #37783002
Shizuku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистр в именах полей
AndreTM,

а есть ли способ сгенерить код для создания таблиц по уже готовым полям? Как-то неохота все перебирать заново.
...
Рейтинг: 0 / 0
05.05.2012, 01:03
    #37783006
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистр в именах полей
Конечно, есть
Вы бы только более полно намекнули, что означает это ваше "по уже готовым полям"...
...
Рейтинг: 0 / 0
05.05.2012, 05:16
    #37783053
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистр в именах полей
См. справку по командам COPY STRUCTURE, COPY STRUCTURE EXTENDED. Или что-то типа этого
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
*:--------------------------------------------------------------------
*:
*:	Procedure:	xpCreateStringFromTable
*:
*:--------------------------------------------------------------------
PROCEDURE xpCreateStringFromTable
*!* создает строку создания таблицы из готовой таблицы

USE ? SHARED
AFIELDS(aFld)

cString = 'CREATE TABLE '+LOWER(SUBSTR(DBF(),RAT('\',DBF())+1,RAT('.',DBF())-RAT('\',DBF())-1))+' FREE ('
FOR i=1 TO ALEN(aFld,1)
	cString=cString+aFld(i,1)+' '+aFld(i,2)
	DO CASE
		CASE aFld(i,2)='N'
			cString=cString+'('+LTRIM(STR(aFld(i,3)))+','+LTRIM(STR(aFld(i,4)))+')'
		CASE aFld(i,2)='F'
			cString=cString+'('+LTRIM(STR(aFld(i,3)))+','+LTRIM(STR(aFld(i,4)))+')'
		CASE aFld(i,2)='C'
			cString=cString+'('+LTRIM(STR(aFld(i,3)))+')'
		CASE aFld(i,2)='V'
			cString=cString+'('+LTRIM(STR(aFld(i,3)))+')'
		CASE aFld(i,2)='Q'
			cString=cString+'('+LTRIM(STR(aFld(i,3)))+')'
	ENDCASE
	IF ALEN(aFld,1)!=i
		cString=cString+', '
	ENDIF
ENDFOR
cString=cString+')'
USE
_cliptext = cString

RETURN cString

*:--------------------------------------------------------------------
*:
*:	Procedure:	xpCreateStringFromCursor
*:
*:--------------------------------------------------------------------
PROCEDURE xpCreateStringFromCursor
*!* создает строку создания таблицы из курсора
LPARAMETERS tcCursor
LOCAL aFld[1], i, lcString
AFIELDS(aFld,tcCursor)

lcString =''
FOR i=1 TO ALEN(aFld,1)
	lcString=lcString+aFld(i,1)+' '+aFld(i,2)
	DO CASE
		CASE aFld(i,2)='N'
			lcString=lcString+'('+LTRIM(STR(aFld(i,3)))+','+LTRIM(STR(aFld(i,4)))+')'
		CASE aFld(i,2)='F'
			lcString=lcString+'('+LTRIM(STR(aFld(i,3)))+','+LTRIM(STR(aFld(i,4)))+')'
		CASE aFld(i,2)='C'
			lcString=lcString+'('+LTRIM(STR(aFld(i,3)))+')'
		CASE aFld(i,2)='V'
			lcString=lcString+'('+LTRIM(STR(aFld(i,3)))+')'
		CASE aFld(i,2)='Q'
			lcString=lcString+'('+LTRIM(STR(aFld(i,3)))+')'
	ENDCASE
	IF ALEN(aFld,1)!=i
		lcString=lcString+', '
	ENDIF
ENDFOR
RETURN lcString
...
Рейтинг: 0 / 0
05.05.2012, 10:55
    #37783268
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистр в именах полей
DagСм. справку по командам COPY STRUCTURE, COPY STRUCTURE EXTENDED. Или что-то типа этого
Лучше AFIELDS() + CREATE FROM ARRAY, чтобы не плодить лишних файлов на диске.

Хотя, это не отменяет вопроса AndreTM . А что надо на самом деле? Не выбранный способ решения, а сама постановка задачи какая? Откуда возникла необходимость создавать структуру программно?
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Регистр в именах полей / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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