
16.10.2012, 11:34
|
 |
Прохожий
|
|
Регистрация: 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.
|