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

CODEPAGE=1251

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

CODEPAGE=866

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

config тут не причем, кодировки и тд нормально
...
Рейтинг: 0 / 0
Ч - ч, Я - я и некоторое другое
    #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
Ч - ч, Я - я и некоторое другое
    #32339791
Не должно быть такого.
настройки языка в ПУ - не китайский там :)
...
Рейтинг: 0 / 0
Ч - ч, Я - я и некоторое другое
    #32341053
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вы сами где-то ошиблись наверное.
Я вот только что на этом попался... Перед тем как сделать locate rest забыл сделать skip и типа найти не получилось. Чуть было не подумал что правда фокс глючит
...
Рейтинг: 0 / 0
Ч - ч, Я - я и некоторое другое
    #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
Ч - ч, Я - я и некоторое другое
    #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
Ч - ч, Я - я и некоторое другое
    #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
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ч - ч, Я - я и некоторое другое
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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