|
xBase проблема с открытием
| ☑ |
0
alexei366
16.02.15
✎
10:02
|
Решил попользоваться xBase для чтения с dbf файла (вариант с ADODB.Connection требует наличие определенного провайдера который прописан в строке соединения, я так сказать делаю на родном, что если 1С есть то работать с ходу будет).
Столкнулся с проблемой открытия файла если в пути есть кириллица. Пробывал дополнять имя файла справа и слева разными кавычками (вдруг прокатит), но не помогло. Так что спрашиваю совета, ктонить сталкивался решал?
|
|
1
vde69
16.02.15
✎
10:07
|
форматы дбф - они разные... их как грязи.... определись для начала чем делася файл...
|
|
2
ShoGUN
16.02.15
✎
10:09
|
(0) Переложить/переименовать файл не предлагать?
|
|
3
Остап Сулейманович
16.02.15
✎
10:10
|
(0) Если интересует именно "ктонить сталкивался" - то вотъ вам ъ дорогой товарисЧ - никада. Зато постоянно сталкивался с именем файла больше 8 символов. 1ЦЫ с таким не работает. Решается просто.
ВремФайл = ПолучитьИмяВременногоФайла("dbf");
КопироватьФайл(КаталогФайловСБ+"\"+ТС.ИмяФайла, ВремФайл);
ДБФ=Новый XBASE();
ДБФ.Кодировка=КодировкаXBase.OEM;
ДБФ.ОткрытьФайл(ВремФайл);
ИМХО и с кириллицей в пути также справится.
|
|
4
vde69
16.02.15
✎
10:15
|
(3) а выравнивание двух байтных слов? а фоксовые заголовки? а формат индексов? и т.д.
|
|
5
Остап Сулейманович
16.02.15
✎
10:16
|
(4) Терки точно за штатный XBASE?
|
|
6
Остап Сулейманович
16.02.15
✎
10:17
|
+ (5) За то что xBase бывает разный - не спорю. Но у ТС конкретный вопрос за кириллицу в пути или имени.
|
|
7
ShoGUN
16.02.15
✎
10:20
|
(4) Да погоди ты, он же про кирилицу спрашивает :) Понятно, что dBase дохрена :)
|
|
8
vde69
16.02.15
✎
10:22
|
(6) современные драйверы xbase замечательно работает с кирилицей в имени, и более 8 символов понимает :)
единственное ограничение - длинна строки подключения (точно не помню, то-ли 200 то-ли 1000 символов).
А вот для старых драйверов - действительно лучше прийти к именам DOS
|
|
9
alexei366
16.02.15
✎
15:14
|
(3) Спасибо, не догодался чот кодировку устанавливать до открытия файла, думал не повлияет точно, в итоге перенес строку с установкой кодировки и стало работать.
|
|