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

📄 unit10.pas

📁 西门子与计算机通讯程序包括源代码 程序说明 可以进行时时数据采集记录
💻 PAS
字号:
unit Unit10;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, StdCtrls, DB, ADODB, Grids,
  DBGrids, FileCtrl;

type
  TForm10 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    DataSource1: TDataSource;
    ADOTable1: TADOTable;
    DBGrid1: TDBGrid;
    ADOConnection1: TADOConnection;
    Panel3: TPanel;
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Panel4: TPanel;
    Splitter1: TSplitter;
    Splitter2: TSplitter;
    FileListBox1: TFileListBox;
    procedure FormCreate(Sender: TObject);
    procedure FileListBox1Change(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  function GetFileSize1(aFileName:string):integer;
  function GetFileSize(const FileName: string):integer; 
  public
    { Public declarations }
  end;

var
  Form10: TForm10;

implementation

uses main;

{$R *.dfm}

procedure TForm10.FormCreate(Sender: TObject);

begin
filelistbox1.Directory:=ExtractFilePath(Application.Exename)+'data\';
filelistbox1.Update;
Label1.Caption:='大小:';

end;

procedure TForm10.FileListBox1Change(Sender: TObject);
var
sss:string;

begin
if  filelistbox1.ItemIndex>=0 then
begin
if ADOConnection1.Connected then
begin
    adotable1.Active:=false;
    ADOConnection1.Close;
end;
sss:=ExtractFilePath(Application.Exename)+'data\'+ filelistbox1.Items.Strings[filelistbox1.ItemIndex];

Label1.Caption:='文件大小 '+ formatfloat('#,##',GetFileSize1(sss));// inttostr(GetFileSize1(sss));

  databasenameview:='';
  databasenameview:= ExtractFilePath(Application.Exename)+'data\'+ filelistbox1.Items.Strings[filelistbox1.ItemIndex];
 //databasenameview:= ss;
    ADOConnection1.LoginPrompt:=false;
    ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+databasenameview+';Persist Security Info=False '  ;
    ADOConnection1.Open;
    if not   ADOConnection1.Connected then
        showmessage('数据库连接不成功,请重新启动程序新建一数据库');     { connection unsuccessful };
         Sleep(200);
   adotable1.Active:=true;
   adotable1.TableName:='type1';  


form10.Caption:= filelistbox1.Items.Strings[filelistbox1.ItemIndex];
end;
end;

procedure TForm10.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if ADOConnection1.Connected then
begin
    adotable1.Active:=false;
    ADOConnection1.Close;
end;
end;

procedure TForm10.Button1Click(Sender: TObject);
var
 j, I: Integer;
 pchar1:pchar;
begin

   for I := 0 to 21 do    // Iterate
 begin
  mixdata[i].Typ:=char(byte(0));
  mixdatatype[i*2]:=char(byte(0));
  mixdatatype[i*2+1]:=char(byte(0));
 end  ;

i:=0; j:=0;

      if  (filelistbox1.ItemIndex>=0) and (ADOConnection1.Connected) then
          begin
           datalogname:='(状态,日期';
                      with ADOTable1 do
                      begin
                        DisableControls;
                              try
                                First;
                                while not Eof do
                                begin

                                  databasetablearay[i]:='';
                                  databasetablearay[i]:=TrimRight (ADOTable1.Fields[0].AsString);

                                datalogname:=datalogname+ ','+TrimRight (ADOTable1.Fields[0].AsString);
                                  pchar1:= pchar(ADOTable1.Fields[1].AsString);
                                 mixdata[i].Typ:=(pchar1[0]);
                                  pchar1:=pchar(ADOTable1.Fields[2].AsString);
                                 mixdata[i].Size:=(pchar1[0]);
                                 mixdata[i].BstNr:=ADOTable1.Fields[3].asinteger;
                                 mixdata[i].Nr:=ADOTable1.Fields[4].asinteger;
                                   if mixdata[i].Size=('b') then
                                   begin
                                     mixdatatype[j]:=('b');
                                     j:=j+1;
                                   end else
                                   begin
                                     mixdatatype[j]:=('w');
                                     mixdatatype[j+1]:=('z');
                                     j:=j+2;
                                   end;
                                 i:=i+1;
                                 { Process each record here }
                                 Next;
                                end;
                              finally
                                EnableControls;
                              end;
                      end;
                datalogname:=datalogname+')';
           databasenamelog:= ExtractFilePath(Application.Exename)+'data\'+filelistbox1.Items.Strings[filelistbox1.ItemIndex];
           databaselogok:=true; // showmessage('创建成功!');
           mixdata[i].Typ:=char(byte(0));
           mixdatacount:= i;

          end
      else
          begin
           showmessage('请选择数据库');
          end;
end;





function TForm10.GetFileSize1(aFileName: string): integer;   //文件大小 fang.2002.12.23
var
  sr: TSearchRec;
begin
  if FindFirst(aFileName,faAnyFile,sr)=0 then
    Result:=sr.Size
  else
    Result:=0;
  FindClose(sr);
end;

function TForm10.GetFileSize(const FileName: string): integer;
var     
f : TFileStream;
begin
    f := TFileStream.Create(FileName,fmOpenRead or fmShareDenyNone);
    Result :=f.Size;
    F.Free;
end;
procedure TForm10.Button2Click(Sender: TObject);
begin
form10.Close;
end;

end.

⌨️ 快捷键说明

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