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

📄 f1book1.pas

📁 特别方便的工具程序
💻 PAS
字号:
unit F1Book1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComObj, Menus, OleCtrls, Db, DBTables, StdCtrls, Spin, ComCtrls, ToolWin,
  ExtCtrls, ImgList, AxCtrls, VCF1;

type
  TBookForm = class(TForm)
    CoolBar1: TCoolBar;
    StatusBar1: TStatusBar;
    F1Book1: TF1Book;
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    New1: TMenuItem;
    Save1: TMenuItem;
    SaveAs1: TMenuItem;
    Print1: TMenuItem;
    Edit2: TMenuItem;
    Cut1: TMenuItem;
    Copy1: TMenuItem;
    Paste1: TMenuItem;
    N4: TMenuItem;
    Find1: TMenuItem;
    GoTo1: TMenuItem;
    View1: TMenuItem;
    V02: TMenuItem;
    V01: TMenuItem;
    Sheet1: TMenuItem;
    NewSheet1: TMenuItem;
    Help1: TMenuItem;
    About1: TMenuItem;
    ImageList1: TImageList;
    Openfile: TOpenDialog;
    ToolBar1: TToolBar;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    N3: TMenuItem;
    N5: TMenuItem;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    Comb1: TComboBox;
    Panel1: TPanel;
    ToolButton4: TToolButton;
    ToolBar2: TToolBar;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    ToolButton15: TToolButton;
    ToolButton16: TToolButton;
    ToolButton3: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    N6: TMenuItem;
    O1: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N7: TMenuItem;
    N13: TMenuItem;
    N2: TMenuItem;
    Goto2: TMenuItem;
    copyright1: TMenuItem;
    copydown1: TMenuItem;
    N15: TMenuItem;
    insert: TMenuItem;
    N1: TMenuItem;
    N14: TMenuItem;
    N16: TMenuItem;
    Table1: TTable;
    N17: TMenuItem;
    procedure N41Click(Sender: TObject);
    procedure N51Click(Sender: TObject);
    procedure F1Book1SelChange(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N23Click(Sender: TObject);
    procedure N33Click(Sender: TObject);
    procedure Comb1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure F1Book1DblClick(Sender: TObject; nRow, nCol: Integer);
    procedure ToolButton14Click(Sender: TObject);
    procedure V01Click(Sender: TObject);
    procedure V02Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure ToolButton15Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure ToolButton9Click(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    procedure ToolButton16Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure Cut1Click(Sender: TObject);
    procedure Copy1Click(Sender: TObject);
    procedure Paste1Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure copyright1Click(Sender: TObject);
    procedure insertClick(Sender: TObject);
    procedure Goto2Click(Sender: TObject);
    procedure O1Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure F1Book1Enter(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure F1Book1StartRecalc(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  BookForm: TBookForm;
  LP: Longint;

implementation

//uses SellP01;

{$R *.DFM}

procedure TBookForm.N41Click(Sender: TObject);
var
  Ret: Smallint;
  PC: WideString;
  pQuery: WideString;
  nRow, nCol: Integer;
  bForceShowDlg,
    pSetColNames,
    pSetColFormats,
    pSetColWidths,
    pSetMaxRC: WordBool;
  pRetCode: Smallint;
  FD, FN: string;
begin
  if not OpenFile.Execute then Exit;
  F1Book1.Refresh;
  FD := ExtractFileDir(OpenFile.filename);
  FN := ExtractFileName(OpenFile.filename);
  PC := 'DSN=Visual FoxPro Tables;SourceDb=' + FD;
//F1Book1.ODBCConnect(PC, False, Ret);
  F1Book1.ODBCConnect(PC, False, Ret);
  F1Book1.SetDefaultFont('宋体', 11);
//  F1Book1.FormatDefaultFontDlg;
//  F1Book1.FormatFontDlg;
//F1Book1.SetColWidthAuto(1,1,F1Book1.maxrow,F1Book1.maxcol,True);
//F1Book1.SetRowHeightAuto(1,1,F1Book1.maxrow,F1Book1.maxcol,True);

//showmessage(inttostr(F1Book1.RowHeight[1]));
  F1Book1.SetRowHeight(1, F1Book1.MaxRow, 300, False);
  bForceShowDlg := True;
  nRow := 1; nCol := 0001;
  pQuery := 'Select * From ' + FN;
  pSetColNames := True;
  pSetColFormats := True;
  pSetColWidths := True;
  pSetMaxRC := True;
  F1Book1.ODBCQuery(
    pQuery,
    nRow,
    nCol,
    bForceShowDlg,
    psetColNames,
    psetColFormats,
    psetColWidths,
    psetMaxRC,
    pRetCode);
end;

procedure TBookForm.N51Click(Sender: TObject);
begin
  F1Book1.FormatFontDlg;
end;

procedure TBookForm.F1Book1SelChange(Sender: TObject);
var X1, X2, Y1, Y2: Longint;
begin
  f1book1.GetSelection(0, X1, Y1, X2, Y2);
end;

procedure TBookForm.N13Click(Sender: TObject);
begin
  f1book1.PrintGridLines := False;
  f1Book1.FilePrint(True);
end;

procedure TBookForm.N23Click(Sender: TObject);
begin
  F1Book1.FormatBorderDlg;
end;

procedure TBookForm.N33Click(Sender: TObject);
begin
  F1Book1.SetPrintScale(200, False, 10, 10);
end;

procedure TBookForm.Comb1Click(Sender: TObject);
begin
  F1Book1.ViewScale := StrToInt(Comb1.Text);
end;

procedure TBookForm.FormActivate(Sender: TObject);
begin
  Comb1.ItemIndex := 5;
  F1book1.SetFocus;
end;

procedure TBookForm.F1Book1DblClick(Sender: TObject; nRow, nCol: Integer);
begin
  with f1book1 do
    showmessage(
      'H = ' + inttostr(RowHeight[1]) +
      'W = ' + inttostr(ColWidth[1]));
end;

procedure TBookForm.ToolButton14Click(Sender: TObject);
begin
  F1Book1.FormatBorderDlg;
//  F1Book1.SetBorder(2,1,1,1,1,2,3,4,4,4,4);
end;

procedure TBookForm.V01Click(Sender: TObject);
begin
  V01.Checked := not V01.Checked;
  F1Book1.ShowGridLines := V01.Checked;
end;

procedure TBookForm.V02Click(Sender: TObject);
begin
  V02.Checked := not V02.Checked;
  F1book1.ShowEditBar := V02.Checked;
end;

procedure TBookForm.N3Click(Sender: TObject);
begin
  F1Book1.FormatPatternDlg;
end;

{F1ModeNormal	Normal worksheet editing
F1ModeLine	Line drawing
F1ModeRectangle	Rectangle drawing
F1ModeOval	Oval drawing
F1ModeArc	Arc drawing
F1ModeChart	Chart drawing
F1ModeButton	Button drawing
F1ModePolygon	Polygon drawing
F1ModeCheckBox	Check box drawing
F1ModeDropDown	Drop down list box drawing }

procedure TBookForm.ToolButton15Click(Sender: TObject);
begin
  F1Book1.Mode := F1ModeLine;
end;

procedure TBookForm.ToolButton11Click(Sender: TObject);
begin
  F1Book1.Mode := F1ModeRectangle;
end;

procedure TBookForm.ToolButton10Click(Sender: TObject);
begin
  F1Book1.Mode := F1ModeOval;
end;

procedure TBookForm.ToolButton9Click(Sender: TObject);
begin
  F1Book1.Mode := F1ModeArc;
end;

procedure TBookForm.ToolButton12Click(Sender: TObject);
begin
  F1Book1.Mode := F1ModePolygon;
end;

procedure TBookForm.ToolButton16Click(Sender: TObject);
begin
  F1Book1.Mode := F1ModeChart;
end;

procedure TBookForm.ToolButton8Click(Sender: TObject);
begin
  F1Book1.Mode := F1ModeNormal;
end;

procedure TBookForm.N5Click(Sender: TObject);
begin
  F1Book1.LineStyleDlg;
end;

procedure TBookForm.N6Click(Sender: TObject);
begin
  F1Book1.FormatBorderDlg;
end;

procedure TBookForm.N12Click(Sender: TObject);
var i: word;
begin
  try
    i := F1Book1.ObjFirstID;
    repeat
      F1Book1.ObjAddSelection(I);
      I := F1Book1.ObjNextID(I);
    until False;
  except
  end;

end;

procedure TBookForm.Cut1Click(Sender: TObject);
begin
  F1Book1.EditCut;
end;

procedure TBookForm.Copy1Click(Sender: TObject);
begin
  F1Book1.EditCopy;
end;

procedure TBookForm.Paste1Click(Sender: TObject);
begin
  F1Book1.EditPaste;
end;

procedure TBookForm.N7Click(Sender: TObject);
begin
  F1Book1.EditDelete(F1ShiftHorizontal);
end;

procedure TBookForm.N2Click(Sender: TObject);
begin
  F1Book1.EditClear(F1ClearAll);
end;

procedure TBookForm.copyright1Click(Sender: TObject);
begin
  F1Book1.EditCopyRight;
end;

procedure TBookForm.insertClick(Sender: TObject);
begin
  F1Book1.EditInsert(F1ShiftHorizontal);
end;

procedure TBookForm.Goto2Click(Sender: TObject);
var S: string;
begin
  S := '';
  if InputQuery('定位于', '定位的范围', S) and (S > '') then
  try
    F1Book1.Selection := S;
    F1Book1.ShowActiveCell;
  except
    Application.MessageBox('非法的范围数据格式', '数据错误', 0);
    Exit;
  end;
end;

procedure TBookForm.O1Click(Sender: TObject);
begin
  exit;
  try
    N12.Enabled := True;
    F1Book1.ObjFirstID;
  except
    N12.Enabled := False;
  end;
end;

procedure TBookForm.N14Click(Sender: TObject);
begin
  Close;
end;

procedure TBookForm.F1Book1Enter(Sender: TObject);
begin
//  Showmessage(inttostr(F1Book1.LastCol));
end;

procedure TBookForm.N16Click(Sender: TObject);
begin
  Showmessage(F1Book1.text);
end;

procedure TBookForm.F1Book1StartRecalc(Sender: TObject);
var
  M, N, I, J: Word;
  S: string;
begin
  F1Book1.Sheet := 2;
  Table1.Open;
  with F1Book1 do begin
    M := LastRow;
    N := LastCol;
    S := inttostr(M) + ':' + inttostr(N);
//    Showmessage('Book Property: '+S);
    for I := 1 to M do
      for J := 1 to N do begin
        S := TextRC[I, J];
        if Pos('::', S) = 1 then begin
          Delete(S, 1, 2);
          if not Table1.FieldByName(S).isNull then
            TextRC[I, J] := Table1.FieldByName(S).Value;
        end; end;
  end;
  Table1.Close;
end;

end.

⌨️ 快捷键说明

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