亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unit_main.pas

?? DELPHI中的快速報表控件
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
unit Unit_Main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls, ExtCtrls, Grids, DBGrids, DBGridPrn, Db, DBTables,
  Menus, Buttons, clipbrd, DBGridColor, ImgList, ShapeEx,
  ScrollCustomControl, BitBtnGrid, DBCtrls;

CONST   CN_MYTEXTUNDO = WM_APP + 2111;
        BufferCount = 32;
type
  TFormMain = class(TForm)
    Query1: TQuery;
    DataSource1: TDataSource;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    Panel1: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
    Splitter2: TSplitter;
    ImageList1: TImageList;
    Table1: TTable;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    PopupMenu2: TPopupMenu;
    Open1: TMenuItem;
    Close1: TMenuItem;
    N9: TMenuItem;
    New1: TMenuItem;
    Apply1: TMenuItem;
    ProgressBar1: TProgressBar;
    Rename1: TMenuItem;
    TreeView1: TTreeView;
    SaveAs1: TMenuItem;
    Delete1: TMenuItem;
    Refresh1: TMenuItem;
    DataSource2: TDataSource;
    DBGridPrn2: TDBGridPrn;
    Panel2: TPanel;
    Panel3: TPanel;
    BtnUp: TSpeedButton;
    BtnDown: TSpeedButton;
    BtnExec: TSpeedButton;
    Panel4: TPanel;
    RichEdit1: TRichEdit;
    Splitter1: TSplitter;
    Panel7: TPanel;
    BtnPrint: TSpeedButton;
    DBGridPrn1: TDBGridPrn;
    SpeedButton1: TSpeedButton;
    Table2: TTable;
    PopupMenu3: TPopupMenu;
    Filter1: TMenuItem;
    N10: TMenuItem;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    DBNavigator1: TDBNavigator;
    Cancerl1: TMenuItem;
    SpeedButton5: TSpeedButton;
    ShapeEx1: TShapeEx;
    procedure Button1Click(Sender: TObject);    
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure MenuItem2Click(Sender: TObject);
    procedure BtnDownClick(Sender: TObject);
    procedure BtnUpClick(Sender: TObject);
    procedure DBGridPrn1TitleClick(Column: TColumn);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure N8Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure PopupMenu1Popup(Sender: TObject);
    procedure TreeView1GetImageIndex(Sender: TObject; Node: TTreeNode);
    procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure TreeView1Expanding(Sender: TObject; Node: TTreeNode;
      var AllowExpansion: Boolean);
    procedure TreeView1CustomDrawItem(Sender: TCustomTreeView;
      Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
    procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Open1Click(Sender: TObject);
    procedure Close1Click(Sender: TObject);
    procedure ShapeEx1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure TreeView1Collapsing(Sender: TObject; Node: TTreeNode;
      var AllowCollapse: Boolean);
    procedure PopupMenu2Popup(Sender: TObject);
    procedure Rename1Click(Sender: TObject);
    procedure TreeView1Editing(Sender: TObject; Node: TTreeNode;
      var AllowEdit: Boolean);
    procedure BtnPrintClick(Sender: TObject);
    procedure TreeView1Changing(Sender: TObject; Node: TTreeNode;
      var AllowChange: Boolean);
    procedure TreeView1Edited(Sender: TObject; Node: TTreeNode;
      var S: String);
    procedure Apply1Click(Sender: TObject);
    procedure SaveAs1Click(Sender: TObject);
    procedure Delete1Click(Sender: TObject);
    procedure Refresh1Click(Sender: TObject);
    procedure Panel7Resize(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);
    procedure RichEdit1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure New1Click(Sender: TObject);
    procedure CNMYTEXTUNDO(var Message: TMessage); message CN_MYTEXTUNDO;
    procedure Filter1Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure PopupMenu3Popup(Sender: TObject);
    procedure TreeView1Expanded(Sender: TObject; Node: TTreeNode);
    procedure Cancerl1Click(Sender: TObject);
    procedure PageControl1Changing(Sender: TObject;
      var AllowChange: Boolean);
    procedure SpeedButton5Click(Sender: TObject);
    procedure ShapeEx1Changing(Sender: TObject; Cell: TCellUnitEx;
      var AllowChange: Boolean);
    procedure ShapeEx1EditingCell(Sender: TObject; Cell: TCellUnitEx;
      var AllowEditing: Boolean);
    procedure ShapeEx1DrawingCell(Sender: TObject; ACanvas: TCanvas;
      Cell: TCellUnitEx; ACellState: TCellStates; ARect: TRect;
      Text: String; var DefaultDraw: Boolean);
    procedure ShapeEx1EditedCell(Sender: TObject; Cell: TCellUnitEx;
      AType: TEditingCellType);
    procedure ShapeEx1BeforeShowBtn(Sender: TObject; Cell: TCellUnitEx;
      var AShowBtnType: TShowBtnType; ACaption: String; ABitmap: TBitmap);
//    procedure TreeView1DblClick(Sender: TObject);
//    procedure RadioButton1Click(Sender: TObject);
  private
    { Private declarations }
    HistorySql: array [0..BufferCount-1] of TStrings;
    CurrPos,FirstPos,NextPos : integer;
    CurrAliasNode,OldAliasNode:TTreeNode;
    TmpStrList : TStringList;
    BBStream : TMemoryStream;
    procedure AddSubStrings(Node:TTreeNode;StrList:TStrings);
    Function IsOnlyOne(Tar : String):Boolean;
    procedure SortChildren;
    Function GetAliasNode(Node:TTreeNode):TTreeNode;
  public
    { Public declarations }
  end;
  procedure FileCopy2(Sou,Tar:String);
var
  FormMain: TFormMain;

implementation

{$R *.DFM}

uses inifiles,shlobj,Commctrl,UnitMyDlg, UnitAbout, ShellApi, FileCtrl, MyDialogs,Unit_ComEditor;
var
//  Dx,Dy,DD : integer;
  TmpNode :TTreeNode;
  NodeText : String;

//SELECT SUBSTRING(A.QYBM,12,4) , A.QYJC , C.BMSM , B.N1 FROM DJSW A,BMJKSM B,DJNSRD C WHERE A.QYBM=C.QYBM AND C.BMSM=B.N2
//AND A.NSRLX='10' AND A.DJYZRQ>'2000/9/1'  order by A.QYBM

procedure TFormMain.Button1Click(Sender: TObject);
var
  i,Count:integer;
  AliasName : String;
//  TD :TDataBase;
begin
  Query1.Close;
{  if CurrAliasNode=nil then Exit;
  if CurrAliasNode.Text<>Query1.DatabaseName then
  begin
    TD := Session.FindDatabase(OldAliasNode.Text);
    if TD<>nil then TD.Close;
{    except
      ShowMessage('Can not Close DataBase '+OldAliasNode.Text);
      Exit;
    end;
    if CurrAliasNode.Data=Pointer(0) then Exit
      else Query1.DatabaseName := CurrAliasNode.Text;
    try
      Session.OpenDatabase(OldAliasNode.Text);
    except
      with OldAliasNode do
      if Integer(Data)=1 then
      begin
        Collapse(False);
        Item[0].DeleteChildren;
        Data := 0;
        Item[0].Data := 0;
      end;
    end;
  end;  }
  Query1.SQL.Clear;
  Query1.SQL.Assign(richedit1.Lines);
  Try
    Query1.Prepare;
    if StrComp(PChar(UpperCase(Copy(Trim(RichEdit1.Lines[0]),1,6))),PChar('SELECT')) = 0
      then Query1.Open else Query1.ExecSQL;
    if (RichEdit1.Modified) then
    begin
      RichEdit1.Modified:=False;
      if HistorySql[NextPos]=nil then
        HistorySql[NextPos]:=TStringList.Create;
      HistorySql[NextPos].Assign(RichEdit1.Lines);
      CurrPos := NextPos;
      NextPos:=(NextPos+1) mod BufferCount;
      if NextPos=FirstPos then FirstPos := (FirstPos+1) mod BufferCount;
      BtnUp.Enabled := CurrPos <> FirstPos;
    end;
//    For i:=0 to Query1.FieldCount-1 do if (Query1.Fields[i] is TCurrencyField) then (Query1.Fields[i] as TNumericField).DisplayFormat:=',0.00';
  except
    raise; //on E: Exception do ShowMessage(e.Message);
  end;
end;

procedure TFormMain.N1Click(Sender: TObject);
var
  FF : TextFile;
  i : integer;
begin
  SaveDialog1.FilterIndex:=1;
  SaveDialog1.DefaultExt:='SQL';
  if SaveDialog1.Execute then begin
  AssignFile(FF,SaveDialog1.FileName);
  Rewrite(FF);
  try
    with RichEdit1.Lines do
    For i:=0 to Count-1 do
      Writeln(ff,Strings[i]);
  finally
    CloseFile(ff);
  end;
  end;
end;

procedure TFormMain.N2Click(Sender: TObject);
begin
  OpenDialog1.FilterIndex:=1;
  OpenDialog1.DefaultExt:='SQL';
  if OpenDialog1.Execute then RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);
end;

procedure TFormMain.N3Click(Sender: TObject);
begin
  SaveDialog1.FilterIndex:=2;
  SaveDialog1.DefaultExt:='DBR';
  if SaveDialog1.Execute then
  begin
    DBGridPrn1.LoadFromStream(BBStream);
    DBGridPrn1.SaveToFile(SaveDialog1.FileName);
  end;
end;

procedure TFormMain.MenuItem2Click(Sender: TObject);
begin
  OpenDialog1.FilterIndex:=2;
  OpenDialog1.DefaultExt:='DBR';
  if OpenDialog1.Execute then
  begin
    DBGridPrn1.LoadFromFile(OpenDialog1.FileName);
    DBGridPrn1.SaveToStream(BBStream);
  end;
end;

procedure TFormMain.BtnDownClick(Sender: TObject);
begin
  if CurrPos<>NextPos then CurrPos := (CurrPos+1) mod BufferCount;
  BtnUp.Enabled := CurrPos <> FirstPos;
  if CurrPos = NextPos
    then begin
      RichEdit1.Lines.Clear;
    end
  else begin
    RichEdit1.Lines.Assign(HistorySql[CurrPos]);
  end;
end;

procedure TFormMain.BtnUpClick(Sender: TObject);
begin
//  if (CurrPos <> FirstPos) then
  begin
    CurrPos := (CurrPos+BufferCount-1) mod BufferCount;
    RichEdit1.Lines.Assign(HistorySql[CurrPos]);
  end;
  BtnUp.Enabled := (CurrPos <> FirstPos);
end;

procedure TFormMain.DBGridPrn1TitleClick(Column: TColumn);
var
  Str:String;
begin
  if (Column.Field is TCurrencyField) or (Column.Field is TDateTimeField)
  then begin
    Str:=InputBox('Style Editor','Please enter the style','');
    if (Column.Field is TCurrencyField) then (Column.Field as TNumericField).DisplayFormat:=Str
      else (Column.Field as TDateField).DisplayFormat:=Str;
  end;
end;

procedure TFormMain.FormCreate(Sender: TObject);
var
  I:integer;
  Reg : TIniFile;
  Str: String;
  DisName:PChar;
  IIL : PItemIDList;
  TmpNode : TTreeNode;
begin
  CurrPos := 0;
  FirstPos := 0;
  NextPos := 0;

  BBStream := TMemoryStream.Create;
  DBGridPrn1.SaveToStream(BBStream);
  For I:=0 to 31 do HistorySql[i]:=nil;
  Str:=ExtractFilePath(ParamStr(0))+'UsSearch0.ini';
// if not FileExists(Str) then FileCreate(Str);
  Reg:=TIniFile.Create(Str);
  Str:=Reg.ReadString('SaveDir','Dir1' , '');
  if Str='' then Str:=ExtractFilePath(ParamStr(0))+'StyleAndSQL';
  begin
    if not FileExists(Str+'\UsZSGLSearch317299.i2i') then
      if not CreateDir(Str) then
      begin
        FileClose(FileCreate(Str+'\UsZSGLSearch317299.i2i'));
        GetMem(DisName,MAX_PATH);
        ZeroMemory(DisName,MAX_PATH);
        SHGetSpecialFolderLocation(Handle,CSIDL_PERSONAL,iil);
        SHGetPathFromIDList(iil,DisName);
        Str:=DisName;
        FreeMem(DisName);
      end;
    Reg.WriteString('SaveDir','Dir1',Str);
  end;
  OpenDialog1.InitialDir:=Str;
  SaveDialog1.InitialDir:=Str;

 // LoadWindowSize
  WindowState := TWindowstate(Reg.ReadInteger('SavedSize','State',0));
  if WindowState = wsNormal then
  begin
    Left := Reg.ReadInteger('SavedSize','Left',50);
    Top := Reg.ReadInteger('SavedSize','Top',100);
    Width := Reg.ReadInteger('SavedSize','Width',600);
    Height := Reg.ReadInteger('SavedSize','Height',360);
  end;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久1区2区| 亚洲一区二区三区视频在线| 日韩一区二区在线观看视频播放| 欧美专区日韩专区| 91亚洲精华国产精华精华液| 成人美女视频在线观看18| 国产一区二区电影| 韩国在线一区二区| 国产精品中文字幕日韩精品| 国产美女精品人人做人人爽| 韩日欧美一区二区三区| 国产麻豆9l精品三级站| 国产99久久久精品| 99久久99久久精品国产片果冻| 菠萝蜜视频在线观看一区| 99re成人精品视频| 欧美日韩一区小说| 日韩一卡二卡三卡四卡| 久久在线免费观看| 国产欧美1区2区3区| 亚洲色图制服诱惑 | 久久综合色婷婷| 久久久久久久综合日本| 国产午夜亚洲精品理论片色戒| 久久精品视频一区二区| **欧美大码日韩| 亚洲成人免费视频| 免费久久99精品国产| 国产精品一区二区你懂的| 欧美成人激情免费网| 久久精品人人做| 一区二区三区在线观看动漫| 日韩国产精品久久久久久亚洲| 国模一区二区三区白浆| 99在线精品一区二区三区| 欧美天天综合网| 精品福利二区三区| 亚洲狠狠丁香婷婷综合久久久| 日本大胆欧美人术艺术动态| 国产剧情一区二区| 在线观看日韩高清av| 日韩一区二区精品在线观看| 国产精品天干天干在观线| 亚洲一级二级三级在线免费观看| 美女国产一区二区三区| 成人免费av网站| 欧美日韩国产色站一区二区三区| 久久久久久久久久久黄色| 亚洲主播在线观看| 国产精品2024| 欧美三级韩国三级日本三斤 | 亚洲一区视频在线| 狠狠狠色丁香婷婷综合激情| 色先锋资源久久综合| 欧美mv日韩mv国产网站| 亚洲精品老司机| 国产尤物一区二区在线 | 亚洲黄网站在线观看| 久久成人av少妇免费| 一本一道久久a久久精品| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 久久草av在线| 欧美伊人精品成人久久综合97 | 亚洲欧美日韩国产中文在线| 久久91精品久久久久久秒播| 91香蕉视频黄| 久久亚洲私人国产精品va媚药| 亚洲一区二区三区视频在线播放| 国产不卡一区视频| 日韩欧美的一区二区| 亚洲成人黄色影院| 一本大道av伊人久久综合| 国产婷婷一区二区| 久久精品国产免费看久久精品| 在线观看一区不卡| 国产精品家庭影院| 国产一区二区不卡在线| 51精品久久久久久久蜜臀| 亚洲在线视频免费观看| 99久久综合99久久综合网站| 国产亚洲精品aa午夜观看| 麻豆精品视频在线| 欧美高清dvd| 亚洲午夜精品网| 在线一区二区视频| 亚洲欧洲国产日韩| 国产成人免费9x9x人网站视频| 日韩欧美在线一区二区三区| 天天色 色综合| 欧美午夜精品久久久久久孕妇| 中文字幕在线一区| 福利一区在线观看| 国产午夜三级一区二区三| 久99久精品视频免费观看| 欧美一区二区日韩| 日韩国产在线一| 欧美老女人在线| 婷婷开心久久网| 欧美精品乱码久久久久久| 午夜精品在线看| 91精品在线免费| 日韩国产精品91| 91精品婷婷国产综合久久| 三级欧美在线一区| 欧美一区二区三区在线观看| 日韩精品高清不卡| 亚洲黄色小视频| 欧美又粗又大又爽| 亚洲午夜日本在线观看| 欧美日韩一区不卡| 日韩成人午夜精品| 欧美电视剧在线观看完整版| 极品少妇xxxx精品少妇偷拍| 精品国产91久久久久久久妲己| 国内外成人在线| 国产精品私人自拍| 一本到高清视频免费精品| 亚洲高清一区二区三区| 欧美一区二区在线不卡| 国产一区二区三区免费在线观看| 久久久久久久久久久久久女国产乱 | 久久精品国产色蜜蜜麻豆| 久久免费偷拍视频| 99r精品视频| 亚洲午夜精品网| 精品国内二区三区| 成人免费看黄yyy456| 亚洲乱码国产乱码精品精的特点 | 久久色成人在线| av在线不卡电影| 亚洲一区二区综合| 91精品国产综合久久精品app| 激情亚洲综合在线| 亚洲欧美自拍偷拍| 欧美日韩国产一二三| 国产在线国偷精品产拍免费yy| 国产精品伦理在线| 在线看国产一区二区| 蜜桃av噜噜一区二区三区小说| 久久久精品欧美丰满| 91亚洲国产成人精品一区二三| 日韩中文字幕一区二区三区| 久久新电视剧免费观看| 波多野洁衣一区| 丝袜国产日韩另类美女| 久久久久久**毛片大全| 欧美午夜精品久久久久久孕妇| 狠狠色丁香久久婷婷综合_中| 18涩涩午夜精品.www| 欧美精品粉嫩高潮一区二区| 国产91精品一区二区麻豆网站| 亚洲国产精品久久不卡毛片| 久久久.com| 欧美精品久久久久久久多人混战 | 欧美欧美欧美欧美首页| 国产成人av一区二区三区在线 | 亚洲午夜羞羞片| 国产日韩欧美精品一区| 欧美色综合网站| 丁香六月综合激情| 日韩中文字幕区一区有砖一区| 国产精品区一区二区三区| 宅男在线国产精品| 99精品偷自拍| 国产美女在线观看一区| 亚洲777理论| 国产精品电影一区二区三区| 日韩一区二区在线看片| 色琪琪一区二区三区亚洲区| 国产精品正在播放| 日本欧美韩国一区三区| 尤物在线观看一区| 国产农村妇女毛片精品久久麻豆 | 欧美日韩综合在线免费观看| 国产精品77777竹菊影视小说| 视频一区中文字幕国产| 一区二区三区四区蜜桃| 中文字幕中文字幕一区| 久久免费美女视频| 欧美一级免费大片| 欧美视频中文一区二区三区在线观看| 国产99一区视频免费| 韩国女主播成人在线观看| 日本成人中文字幕在线视频| 一区二区不卡在线视频 午夜欧美不卡在| 久久一区二区三区国产精品| 日韩一级黄色大片| 欧美另类高清zo欧美| 欧美体内she精高潮| 色香蕉成人二区免费| av不卡一区二区三区| 成人免费视频caoporn| 国产一区二区中文字幕| 麻豆成人久久精品二区三区红| 亚洲制服丝袜av| 亚洲午夜久久久| 亚洲成在线观看| 亚洲第一搞黄网站| 午夜精品久久久久久久99樱桃 | 99久精品国产|