Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как прочитать базу данных с Досовским шрифтом, Помогите!! 
:(
    Опции темы
Alex103
  Дата 27.2.2005, 05:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



У меня такая история. Вот была у меня досовская прграмма написаная на Паскале. Она читала базы данных формата dbf. Я написал на Делфи прогу но она при чтеннии базы вываливает совсем не понятные слова но если эти слова посмотреть в Far-e то можно прочитать текст. Подскажите что мне нужно сделать и как написать прогу что-бы она читала эти базы. Заранее благодарю. С ув. Александр


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Vit
Дата 27.2.2005, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Для начала попробовать поставить кодировки в BDE администраторе


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Alex
Дата 27.2.2005, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 17
Всего: 162



При старте приложения попробуй вызвать вот такую процедуру:
Код

procedure SetLangForParadoxAndDBase;
var
 p :TStringList;
 c :TConfigMode;
begin
 p := TStringList.Create;
 c := Session.ConfigMode;  Session.ConfigMode := cmSession;
 try
   p.Text := 'LANGDRIVER=ancyrr'^M^J'LEVEL=7';
   Session.ModifyDriver('PARADOX',p);
   p.Text := 'LANGDRIVER=db866ru0'^M^J'LEVEL=7';
   Session.ModifyDriver('DBASE',p);
 finally
   Session.ConfigMode := c;
   p.Free;
 end;
end;



--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Alex103
Дата 28.2.2005, 04:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(Vit @ 27.2.2005, 06:43)
Для начала попробовать поставить кодировки в BDE администраторе

А где это!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Alex103
Дата 28.2.2005, 04:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(Alex @ 27.2.2005, 10:56)
При старте приложения попробуй вызвать вот такую процедуру:
Код

procedure SetLangForParadoxAndDBase;
var
 p :TStringList;
 c :TConfigMode;
begin
 p := TStringList.Create;
 c := Session.ConfigMode;  Session.ConfigMode := cmSession;
 try
   p.Text := 'LANGDRIVER=ancyrr'^M^J'LEVEL=7';
   Session.ModifyDriver('PARADOX',p);
   p.Text := 'LANGDRIVER=db866ru0'^M^J'LEVEL=7';
   Session.ModifyDriver('DBASE',p);
 finally
   Session.ConfigMode := c;
   p.Free;
 end;
end;

Ничего не помогло я на сайт выкинул файл с частью кода базы данных можешь посмотреть можеть это чем нибудь поможет!!! http://doxod2007.narod.ru/BANK.DBF! Зпранне благодарю!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
ТоляМБА
Дата 28.2.2005, 06:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 3
Всего: 252



Если ничего не поможет - пиши кодировщик. Один раз перегонишь и всё.
PM   Вверх
Alex103
Дата 28.2.2005, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата
Если ничего не поможет - пиши кодировщик. Один раз перегонишь и всё.

Что за кодировщик?


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Bes
Дата 28.2.2005, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 2
Всего: 7



Ну можно стандартной функцией перегонять текст из досовской кодировки в виндовую и обратно.
Называется что-то типа ОЕМтоАнси и наоборот. Только там есть нюансы с ее использованием.
PM MAIL   Вверх
Alex
Дата 28.2.2005, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 17
Всего: 162



Цитата(Alex103 @ 28.2.2005, 04:56)
Ничего не помогло я на сайт выкинул файл с частью кода базы данных можешь посмотреть можеть это чем нибудь поможет!!!

Ну и какже это оно не работает. Лови пример:

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  Samples.rar


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Alex103
Дата 28.2.2005, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(Alex @ 28.2.2005, 09:37)
Цитата(Alex103 @ 28.2.2005, 04:56)
Ничего не помогло я на сайт выкинул файл с частью кода базы данных можешь посмотреть можеть это чем нибудь поможет!!!

Ну и какже это оно не работает. Лови пример:

Вот так и не работает я не могу откомпилировать данный файл потому что у меня нет тех компонентов которыми он делался!!!Помоги может у тя получиться откомпилить!!!!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
bursa
Дата 28.2.2005, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.2.2005
Где: Липецк

Репутация: 1
Всего: 1



Цитата (Vit @ 27.2.2005, 06:43)
Для начала попробовать поставить кодировки в BDE администраторе

Цитата (Alex103 @ 27.2.2005, 04:34)
А где это!


BDE Administrator-configuration-driver-native-dbase(foxpro)-dBASE RUS cp866


PM MAIL   Вверх
Alex
Дата 28.2.2005, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 17
Всего: 162



Цитата(Alex103 @ 28.2.2005, 15:52)
Помоги может у тя получиться откомпилить!!!!!

Каких компонентов у тебя нету?



--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Alex103
Дата 28.2.2005, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(Alex @ 28.2.2005, 18:20)
Цитата(Alex103 @ 28.2.2005, 15:52)
Помоги может у тя получиться откомпилить!!!!!

Каких компонентов у тебя нету?

Я уже все проверил, это даже не из-за компонентов я сам не знаю из-за чего это. Но факт что я не могу откомпилить прогу!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 28.2.2005, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 17
Всего: 162



Цитата(Alex103 @ 28.2.2005, 19:34)
Я уже все проверил, это даже не из-за компонентов я сам не знаю из-за чего это. Но факт что я не могу откомпилить прогу!!

Что пишет?


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Alex
Дата 28.2.2005, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 17
Всего: 162



Ну, если не выходит мой проект откомпилировать, то сделай свой
1. Открой новый проект;
2. Положи на форму DBGrid, DataSource и Table;
3. DBGrid свяжи с DataSource, а DataSource с Table;
4. Сохрани проект;
5. В папку, в которую ты сохранил проект, положи свой файл BANK.DBF;
6. В коде модуля напиши процедуру для настройки. Модуль у тебя после этого должен выглядеть так:
Код

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, DB, DBTables, Grids, DBGrids;

type
 TForm1 = class(TForm)
   DBGrid1: TDBGrid;
   DataSource1: TDataSource;
   Table1: TTable;
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure SetLangForParadoxAndDBase;
var
p :TStringList;
c :TConfigMode;
begin
p := TStringList.Create;
c := Session.ConfigMode;  Session.ConfigMode := cmSession;
try
  p.Text := 'LANGDRIVER=ancyrr'^M^J'LEVEL=7';
  Session.ModifyDriver('PARADOX',p);
  p.Text := 'LANGDRIVER=db866ru0'^M^J'LEVEL=7';
  Session.ModifyDriver('DBASE',p);
finally
  Session.ConfigMode := c;
  p.Free;
end;
end;

end.

7. Назначь форме обработчик OnCreate и напиши в него код для подключения к базе. Теперь модуль у тебя должен выглядеть так:
Код

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, DB, DBTables, Grids, DBGrids;

type
 TForm1 = class(TForm)
   DBGrid1: TDBGrid;
   DataSource1: TDataSource;
   Table1: TTable;
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
   
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure SetLangForParadoxAndDBase;
var
p :TStringList;
c :TConfigMode;
begin
p := TStringList.Create;
c := Session.ConfigMode;  Session.ConfigMode := cmSession;
try
  p.Text := 'LANGDRIVER=ancyrr'^M^J'LEVEL=7';
  Session.ModifyDriver('PARADOX',p);
  p.Text := 'LANGDRIVER=db866ru0'^M^J'LEVEL=7';
  Session.ModifyDriver('DBASE',p);
finally
  Session.ConfigMode := c;
  p.Free;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 SetLangForParadoxAndDBase;
 Table1.DatabaseName:= ExtractFilePath(ParamStr(0));
 Table1.TableName:= 'BANK.DBF';
 Table1.Open;
end;

end.


8. Все, запускай программу.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0608 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.