Показать сообщение отдельно
  #9  
Старый 16.10.2012, 11:34
Аватар для BRESKON
BRESKON BRESKON вне форума
Прохожий
 
Регистрация: 12.10.2012
Адрес: г.Саратов
Сообщения: 13
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Под словом "вручную" я это и имел ввиду. Т.е. не компонент автоматически будет расшифровывать, а тебе вручную нужно написать функцию расшифровки.
Для расшифровки удобно использовать событие AfterScroll (и TDBEdit тут не нужен). Примерно так:
Код:
procedure TForm1.Table1AfterScroll(DataSet: TDataSet);
begin
  case Table1.FieldByName('Имя поля').AsInteger of
    1: Edit1.Text := 'ДА';
    2: Edit1.Text := 'НЕТ';
    3: Edit1.Text := 'НЕЗНАЮ';
  else
    Edit1.Text := '???';
  end;
end;
Вот что получилось (вернее сказать не получилось выдаёт Undeclared identifier: 'FieldByName'):

Код:
unit BuhPrint;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ExtCtrls, Grids, DBGrids, StdCtrls, DBCtrls, Mask, DB,
  ADODB;

type
  TPrintPD = class(TForm)
    Panel1: TPanel;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    Panel2: TPanel;
    Panel3: TPanel;
    DBPD: TDBGrid;
    DBEdit1: TDBEdit;
    DBCheckBox1: TDBCheckBox;
    DBComboBox1: TDBComboBox;
    Label1: TLabel;
    Label2: TLabel;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    Edit1: TEdit;
    procedure N1Click(Sender: TObject);
    procedure TDBGridAfterScroll(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  PrintPD: TPrintPD;

implementation

uses DM;

{$R *.dfm}

procedure TPrintPD.N1Click(Sender: TObject);
begin
close;
end;

procedure TPrintPD.TDBGridAfterScroll(DataSet: TDataSet);
begin
  case TDBGrid.FieldByName('ПлатДок').AsInteger of

    1: Edit1.Text := 'ДА';
    2: Edit1.Text := 'НЕТ';
    3: Edit1.Text := 'НЕЗНАЮ';
  else
    Edit1.Text := '???';
  end;
end;

end.
Ответить с цитированием