⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newmanager.pas

📁 以可视的方式画IVR语音导航的流程,并把流程做为源文件保存起来
💻 PAS
字号:
unit newManager;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, SUIForm, Grids, DBGridEh, SUITabControl, SUIImagePanel,
  SUIGroupBox, DBGrids, ComCtrls, SUIButton, Db, ADODB, fcTreeView,
  fcdbtreeview;

type
  TMain_Frm = class(TForm)
    suiForm1: TsuiForm;
    suiGroupBox1: TsuiGroupBox;
    suiButton1: TsuiButton;
    ADOConnection1: TADOConnection;
    iType_Query: TADOQuery;
    Define_Query: TADOQuery;
    Property_Query: TADOQuery;
    Event_Query: TADOQuery;
    iContent_Query: TADOQuery;
    Var_Query: TADOQuery;
    suiButton2: TsuiButton;
    suiButton5: TsuiButton;
    suiButton6: TsuiButton;
    suiButton7: TsuiButton;
    suiButton8: TsuiButton;
    suiButton9: TsuiButton;
    iType_QueryCaption: TWideStringField;
    iType_QueryHints: TWideStringField;
    iType_QueryiType: TIntegerField;
    iContent_QueryCaption: TWideStringField;
    iContent_QueryHints: TWideStringField;
    iContent_QueryiType: TIntegerField;
    iContent_QueryiContent: TIntegerField;
    Event_QueryiType: TIntegerField;
    Event_QueryiContent: TIntegerField;
    Event_QueryiValue: TIntegerField;
    Event_QueryCaption: TWideStringField;
    Event_QueryHints: TWideStringField;
    Property_QueryiType: TIntegerField;
    Property_QueryiContent: TIntegerField;
    Property_QueryiValue: TIntegerField;
    Property_QueryPropertyType: TIntegerField;
    Property_QueryCaption: TWideStringField;
    Property_QueryMust: TBooleanField;
    Property_QueryAround: TBooleanField;
    Define_Queryid: TIntegerField;
    Define_Queryvcname: TWideStringField;
    Define_Queryitype: TIntegerField;
    Define_Queryvccomment: TWideStringField;
    Var_QueryID: TAutoIncField;
    Var_QuerycValue: TWideStringField;
    Define_DataSource: TDataSource;
    Property_DataSource: TDataSource;
    iType_DataSource: TDataSource;
    iContent_DataSource: TDataSource;
    Var_DataSource: TDataSource;
    Event_DataSource: TDataSource;
    iContent_QueryiTypename: TStringField;
    Event_QueryiTypeName: TStringField;
    Property_QueryiTypeName: TStringField;
    PageControl1: TPageControl;
    TabType: TTabSheet;
    iType_DBGridEh: TDBGridEh;
    TabContent: TTabSheet;
    iContent_DBGridEh: TDBGridEh;
    TabProperty: TTabSheet;
    Property_DBGridEh: TDBGridEh;
    TabEvent: TTabSheet;
    Event_DBGridEh: TDBGridEh;
    TabDefine: TTabSheet;
    Define_DBGridEh: TDBGridEh;
    TabVar: TTabSheet;
    Var_DBGridEh: TDBGridEh;
    procedure FormCreate(Sender: TObject);
    procedure iType_DBGridEhTitleBtnClick(Sender: TObject; ACol: Integer;
      Column: TColumnEh);
    procedure Property_QueryPropertyTypeGetText(Sender: TField;
      var Text: String; DisplayText: Boolean);
    procedure suiButton1Click(Sender: TObject);
    procedure suiButton2Click(Sender: TObject);
    procedure suiButton8Click(Sender: TObject);
    procedure suiButton9Click(Sender: TObject);
    procedure suiButton7Click(Sender: TObject);
    procedure suiButton6Click(Sender: TObject);
    procedure suiButton5Click(Sender: TObject);
    procedure iContent_DBGridEhDrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumnEh;
      State: TGridDrawState);
    procedure Property_DBGridEhDrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumnEh;
      State: TGridDrawState);
    procedure Event_DBGridEhDrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumnEh;
      State: TGridDrawState);

  private
    { Private declarations }
    procedure MyInit();
  public
    { Public declarations }
  end;

