Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Foxpro/Clipper/Dbase > непомеченный dbf


Автор: karina 11.4.2006, 13:37
Помогите ,пожалуйста,
Мне приходиться работать с dbf-никами у которых не указана кодовая таблица
Что мне написать в проге, чтобы у меня при обращении к базе не выходил запрос :"file ...dbf is not marked with a code page it was created in" и предлагается выбор таблиц.
программа в VFP-8 . С CPZERO я пробывала


ВСЕМ СПАСИБО!!!!!!

Автор: bas 11.4.2006, 14:16
Что в 30-ом байте?

Автор: MFoxer 12.4.2006, 02:41
Не нужно никаких 30 байтов. Нужно просто выполнить утилиту CPZERO, поставляется с фоксом от версии 2.0 имеет расширение PRG.
Удачи.


Автор: karina 13.4.2006, 14:57
я же написала, что CPZERO я выполняла. Бесполезно идет- запрос. Программа отрабатывает нормально , но пользователи пугаются.
насчет 30 байта я не поняла. база с непомеченной кодовой страницей

Автор: Cashey 14.4.2006, 13:39
Запрос выбора кодовой страницы должен выскакивать только один раз. Есть возможность открыть таблицы фоксом и выставить кодировку?

Автор: karina 14.4.2006, 14:16
Все бы было хорошо, если бы не приходилось обрабатывать каждый раз новые таб-
лицы, которые попадают на вход программы

Автор: Cashey 14.4.2006, 16:41
karina, приведи код, которым ты используешь CPZERO.

Автор: karina 19.4.2006, 10:38
я делаю так
DO u:\pmail\oold\europay\load\1\CPZERO WITH per1, 866
вставляю это в прогу 

Автор: Cashey 19.4.2006, 12:28
помести файл cpzero.prg рядом с файлом запуска программы, откомпили его на всякий случай и в программе пропиши:
Код

DO CPZERO WITH per1, 866

а использовать досовскую кодировку обязательно? 

Автор: karina 20.4.2006, 08:25
все сделала . Ничего не помогает. прицепилась ко мне эта кодовая таблица
даже в проге поставила codepage=866.
и cpzero лежит рядом и откомпллированный
ЗАПАДНЯ какая-то 

Автор: Кащей 26.4.2006, 13:08
karina, есть вещи которые немогут быть потому что не могут быть никогда! Вероятно, ты открываешь таблицу еще до запуска cpzero.
Попробуй такой код:
Код

per1 = "tablename"
IF USED(per1)
      MESSAGEBOX("Неправильное использование файла cpzero!")
      RETURN
ENDIF
DO cpzero.prg WITH per1+'.dbf',866
 USE (per1) IN 0
  

Автор: xvar 2.10.2008, 10:38
Было время , сделал пару полезных штучек  

Это тут  MS CPzero в экзешнике.

http://its.extra.hu/cpzero.htm 


А это -  codepage конвертало . В принципе работает. 852 в 1250 конвертировал - получилось. 

Сделано  для тех систем где codepage  не импользуется вообще и наблюдаются разные кракоряксы.


http://its.extra.hu/cpconverter.htm

Попробуйте, может понравится. (копию с базы не забудьте сделать, чем черт не шутит)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)