|
|
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
Kak mojno sortirovat table po Russkomu alfavitu? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2005, 11:44 |
|
||
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
А какие проблемы для русского? СМоздавай индекс по нужному полю и все будет отсортировано правильно. Единственая проблема - буква Ё. Но ее можно запретить использовать (все равно ее на компе никто не юзает). Но если не устраевает, то делается дополнительное поле куда помещают реальные порядковые номера букв и уже по ней индексируют - особено такое решение актуально для национальных языков, содержащих кроме кирилицы всякие дополнительные буквы, размазаные по всей кодовой таблице. Тот же украинский ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2005, 14:26 |
|
||
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
Индекс запоминает режим сортировки (SET COLLATE) при котором он был создан. Поэтому, если по каким-либо причинам не устраивает сортировка по выражению UPPER(MyField) или LOWER(MyField) (например, из-за наличия буквы Ё), то можно создать индекс в нужной сортировке: Код: plaintext 1. 2. 3. 4. Работать все-таки лучше в "стандартной" машинной сортировке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2005, 18:59 |
|
||
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
Doroqie Fox proqramisti mne nujno kod kotoriy poderjival i bukvu "Ё" pochemu?.U menya druq est on predleqol kod kotoroe i poderjivaet bukvu "Ё" . A interesno vashe mnenie osebenno Bladimira E i Sergey Ch. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2005, 21:52 |
|
||
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
Guest0001Doroqie Fox proqramisti mne nujno kod kotoriy poderjival i bukvu "Ё" pochemu?.U menya druq est on predleqol kod kotoroe i poderjivaet bukvu "Ё" . A interesno vashe mnenie osebenno Bladimira E i Sergey Ch. Вообще-то Владимир Вам показал решение проблемы в своем предыдущем сообщении... Там буква "Ё" как маленькая так и большая находятся на правильном месте По крайней мере в VFP 8.0 SP1... Единственно, что я привык писать строку построения индексов всегда явным образом: Код: plaintext Код: plaintext Good luck! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2005, 12:46 |
|
||
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
Hi Guest0001! Собственно Владимир и предложил "код", который "поддерживает букву Ё". А заодно и все прочие буквы национальных кириллических алфавитов (Украинского, Белорусского и других). Внутренне использование SET COLLATE TO RUSSIAN выглядит как "преобразование" каждого символа в некоторый абстрактный код - а уже эти "коды" при упорядочивании по ним дают корректную последовательность сортировки - учитывая "равенство" прописных и строчных букв, а также учитывая все дополнительные кириллические буквы - не только ё :) Можно конечно и "руками" сделать подобное (и даже лучше - "сэкономив" на размере индекса - не используя по 2 байта на каждый символ как делает COLLATION=RUSSIAN из-за всего одной буквы :) ) - благо CHRTRAN() в фоксе имеется. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2005, 18:01 |
|
||
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
A esli u menya Fox6 chto mne delat? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 08:40 |
|
||
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
>A esli u menya Fox6 chto mne delat? А SET COLLATE TO RUSSIAN для 6-ки никто не отнимал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 09:18 |
|
||
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
A tam je net "SET COLLATE TO RUSSIAN" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 09:58 |
|
||
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
Зато есть SET COLLATE TO "RUSSIAN" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 11:21 |
|
||
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
i tam net takoy funktsii SET COLLATE TO "RUSSIAN". Mojet ti etoqo imeesh SET COLLATE TO "SWEFIN". A razve Fox 6 poderjivaet SET COLLATE TO "RUSSIAN". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 11:53 |
|
||
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
>i tam net takoy funktsii SET COLLATE TO "RUSSIAN". Это хелпе нету - его то писали не для русских А во если открыть пунк меню Options, закладку Data, комбобокс Collating sequence то RUSSIAN там присуствует >A razve Fox 6 poderjivaet SET COLLATE TO "RUSSIAN". А самому попробовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 12:14 |
|
||
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
Mojet tak poprobuesh SELECT MyTable INDEX ON CHRTRAN(name,"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ" ,"1234567ABCDEFGHIJKLMNOPQRSTUVWXYZ") TO idAlp Go Top Thisform.Refresh ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 12:53 |
|
||
|
Alpabet
|
|||
|---|---|---|---|
|
#18+
A tochnee tak: SELECT MyTable INDEX on CHRTRAN(cFieldName,"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ; абвгдеёжзийклмнопрстуфхцчшщъыьэюя"; ,"1234567ABCDEFGHIJKLMNOPQRSTUVWXYZ; [\]^_`abcdefghijklmnopqrstuvwxyz{") TO alp GO TOP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 14:25 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33456669&tid=1592700]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
165ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 439ms |

| 0 / 0 |
