07.09.2009, 10:38 | #1 |
Участник
|
Экспортирую данные из DBF файла.
Текст программы следующий (взят из интернета): CREATE(Dbf); CREATE(DbfRecords); Dbf.Open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Project\Trade_SWT\;Extended Properties=DBASE IV;'); DbfRecords.Open('Vergisetir.dbf',Dbf); IF NOT(DbfRecords.EOF) THEN DbfRecords.MoveFirst(); IF NOT(DbfRecords.EOF) THEN BEGIN REPEAT s := DbfRecords.Fields().Item('Ad').Value; MESSAGE(s); DbfRecords.MoveNext(); UNTIL DbfRecords.EOF; END; DbfRecords.Close(); Dbf.Close(); CLEAR(Dbf); CLEAR(DbfRecords); Все номально, но русские буквы в MESSAGE превращаются в крякозябры. В чем проблема и как это можно решить? Спасибо |
|
07.09.2009, 11:29 | #2 |
Участник
|
Скорее всего, проблема в преобразовании кодовых таблиц (в Navision - 866). Если лень возиться, снимите бесплатную библиотеку работы с DBF-файлами на www.navutilus.com
|
|
07.09.2009, 13:35 | #3 |
Участник
|
Этот вариант не совсем устраивает, так как в Navision нужно создавать таблицу такой же структуры, что и DBF-таблица.
Есть ли другой вариант? |
|
07.09.2009, 13:41 | #4 |
Участник
|
Другой вариант - перекодировка результатов импорта. Можно воспользоваться функцией CONVERTSTR (String). Только требуется аккуратность. Пытался найти в архивах такое преобразование - где-то затерялось
|
|
07.09.2009, 13:44 | #5 |
Участник
|
Посмотрите на функцию Dos2Win CU 12400 Localisation Management и сделайте ей обратную.
|
|
07.09.2009, 13:45 | #6 |
Участник
|
Впрочем, в уже обсуждавшейся библиотеке есть функция WIN1250_TO_DOS(TextValue : Text[250]) Result : Text[1024]
|
|