var
  Main_Frm: TMain_Frm;

implementation

{$R *.DFM}

procedure TMain_Frm.FormCreate(Sender: TObject);
begin

    ADOConnection1.ConnectionString := ' Provider=Microsoft.Jet.OLEDB.4.0;Data Source=  '+
    ExtractFilePath(Application.ExeName) + 'IVR.Dat;Persist Security Info=False;Jet OLEDB:Database Password=ivr';
    ADOConnection1.Open();
    iType_Query.Open();
    Define_Query.Open();
    Property_Query.Open();
    Event_Query.Open();
    iContent_Query.Open();
    Var_Query.Open();
    PageControl1.ActivePageIndex := 0;
    MyInit();
end;

procedure TMain_Frm.iType_DBGridEhTitleBtnClick(Sender: TObject;
  ACol: Integer; Column: TColumnEh);
var
   s1,s2:String;
begin

 if Column.Tag = 1 then
   begin
    s1 :=' ASC ';
    Column.Tag := 0;
    Column.Title.SortMarker := smUpEh;
   end
 else
   begin
    s1 :=' DESC ';
    Column.Tag :=1;
    Column.Title.SortMarker := smDownEh;
   end;

  if Column.Field.FieldKind = fkLookup then
     s2 := Column.Field.KeyFields
  else
     s2 := Column.FieldName ;

 ((Sender as TDBGridEh).DataSource.DataSet as TADOQuery).Sort := s2 + s1 ;

end;
procedure TMain_Frm.Property_QueryPropertyTypeGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin

if not Sender.IsNull then
 begin
  case Sender.Value of
      0 : Text := '数值型';
      1 : Text := '逻辑型';
      2 : Text := '字符型';
    end;
 end;   
end;

procedure TMain_Frm.suiButton1Click(Sender: TObject);
begin
  case PageControl1.ActivePageIndex of
   0: iType_Query.Append();
   1: Define_Query.Append();
   2: Property_Query.Append();
   3: Event_Query.Append();
   4: iContent_Query.Append();
   5: Var_Query.Append();
  end;
end;

procedure TMain_Frm.suiButton2Click(Sender: TObject);
begin
  case PageControl1.ActivePageIndex of
   0: iType_Query.Edit();
   1: Define_Query.Edit();
   2: Property_Query.Edit();
   3: Event_Query.Edit();
   4: iContent_Query.Edit();
   5: Var_Query.Edit();
  end;
end;

procedure TMain_Frm.suiButton8Click(Sender: TObject);
begin
 if Application.MessageBox('要删除此记录吗?','删除提示',1+32) <> 1 then
     exit ;

  case PageControl1.ActivePageIndex of
   0: iType_Query.Edit();
   1: Define_Query.Edit();
   2: Property_Query.Edit();
   3: Event_Query.Edit();
   4: iContent_Query.Edit();
   5: Var_Query.Edit();
  end;

end;

procedure TMain_Frm.suiButton9Click(Sender: TObject);
begin
  case PageControl1.ActivePageIndex of
   0: iType_Query.First();
   1: Define_Query.First();
   2: Property_Query.First();
   3: Event_Query.First();
   4: iContent_Query.First();
   5: Var_Query.First();
  end;

end;

procedure TMain_Frm.suiButton7Click(Sender: TObject);
begin
  case PageControl1.ActivePageIndex of
   0: iType_Query.Last();
   1: Define_Query.Last();
   2: Property_Query.Last();
   3: Event_Query.Last();
   4: iContent_Query.Last();
   5: Var_Query.Last();
  end;

end;

