Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ч - ч, Я - я и некоторое другое / 10 сообщений из 10, страница 1 из 1
27.11.2003, 21:13
    #32337221
brahew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ч - ч, Я - я и некоторое другое
Такая проблема, Locate for или set filt to не могут их сравнить как одинаковые, фиолетово в Upper("ч")=Upper("Ч") or lower("Ч")=lower("ч"). Может это токо у меня, хотя замечено что sp1 на winxp как бы решает проблему
...
Рейтинг: 0 / 0
28.11.2003, 11:52
    #32337591
andrew_Pr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ч - ч, Я - я и некоторое другое
Помню, у меня такая же фигня была на FoxPro 2.6 for Win. Пришлось писать собственные MyUpper(), MyLower() и MyProper(). Но на VisualFox такой проблемы не было. М.б. все дело в SP ?
...
Рейтинг: 0 / 0
28.11.2003, 12:14
    #32337619
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ч - ч, Я - я и некоторое другое
Нужен файл конфигурации CONFIG.FPW (это обычный текстовый файл) со строкой

CODEPAGE=1251

Если речь идет о FPD, то файл конфигурации CONFIG.FP (2 буквы расширения) со строкой

CODEPAGE=866

Кроме того, то VFP5 включительно нужен еще файл FOXPRO.INT он поставляется вместе с FoxPro и расположен в его корневом каталоге.
...
Рейтинг: 0 / 0
28.11.2003, 20:13
    #32338261
brahew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ч - ч, Я - я и некоторое другое
фокс - VFP8, на него когда ставишь sp1, то в среде winXP, пропадает такой прикол, на предыдущих версиях все было тип топ, проявляется когда при поиске, первая буква заглавная остальные строчные, в win98 похоже не лечится,
2 andrew_Pr
а подскажите про myUpper, что там можно написать,

config тут не причем, кодировки и тд нормально
...
Рейтинг: 0 / 0
01.12.2003, 16:58
    #32339739
andrew_Pr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ч - ч, Я - я и некоторое другое
to brahew
Пример MyUpper, MyLower, MyProper:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Function MyUpper
parameter m.stroka
* Сначала преобразуем стандарнтым образом:
 m.stroka = UPPER(m.stroka)
* Затем дополнительно преобразуем  "бракованные"  буквы
 m.stroka= CHRTRAN(m.stroka, 'чя', 'ЧЯ')
 return m.stroka
endfunc

Function MyUpper
parameter m.stroka
* Сначала преобразуем стандарнтым образом:
 m.stroka = LOWER(m.stroka)
* Затем дополнительно преобразуем  "бракованные"  буквы
 m.stroka= CHRTRAN(m.stroka, 'ЧЯ', 'чя')
 return m.stroka
endfunc

Function MyProper
parameter m.stroka
 Return  MyUpper(LEFT(m.stroka,  1 ))+MyLower(SUBSTR(m.stroka,  2 ))
endfunc
...
Рейтинг: 0 / 0
01.12.2003, 17:28
    #32339791
Ч - ч, Я - я и некоторое другое
Не должно быть такого.
настройки языка в ПУ - не китайский там :)
...
Рейтинг: 0 / 0
02.12.2003, 16:58
    #32341053
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ч - ч, Я - я и некоторое другое
Да вы сами где-то ошиблись наверное.
Я вот только что на этом попался... Перед тем как сделать locate rest забыл сделать skip и типа найти не получилось. Чуть было не подумал что правда фокс глючит
...
Рейтинг: 0 / 0
02.12.2003, 19:10
    #32341239
brahew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ч - ч, Я - я и некоторое другое
Нет, не ошибся. если пишешь я или ч маленькое, ищет по контексту, Я или Ч большое, то обычный поиск, посмотрите код пожалуйста
Вот, кусочек алгоритма поиска, this.gr_kon,tt - переменные с именем таблицы для поиска, cap - название по русски поля

Код: plaintext
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.
DO FORM rettex WITH Поиск по '+ALLTRIM(cap),,300,50,&tt TO r1 && Предлагает внести значения для поиска
IF !EMPTY(r1) AND !ISNULL(r1) && если заполнили
	m.poisk=r1
	DO CASE 
	 CASE VARTYPE(&tt)='C'
		LOCATE ALL FOR SUBSTR(UPPER(ALLTRIM(&tt)),1,LEN(UPPER(ALLTRIM(r1))))==UPPER(ALLTRIM(r1))
		IF !FOUND()
			LOCATE ALL FOR ATC(UPPER(ALLTRIM(r1)),UPPER(ALLTRIM(&tt)))>0
		ENDIF 
	 OTHERWISE 
		LOCATE ALL FOR &tt=r1
	ENDCASE 
ELSE  && Иначе предлагает найти пустые
	IF 6=MESSAGEBOX('Ищем пустые',4+32+256,'Поиск')
		m.poisk='??'
		GO TOP
		m.pp=0
		r1='empty('+this.gr_kon+') or ISNULL('+this.gr_kon+')'
		LOCATE ALL FOR &r1
	ELSE
		thisform.nashnet = .f.
		GO TOP 
		this.refresh
		thisform.pageframe1.page1.grid1.SetFocus 
		RETURN 
	ENDIF 
ENDIF 
...
Рейтинг: 0 / 0
02.12.2003, 19:15
    #32341247
brahew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ч - ч, Я - я и некоторое другое
Извините

Код: plaintext
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.
DO FORM rettex WITH 'Поиск по '+ALLTRIM(cap),, 300 , 50 ,&tt TO r1 && Предлагает внести значения для поиска
IF !EMPTY(r1) AND !ISNULL(r1) && если заполнили
	m.poisk=r1
	DO CASE 
	 CASE VARTYPE(&tt)='C'
		LOCATE ALL FOR SUBSTR(UPPER(ALLTRIM(&tt)), 1 ,LEN(UPPER(ALLTRIM(r1))))==UPPER(ALLTRIM(r1))
		IF !FOUND()
			LOCATE ALL FOR ATC(UPPER(ALLTRIM(r1)),UPPER(ALLTRIM(&tt)))> 0 
		ENDIF 
	 OTHERWISE 
		LOCATE ALL FOR &tt=r1
	ENDCASE 
ELSE  && Иначе предлагает найти пустые
	IF  6 =MESSAGEBOX('Ищем пустые', 4 + 32 + 256 ,'Поиск')
		m.poisk='??'
		GO TOP
		m.pp= 0 
		r1='empty('+this.gr_kon+') or ISNULL('+this.gr_kon+')'
		LOCATE ALL FOR &r1
	ELSE
		thisform.nashnet = .f.
		GO TOP 
		this.refresh
		thisform.pageframe1.page1.grid1.SetFocus 
		RETURN 
	ENDIF 
ENDIF 

ps видимо MyUpper Хороший вариант
...
Рейтинг: 0 / 0
02.12.2003, 19:47
    #32341275
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ч - ч, Я - я и некоторое другое
Как раз-таки CONFIG.FPW и строка CODEPAGE=1251 тут и при чем.

Создай текстовый файл CONFIG.FPW и напиши внем строку

CODEPAGE=1251

Загрузи среду FoxPro с этим файлом конфигурации и посмотри что вернет

?UPPER('ч')=UPPER('Ч')

Теперь исправь эту строку на

CODEPAGE=1252

Снова перезагрузи FoxPro и повтори попытку.

Я проверял на VFP6SP5 - с CODEPAGE=1251 - все нормально, с CODEPAGE=1252 - .F.

PS: Проверить какой файл конфигурации используется можно функцией SYS(2019)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ч - ч, Я - я и некоторое другое / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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