Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2014, 21:47   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Все чем могу в данной ситуации:
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils,db, dbf, FileUtil, Forms, Controls, Graphics, Dialogs,
  ComCtrls, ShellCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Dbf1: TDbf;
    ShellTreeView1: TShellTreeView;
    procedure ShellTreeView1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.ShellTreeView1Click(Sender: TObject);
var p:string; i:integer;
begin
 p:=ShellTreeView1.GetPathFromNode(ShellTreeView1.Selected);
 if ExtractFileExt(p)<>'.dbf' then exit;
 Dbf1.FilePath:=ExtractFilePath(p);
 Dbf1.TableName:=ExtractFileName(p);
 Dbf1.Active:=true;
 while not Dbf1.EOF do begin
   for i:=0 to dbf1.FieldCount-1 do begin
     if dbf1.Fields[i].DataType in [ftString] then begin
       dbf1.Edit;
       dbf1.Fields[i].AsString:=Utf8ToAnsi(ConsoleToUTF8(dbf1.Fields[i].AsString));
       dbf1.Post;
     end;
   end;
   dbf1.Next;
 end;
 Dbf1.Active:=false;
 ShowMessage('ok');
end;

end.
Аналогично можно сделать в Делфи компонентами ADO, если нет TDbf под рукой.
Вложения
Тип файла: rar qqq1.part1.rar (500.0 Кб, 10 просмотров)
Тип файла: rar qqq1.part2.rar (385.3 Кб, 10 просмотров)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.01.2014, 10:36   #12
VitProff
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 12
По умолчанию

Этот код меняет кодировку а мне ещё нужно чтоб данные с этой DBF записивались в другую пустую DBF.
VitProff вне форума Ответить с цитированием
Старый 29.01.2014, 10:41   #13
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ну и что? Писать не в эту же, а в другую таблицу. И не только перекодированные поля, а и все остальные
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
База данных LS Книга доходов и раскодов Character set win1251 is not defined bocha1980 Операционные системы общие вопросы 0 15.03.2012 07:20
Проблема с отображением кодировки в Базе Данных Lindemann66 C/C++ Базы данных 2 02.08.2011 15:54
Копирование данных DBF таблиц ИВэТэшка БД в Delphi 1 20.03.2009 21:06
Проблема кодировки DBF из foxpro djinni БД в Delphi 6 29.01.2008 14:36