procedure TMain_Frm.suiButton6Click(Sender: TObject);
begin
  case PageControl1.ActivePageIndex of
   0: iType_Query.Prior();
   1: Define_Query.Prior();
   2: Property_Query.Prior();
   3: Event_Query.Prior();
   4: iContent_Query.Prior();
   5: Var_Query.Prior();
  end;

end;

procedure TMain_Frm.suiButton5Click(Sender: TObject);
begin
  case PageControl1.ActivePageIndex of
   0: iType_Query.Next();
   1: Define_Query.Next();
   2: Property_Query.Next();
   3: Event_Query.Next();
   4: iContent_Query.Next();
   5: Var_Query.Next();
  end;

end;

procedure TMain_Frm.iContent_DBGridEhDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
begin
 if (gdFocused in State) or (gdSelected in State) then
      begin
         (Sender as TDBGridEh).Canvas.Brush.Color := clNavy ;
         (Sender as TDBGridEh).Canvas.Font.Color := clYellow ;
      end
  else
      begin
        if iContent_Query.FieldByName('iType').AsInteger mod 2 = 0 then
           (Sender as TDBGridEh).Canvas.Brush.Color := $00FFD8B0  ;
       end;
     (Sender as TDBGridEh).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

procedure TMain_Frm.Property_DBGridEhDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
begin
 if (gdFocused in State) or (gdSelected in State) then
      begin
         (Sender as TDBGridEh).Canvas.Brush.Color := clNavy ;
         (Sender as TDBGridEh).Canvas.Font.Color := clYellow ;
      end
  else
      begin
         if Property_Query.FieldByName('iContent').AsInteger mod 2 = 0 then
             (Sender as TDBGridEh).Canvas.Brush.Color := $00FFD8B0  ;
      end;

     (Sender as TDBGridEh).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

procedure TMain_Frm.Event_DBGridEhDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
begin
 if (gdFocused in State) or (gdSelected in State) then
      begin
         (Sender as TDBGridEh).Canvas.Brush.Color := clNavy ;
         (Sender as TDBGridEh).Canvas.Font.Color := clYellow ;
      end
  else
      begin
         if Event_Query.FieldByName('iContent').AsInteger mod 2 = 0 then
          (Sender as TDBGridEh).Canvas.Brush.Color := $00FFD8B0 ;
      end;

  (Sender as TDBGridEh).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

procedure TMain_Frm.MyInit();
var
fcNode,fcNode2,fcNode3,fcNode4 : TfcTreeNode ;
iCaption,iNo : String ;
begin
 {
   while not iType_Query.Eof do
     begin
      iNo := IntToStr(iType_Query.FieldByName('iType').AsInteger);
      iCaption := iType_Query.FieldByName('Caption').AsString ;
      fcNode := fcTreeView.Items.AddChild(nil,iNo+' '+iCaption);
      fcNode.StringData := iNo ;
      iContent_Query.Close();
      iContent_Query.SQL.Clear();
      iContent_Query.SQL.Add('select * from iContent where itype='+fcNode.StringData + ' order by iContent ');
      iContent_Query.Open();
      while not iContent_Query.Eof do
       begin
         iNo := IntToStr(iContent_Query.FieldByName('iContent').AsInteger);
         iCaption := iContent_Query.FieldByName('Caption').AsString ;
         fcNode2 := fcTreeView.Items.AddChild(fcNode,iNo + ' '+iCaption);
         fcNode2.StringData := iNo ;
         fcNode3 := fcTreeView.Items.AddChild(fcNode2,'属性');
         fcNode3.StringData := '0';
         fcNode4 := fcTreeView.Items.AddChild(fcNode2,'事件');
         fcNode4.StringData := '1';
         iContent_Query.Next();
       end;
      iType_Query.Next();
     end;
  }
   { Define_Query.Open();
    Property_Query.Open();
    Event_Query.Open();

    Var_Query.Open();
   }
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -