Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранение данных в DBF IV [dBase, FoxPro, FB 1.5]


Страницы:   1 2

ganda ©   (2008-10-02 08:23:00) 

Сохранение данных из FireBird в формате DBF IV кодовая страница DBF стоит 866. При сохранение в полях используется специальные символы, после сохранения данных в файле DBF спец. символы отображаются решеткой!
пример кода такой

     FDataModule.TblBgate2.TableName:= tn;
     FDataModule.TblBgate2.TableLevel:= 4;
     FDataModule.TblBgate2.TableType:= ttDBase;
     FDataModule.TblBgate2.CreateTable;
     FDataModule.TblBgate2.Open;
****************************************
   for iFieldCount := 0 to DataSetSource.FieldCount - 1 do
     if DataSetDest.FindField(DataSetSource.Fields[iFieldCount].FieldName)<>nil
     then
       if (UpperCase(DataSetSource.Fields[iFieldCount].FieldName) <> 'ID') and
          (UpperCase(DataSetSource.Fields[iFieldCount].FieldName) <>
            'ID')  then
       begin
           DataSetDest.FieldByName(DataSetSource.Fields[
             iFieldCount].FieldName).AsString:= DataSetSource.Fields[
             iFieldCount].AsString


Городской Шаман   (2008-10-04 05:53:00) [1]

Удалено модератором


Городской Шаман   (2008-10-04 05:44:00) [2]

Удалено модератором


Германн   (2008-10-04 02:20:00) [3]

Удалено модератором


MsGuns   (2008-10-04 02:03:00) [4]

Удалено модератором


Городской Шаман   (2008-10-03 20:41:00) [5]


> ganda   (02.10.08 08:23)  


С учётом всего вышесказанного экспортируй в xml с кодировкой utf8, так как скорее всего dbf не держит unicode.

Вот лучший xml парсер для Delphi.
http://www.simdesign.nl/xml.html


Johnmen   (2008-10-03 20:22:00) [6]


> Сергей М. ©   (03.10.08 19:37) [24]
> Ну и какого же хрена ты тут жужжал про какие-то там "решетки" ?)

Так у него претензии к виду были. А не к содержимому...:)


Сергей М.   (2008-10-03 19:37:00) [7]

Ну и какого же хрена ты тут жужжал про какие-то там "решетки" ?)


ganda   (2008-10-03 18:31:00) [8]

Решение проблемы не очень приятно! Но действенное, сохраняются данные! Специальные символы заменяются на обыкновенные символы (в программе используется только верхний регистр) только маленькими! После открывается файл DBF  как текст где нахожу эти символы и подставляю спец. символы! все прекрасно работает!


MsGuns   (2008-10-02 12:44:00) [9]

>Сергей М. ©   (02.10.08 11:15) [20]
>Ну вот ты возьми да расскажи ему про то какие смазки обычно применяют для таких колес)

Не могу. Ибо пользуюсь смазкой для треугольных :)


Правильный$Вася   (2008-10-02 11:41:00) [10]

решетки - это просто способ показасимволов, которые твой просмотрщик не понимает
при правильной выгрузке коды их такие же, как и в исходных данных
ты смотри на DBF не просмотрщиком DBF, а HEX-редактором, тогда увидишь коды символов и сравнишь с ожидаемыми

а вообще, учти, что многие программы работы с данными (БДЕ тоже) автоматически пытается перекодировать в ту кодовую страницу, которая указана для БД в его настройках (он-то не знает, что часть символов - это буквы, которые надо перекодировать, а часть - спецсимволы, которые не надо перекодировать, - для него все эти байты - текст)
я натыкался на такое, когда хранил в memo-полях бинарные данные


Сергей М.   (2008-10-02 11:15:00) [11]


> MsGuns ©   (02.10.08 11:03) [19]

))

Ну вот ты возьми да расскажи ему про то какие смазки обычно применяют для таких колес)

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


MsGuns   (2008-10-02 11:03:00) [12]

Блин, ему нужно подсказать чем смазать квадратные колеса чтобы телега поехала, в вы все советуете заменить их на круглые.
Вот уж недотепы какие :))


Сергей М.   (2008-10-02 10:04:00) [13]


> доступ к интернету


Мда..
Чем дальше в лес, тем толще партизаны)..
Уже и Тырнет всплывает)

Причем здесь Тырнет-то ?


Василий Жогарев   (2008-10-02 10:02:00) [14]


> ganda   (02.10.08 09:57) [14]
> исходная строка в FB YЏI‰Љ‹ЈЊЌ такую я строку и должен получить
> и в DBF, а получаю ########


Возможно кодировка, поковыряй ее...


ganda   (2008-10-02 10:00:00) [15]


> Сергей М. ©   (02.10.08 09:54) [13]

телеге просто необходимо 5 колесо т.к. не все имеют доступ к интернету! Видимо придется усиленно по извращатся!


Сергей М.   (2008-10-02 10:00:00) [16]


> исходная строка в FB YЏI‰Љ‹ЈЊЌ


Эту строку ты гдеуведел ?


> такую я строку и должен получить и в DBF


Она там и есть на самом деле, можешь в этом не сомневаться.


> а получаю ########


Потому ты что смотришь на ту же самуюстроку другими"глазами")


ganda   (2008-10-02 09:57:00) [17]

исходная строка в FB YЏI‰Љ‹ЈЊЌ такую я строку и должен получить и в DBF, а получаю ########


Сергей М.   (2008-10-02 09:54:00) [18]


> ganda   (02.10.08 09:43) [11]
>
> #$8F;
> #$89;
> #$8A;
> #$8B;
> #188;
> #$8C;
> #$8D;


Вот этоты гдевидишь ?


> вижу вместо них #


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


> потом эти данные отправляются в базу Оракл


А что, напрямую из FB в Оракл разве нельзя экспортировать данные ?
Этой телеге обязательно нужно 5-е колесо в виде ДБФ-файла ?


Johnmen   (2008-10-02 09:49:00) [19]

Как выглядит исходная строка? После считывания из FB.


ganda   (2008-10-02 09:43:00) [20]

#$8F;
#$89;
#$8A;
#$8B;
#188;
#$8C;
#$8D;
нужно увидеть эти символы а вижу вместо них #


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо