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

📄 unitcx.~pas

📁 信号机测试信号管理软件 其中含有文件上传及修改数据库数据的功能
💻 ~PAS
字号:
unit Unitcx;

interface

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

type
  TFormcx = class(TForm)
    Panel1: TPanel;
    Image1: TImage;
    Panel2: TPanel;
    Label1: TLabel;
    DateTimePicker1: TDateTimePicker;
    Label2: TLabel;
    DateTimePicker2: TDateTimePicker;
    Button1: TButton;
    DBGrid1: TDBGrid;
    Edit1: TEdit;
    Button2: TButton;
    Button4: TButton;
    Button5: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
   // procedure Button3Click(Sender: TObject);
  //  procedure formcreate(Sender:TObject);
    procedure DBGrid1TitleClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Formcx: TFormcx;
  SQL:string;
implementation
uses unitmodule,unitls;
{$R *.dfm}
Function GetRAM:Char;
var
  Ch : Char;
  S  : string;
begin
  for Ch := 'D' to 'Z' do
  begin
    s := Ch + ':\';
    if GetDriveType(PChar(s)) = DRIVE_REMOVABLE then
    Begin
      Result:=Ch;
      Break;
    End;
  end;
End;
{procedure TFormcx.formcreate(Sender:TObject);
var  s,lu,k,a,z:string;
    TFileName: string;
begin
    lu:='xazx.txt';
    if GetRAM<>''
    then
        Tfilename:=GetRAM+':\xazx.txt';
        if FileExists(TFileName) then
        begin
            FileStream := TFileStream.Create(TFileName, fmOpenRead);
            FileStream.Read(Filehead, SizeOf(Filehead));
            k:=filehead.code;
            with datamodule2.ADOQuery7 do
            begin
                close;
                SQL.Clear;
                SQL.Add('select * from 员工编号表 where 工号=:a');
                Parameters.ParamByName('a').Value:=Trim(k);
                open;
               // dbgrid2.Refresh;
                if  DataModule2.ADOQuery7.FieldByName('姓名').Value<>null then
                begin
                z:=DataModule2.ADOQuery7.FieldByName('姓名').Value;
                edit2.Text:=z;
                end
                else z:='员工编号有错误';
            end;
        end
        else showmessage('没有插入优盘');
end;  }
procedure TFormcx.Button1Click(Sender: TObject);
var
c,d:string;
begin
    c:=formatdatetime('yymmdd',DateTimePicker1.date); //formatdatetime这个功能函数直接就转化 源数据格式 为 string格式
    d:=formatdatetime('yymmdd',DateTimePicker2.date);
    edit1.Text:=c;
    with datamodule2.ADOQuery1 do
     begin
        close;
        SQL.Clear;
        SQL.Add('select * from 表1 where 发码时间>=:a and 发码时间<=:b');  //在SQL语句的使用中 发现模糊查询的%并不有效  原因还不知道  所以换了一个查询语句
        Parameters.ParamByName('a').Value:=Trim(c);
        Parameters.ParamByName('b').Value:=Trim(d);
        open;
        dbgrid1.datasource.dataset.close;
        dbgrid1.datasource.dataset.open;
        dbgrid1.datasource.dataset.disableControls;
        dbgrid1.datasource.dataset.close;
        dbgrid1.datasource.dataset.open;
        dbgrid1.datasource.dataset.enableControls;
        dbgrid1.Refresh;
     end;
end;

procedure TFormcx.Button2Click(Sender: TObject);
begin
    inherited;
    close();
end;

{procedure TFormcx.Button3Click(Sender: TObject);
var
    k,z,a:string;
    Found:integer;
    SearchRec: TSearchRec;
    filetofind:string;
begin
    inherited;
    if GetRAM='' then
    showmessage('请插入U盘')
    else
    begin
            if opendialog1.Execute then
            begin
                edit2.text:=opendialog1.FileName;
                Found := FindFirst(GetRAM + ':\*.txt',01, SearchRec);
                if Found =0 then
                begin
                    filename:=edit2.Text;
                    CreateFile(filename);
                    FileStream.Read(Filehead, SizeOf(Filehead));
                    k:=filehead.code;
                    filestream.Free;
                    with datamodule2.ADOQuery6 do
                    begin
                        close;
                        SQL.Clear;
                        SQL.Add('select * from 员工编号表 where 编号=:a');
                        Parameters.ParamByName('a').Value:=Trim(k);
                        open;
                        dbgrid2.Refresh;
                        if  DataModule2.ADOQuery6.FieldByName('姓名').Value<>null then
                            z:=DataModule2.ADOQuery6.FieldByName('姓名').Value
                            else z:='有错误';
                    end;
                end
                else showmessage('没有文件');
            end;
    end;
end;   }

procedure TFormcx.DBGrid1TitleClick(Column: TColumn);
var
STR:string;
begin
    SQL:='select * from 表1 order by ';
    STR:=SQL+column.FieldName;
    datamodule2.ADOQuery1.Close;
    datamodule2.ADOQuery1.SQL.Clear;
    datamodule2.ADOQuery1.SQL.Add(STR);
    datamodule2.ADOQuery1.Open;
    dbgrid1.Refresh;
end;

end.
//注:在DBGRIDcolumns[0]-[7]中,columns[0]竟然不能显示,当设置为[0]-[8]时可以正常显示,此时删除column[0],发现没有影响,还是可以正常显示。问题很奇怪。
//注;DBGRIDcolumns[0]-[7]已经是按次序依次输入,若不按次序输入则不能显示的column更多。
procedure TFormls.Button5Click(Sender: TObject);
var
    k:string;
    Found:integer;
    SearchRec: TSearchRec;
    filetofind:string;
begin
     //fileattrs:=fareadonly;
     Found := FindFirst(GetRAM + ':\*.txt',01, SearchRec);
     if Found =0 then
     begin
        filename:=edit5.Text;
        CreateFile(filename);
        FileStream.Read(Filehead, SizeOf(Filehead));
        k:=filehead.code;
        edit6.Text:=k;

     end
     else showmessage('没有文件')
end;

⌨️ 快捷键说明

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