Вход | Регистрация

Информационные технологии ::

Метки:

Кодировка dbf

Я
   Sector04
11.05.04 - 14:07
Люди, кто знает как сделать. Есть dbf фоксовская dos, в фоксе под винду базу смотрю, соответственно забитые поля, вместо русских букв - хрень. Как сделать, чтобы в фоксе под винду, поля забитые в досовском фоксе просматривались. Т.е. чтобы кодировка поддержалась или может программулины есть какие для этого. За ранее спасибо.
 
  Рекламное место пустует
   SnarkHunter
 
1 - 11.05.04 - 14:09
В каком фоксе...
   Sector04
2 - 11.05.04 - 14:10
FoxPro 2.6.
   kadr
 
3 - 11.05.04 - 14:10
Перекодируй... Скачай программулину с инета...
   Sector04
4 - 11.05.04 - 14:12
А что за софт, не подскажешь ?
   kadr
 
5 - 11.05.04 - 14:16
   Sector04
6 - 11.05.04 - 14:20
kadr, спасибо. Скачал, сейчас заценю.
   Sector04
7 - 11.05.04 - 14:31
kadr, нето. Я так понимаю, это проги для перекодирования не dbf. А мне базу шоркнуть надобно.
   Valery
 
8 - 11.05.04 - 16:34
Вообще когда в фоксе базу открываеш, она спрашивает кодовую страницу.
если такое непроисходит, то я раньше делел так:
открываешь dosовский файл в EXEL, сохраняешь его, а потом открывашь его в wind фоксе. Данный трюк просто убивает кодовую страницу в dbf. Хотя в фоксе есть отдельная процедура по уничтожению кодовой страницы. Только название не помню.
Поэтому предлагаю такой вариант.
   Vser1
 
9 - 12.05.04 - 02:47
Просто и надежно, работает под FoxPro:
==============================================
Use ------.dbf     * имя перекодируемой базы
* переменные: S-перекодируемые символы (1261 кодовая таблица)
* Р-подставляемые символы (866 кодовая таблица)
* с 1 прописные(большие) буквы

Pole=''

S ='рстуфх=цчшщъыьэюяЁёІіґµ·±ј»№єЅѕ'
S1='------и=-========-=--==--=- --||-='
P ='абвгдеежзийклмнопрстуфхцчшщыьъэюя№'
P1 ='АБВГДЕЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЬЪЭЮЯ№'

For i=0 to Fcount() go top
 Pole=Field(i)
if Type(pole)='C'
 Do While .not. Eof()
   repl &Pole with Chrtran(&Pole,S,P)
   repl &Pole with Chrtran(&Pole,S1,P1)
   skip
 EndDo
endif
EndFor
Browse  * просмотр результатов
Quit

===========================
Передать кодировку S и S1 не могу, ограничения форума, но надеюсь дагадаетесь как их получить :)))
Прим. программа перегоняет все текстовые поля базы из одной кодировки в другую, игнорируя все остальные (дату, числовые, логические...), надеюсь догадаетесь как поменять переменные что-бы из 866 получить 1261 кодировку :)))
   427
 
10 - 12.05.04 - 07:03
Мдя... Сезон охоты на любителей драть гланды через одно место можно делать круглогодичным....

Вообще то есть такая фигня, как CodePage.... и как ни странно, это именно в 1С...
 
  Рекламное место пустует
   Vser1
 
11 - 12.05.04 - 07:27
(10) Ну не всега надо в 1эссину гнать, иногда и из нее приходиться получать, в досовской кодировке... +заменой строчных на прописны + заменой некоторых символов на другие, да и много всякого бывает нужно и не всегда знаешь как правельно подступиться, вот и рвешь гланды через ж...
   427
 
12 - 12.05.04 - 08:44
"досовской кодировке".... CodePage

"заменой некоторых символов на другие" - ага, при записи тоже нельзя сделать напрямую.... ты могешь лезть в задницу... но лучше сначала глянуть в ЖКК

"заменой строчных на прописны" ....  ого .... и где это (в каком языке) нет Lower и Upper
   Vser1
 
13 - 12.05.04 - 09:15
(12) Ну я же писал всяко бывает, например чел. (как я) в 1С ноль с палочкой :))), а для пенсионного (PF04) приходиться кой какие данные выдергивать из эссины, вот и извращаюсь на старом добром FoxPro, который так сяк знаю.
А ЖКК не читаю, туповато написано, не для среднего ума...
   427
 
14 - 12.05.04 - 11:24
Ага, туповато... Для умов ниже среднего ...

вот к примеру

СтрЗаменить(<?>,,)
StrReplace(<?>,,)
Синтаксис:
СтрЗаменить(<СтрИсточник>,<СтрПодстрока>,<СтрЗамены>)
Назначение:
Возвращает строку, полученную из строки поиска заменой всех вхождений шаблона поиска строкой замены.
Параметры:
<СтрИсточник> - строка в которой ищем (место поиска);
<СтрПодстрока> - строка которую ищем (шаблон поиска);
<СтрЗамены> - строка, которой заменяем найденную подстроку (строка замены).


или


Врег(<?>)
Upper(<?>)
Синтаксис:
Врег(<Строка>)
Назначение:
Возвращает строку, полученную из исходной преобразованием всех символов в верхний регистр.
Параметры:
<Строка> - исходная строка.


Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует