我想了解一下Formula one (Delphi 的ActiveX控件名为:F1Book)关于做报表的情况:哪里有中文版的,如何用它进行数据库报表开发?

解决方案 »

  1.   

    我也想知道怎么用的,比如怎么保存导入的文件?
    如果有比较详细的API说明更好,谢谢。
    我用的是VC
      

  2.   

    我搜集的资料,不知道是否对大家有用,现在共享(pdf格式拷贝的文字,汉字不清楚,需要的话发短信吧):
      1
    F1book Q tidestoneZ ` e g i ocx n p 也s v Q Formula One也  | e . 5 < J
    Excel也。P for ActiveX Q 6.0 S 
    1.[ a d f1book o e q i   z 0 8 A L 5 Q [ _ l n q &L 5 Q [ v x   
    Var   CellFmt: F1CellFormat; 
    begin 
       CellFmt :=Formulabook1.CreateNewCellFormat; 
       Cellfmt.NumberFormat[1]:='#,###.##;(#,###.##);0;"Error: Entry must 
    be numeric"';//'#,###';Formulabook1.SetCellFormat(CellFmt); 
    end; 
     
    2.[ a + } F1book e 2 8 
    F1Book.FilePrintPreview;
    Or
    FormulaBook1.FilePrintEx(False,False);
    B E + } 也J O e ` _ e k 否e r u z }   + }   否- 
    3.5 ; 2 8
    F1book1.ClearRange(-1,-1,0,0,3);
    a.}   D O 5 ; T Z \
    F1book1.ClearRange(-1,-1,0,0,0);
    b.5 ; f k
    F1book1.ClearRange(-1,-1,0,0,1);
    c.5 ; z m
    F1book1.ClearRange(-1,-1,0,0,2);
    d.5 ; p
    F1book1.ClearRange(-1,-1,0,0,3);
    4.cell[ a v [   |   
    v [ 2 8 E 0 4 = F m v [ 也K z m ~ P V [ 也c h j mQo 
    j m w 8 v [ e   | Q x z z m
    F1book1.textrc[j,2]:=qry1.fieldbyname('name').AsString;
    j m w 8 v [ e   | Q _ x z m
    F1book1.FormulaRC[i,2]:= qry1.fieldbyname('avg').AsInteger;
    5.Formula One   & + 0 4 WorkBook 9 ? D L T Z h  
    E h 0 : 
     F1Book1.Formula := 'Z m q   _ ' A * P e  cell 9 g i E J Z m 
     F1Book1.FormulaRC[nRow, nCol]:= '...' A q g w 8 e  cell O g i Z m 
     F1Book1.DefinedName[namestring]:='...' A q g i 命v 9 p  
    o [ : 
      with f1book1 do 
      begin 
        EntryRC[1,1]:='2'; //A1=2 
        EntryRC[2,1]:='4'; //A2=4 
        EntryRC[3,1]:='A1+A2='; 
        FormulaRC[4,1]:='A1+A2'; //A4=A1+A2 
        EntryRC[1,2]:='named "Num1"'; 
        EntryRC[2,2]:='named "Num2"'; 
        EntryRC[3,2]:='N1+N2='; 
        DefinedName['Num1']:='$A$1'; //A1 了命A Num1 
        DefinedName['Num2']:='$A$2'; //A2 了命A Num2 
        FormulaRC[4,2]:='Num1+Num2'; //A4=Num1+Num2 
        EntryRC[5,1]:='Function Num12=Num1+SQRT(Num2)'; 
        DefinedName['Num12']:='$A$1+sqrt(Num2)'; //Z m Num12 
        FormulaRC[6,1]:='Num12'; //A6=Z m Num12 
      end; 
     
    6.  | U e ] a 黃 
    ] a   | U0
    ODBCConnect; ] a
    ODBCQuery; i D
    ODBCDisconnect; m u
    j me g i x m:
    procedure TForm1.btnConnectClick(Sender: TObject);
    var
    Connstr : widestring;
    RetCode : smallint;
    begin
    ConnStr := 'DSN=F1ODBCDemo;DBQ=' + ExtractFilePath(Application.ExeName)
    + '\db2.mdb;DriverId=25;FIL=MS';
    try
    fbook1.ODBCConnect(ConnStr,True,RetCode);
    except
    Showmessage('Connect DataBase failed!');
    end;
    end;
    procedure TForm1.btnDisconnClick(Sender: TObject);
    begin
    fbook1.ODBCDisconnect;
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var
    strSQL : widestring;
    begin
    fbook1.Sheet := 1;
    strSQL := 'Select * from Employee_Table';
    QueryTable(strSQL);
    end;
    procedure TForm1.QueryTable(strSQL: widestring);
    var
    bForceShowDlg, bSetColNames,bSetColFormats, bSetColWidths,bSetMaxRC :
    wordbool;
    RetCode : smallint;
    begin
    bForceShowDlg := False;
    bSetColNames := True;
    bSetColFormats := True;
    bSetColWidths := True;
    bSetMaxRC := True;
    screen.Cursor := crHourGlass;
    try
    fbook1.ODBCQuery(strSQL,1,1,bForceShowDlg,bSetColNames,bSetColFormats,
    bSetColWidths,bSetMaxRC,RetCode);
    except
    ShowMessage(fbook1.ODBCErrorMsg);
    end;
    screen.Cursor := crDefault;
    end;
    d 了m e   &o TForm1.btnConnectClick(Sender: TObject)6 p o
    0 = ConnectionStringI Q :
    ConnStr := 'driver={SQL Server};server=YourServerName;UID=sa;PWD=;
    Database=YourDatabaseName';
    V E h ] a sql server ^ .