powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TDBF русские буквы
21 сообщений из 21, страница 1 из 1
TDBF русские буквы
    #34554675
Junior)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день уважаемые! Использую компонент TDBF для доступа к DBF-таблице, подключабсь и вижу вместо русского текста крякообразины всякие, как это превратить в нормальные текст через TDBF. СПАсибо!!
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34554751
Sheez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBF в какой кодировке?
Новые версии TDBF сами определяют кодировку - свойство codepage.
В старых можно было указывать OemTranslate = true/false
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34554807
Junior)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TDBF 9.6.1 у меня, но вот что-то крякообразы показывает, а что-то обратьтся к свойству CodePAge не могу, пишет что немогу прочитать это свойство.
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34554864
Sheez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodePage - read only property
Видимо у тебя в DBF-нике неправильная сигнатура кодировки.
В приложении старая версия TDBF - можно указывать кодировку вручную, а лучше использовать
TDataSet Descendant от http://www.advantagedatabase.com
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34554912
Junior)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>а лучше использовать
>TDataSet Descendant от http://www.advantagedatabase.com

Да я что-то даже через этот кмпонент к DBF базе подключится не могу, я так понял он на BDE завязян или нет?
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34555070
Sheez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не завязан, у них свой драйвер. А какие у тебя индексы : cdx,mdx,ntx... ?
Пришли свой dbf вместе с индексами на greymail2004@mail.ru попробую открыть.
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34555182
Junior)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Индексы там IDX, можно мне просто алгоритм работы с этим компонентом, как подключится к DBF
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34555330
Sheez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, так.
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34555403
Junior)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. работает. А какое свойсвто отвечает за то, чтобы не показывать удаленны записи?
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34555469
Junior)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин опят проблема не подключается вот что выдает
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34555495
Junior)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С подключением разобрался, вот только как сделать чтобы записи удаленные н выводились?
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34555573
Junior)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С последней проблемой разобрался тоже, но тут появилась еще одна:
Хочу отфильтровать записи, чтобы выводились записи только с опред датой
Пишу так:
Код: plaintext
AdsTable1.Filter:='DatePole= '''+DateToStr(Date- 1 )+'''';
Все равно все запиcи показывает. Свойсво Filtered:=True;
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34555674
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Junior) wrote:

> Пишу так:
> AdsTable1.Filter:='DatePole= '''+DateToStr(Date-*1*)+'''';

Как вы достали... что, каждому персонально говорить о том, что нужно
использовать параметры???
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34555784
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отлично, осталось последние объясникть как можно использовать параметры в фильтре
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34555892
Junior)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да точно как использовать параметры в фильтре??. а то смотри, ДОСтали прям ВСЕ!!
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34555947
Субботин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробуй
Код: plaintext
AdsTable1.Filter:='DatePole= '+QuotedStr(DateToStr(Date- 1 ));
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34596321
Фотография A.K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется DBF level 3.
Насколько я понял, кодировка в таком файле не прописывается (реально имеем 866-ю кодировку).

Чтобы заставить компонент TDBF (версия 9.6.1) перекодировать строки в ANSI, нужно написать обработчик OnTranslate, или есть все же способ просто указать компоненту кодировку?
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34597399
Sheez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Свойство LanguageID. Возможные значения смотри в dbf_collate.pas
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34597575
Фотография A.K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SheezСвойство LanguageID. Возможные значения смотри в dbf_collate.pas
Help с вами не согласен:
TDBF 6.9.1 Examine LanguageID to determine the codepage, locale combination the table is using. See Dbf_Lang.pas to decipher the information. Set it before calling CreateTable to specify a
codepage/locale combination for a table.Проще говоря, для чтения из таблиц данный параметр указывать нельзя, можно только для создания новых.
И, пожалуй, это разумно - т.к. OnTranslate предоставляет максимально гибкий инструмент перекодировки.
...
Рейтинг: 0 / 0
TDBF русские буквы
    #34597702
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A.K.Имеется DBF level 3.
Насколько я понял, кодировка в таком файле не прописывается (реально имеем 866-ю кодировку).

Чтобы заставить компонент TDBF (версия 9.6.1) перекодировать строки в ANSI, нужно написать обработчик OnTranslate, или есть все же способ просто указать компоненту кодировку?
Правильно понимаешь, поддержка языков таблиц появилась только в DBF level 5 и то для русского только 866 и пропала снова в DBF level 7.
Борланд серьезно смог использовать хороший продукт после покупки, а продажа уже не смогла повлиять на ситуацию.

С ФоксПро иначе - поддержка языков таблиц появилась начиная с версии 2.6 и не испортилась в дальнейшем, при том изначально, и OEM, и ANSI.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
TDBF русские буквы
    #39637766
ZardoZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отвечу в этой теме, т.к. она одна из первых в поиске.

Версия на данный момент последняя TDBF 7.0.1
Конвертировать данные туда обратно ресурсозатратный костыль.
Выставление кодировки другими путями успеха не принесло, т.к. после открытия файла, он версию dbase и кодовую страницу берет из открываемого файла, а то что было выставлено вручную сбрасывает.
Решение проблемы кодировки TDBF с минимальными затратами ресурсов - изменить 29 байт в dbf файле на нужную кодировку (например CP866 - $26). В большинстве случаев в выгрузках от разных систем этот байт равен 0, соответственно язык не задан и TDBF считает, что это DBASE 3 без языка.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure FixDbfCodePage(FileName: string);
var
  f: TFileStream;
  cp: Byte;
begin
  cp := DbfLangId_RUS_866;  //константа из Dbf_Lang, равная $26
  f := TFileStream.Create(FileName, fmOpenWrite);
  try
    f.Position := 29;
    f.Write(cp, 1);
  finally
    f.Free;
  end;
end; 
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TDBF русские буквы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]