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

📄 bx.pas

📁 c/s系统。 delphi 6+access 运行前先配置数据环境:把db文件夹复制到c:下 要编译请安装第三方控件fastreport2.47 这是我的小小的毕业设计
💻 PAS
字号:
unit bx;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, DBTables, ScktComp, StdCtrls;

type
  Tbxb = class(TForm)
    ListBox1: TListBox;
    ServerSocket1: TServerSocket;
    Table1: TTable;
    DataSource2: TDataSource;
    DBGrid2: TDBGrid;
    Table2: TTable;
    GroupBox1: TGroupBox;
    Database1: TDatabase;
    Query1: TQuery;
    Query2: TQuery;
    Table3: TTable;
    procedure serversocket1clientread(Sender: TObject;
      Socket: TCustomWinSocket);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  bxb: Tbxb;

implementation

uses zjm, dy;

{$R *.dfm}
procedure tbxb.serversocket1clientread(sender:tobject;
socket:tcustomwinsocket);
//声名变量
var
 s2,s1,i:integer;
 s0,aRecord:string;
 adate:TstringList;
begin

 adate:=TstringList.Create;
 arecord:=Socket.ReceiveText;
 try
 //把报修内容存放到TEMP中
   adate.Text:=aRecord;
   Table1.Insert;
   for i:=0 to Table1.FieldCount-1 do
      Table1.Fields[i].asString:=adate.Values[Table1.Fields[i].FieldName];

      Table1.Post;
      //Table1.Active:=false;
       Table1.Active:=true;
      ListBox1.Items.Add('come from'+Socket.RemoteHost+'date have add into db.   no:'+inttostr(GetTickCount));
         Socket.SendText(inttostr(GetTickCount));
   //在打印报修表单中确定对应的工段
         with query1 do
  begin
    close;
    sql.Clear;
    sql.Add('select 工段');
    sql.add('from gd ');
    sql.Add('where 车辆号码=:a');
    query1.ParamByName('a').Asstring:=table1.fieldbyname('车辆号码').Asstring;
    query1.Open;
  end;
  //在打印报修表单中确定对应的班组
         with query2 do
  begin
    close;
    sql.Clear;
    sql.Add('select 班组');
    sql.add('from gd ');
    sql.Add('where 车辆号码=:a');
    query2.ParamByName('a').Asstring:=table1.fieldbyname('车辆号码').Asstring;
    query2.Open;

  end;

  s0:=timetostr(now);
  s1:=strtoint(copy(s0,1,2));
  s2:=strtoint(copy(s0,7,2));
  table3.Open;
  table3.Edit;
  if (s1=0)and (s2=0) then
  table3.fieldbyname('counter').asstring:=inttostr(0)
  else

  table3.fieldbyname('count').asstring:= table3.fieldbyname('count').value+1;

  table3.Post;
  table3.Close;



//在打印报修表中确定日修或夜修
if (s1>17)or(s1<8) then

         daybd.qrLabel20.Caption:='夜 NO:'

         else

         daybd.qrlabel20.Caption:='日 NO:';


         daybd.quickrep1.Preview;

       //把临时表TEMP的内容复制到BXB表
           table2.Insert;
           table2.fieldbyname('报修序号').Asstring:=table1.fieldbyname('报修序号').Asstring ;
           table2.fieldbyname('车辆号码').Asstring:=table1.fieldbyname('车辆号码').Asstring ;
           table2.fieldbyname('维修地点').Asstring:=table1.fieldbyname('维修地点').Asstring ;
           table2.fieldbyname('报修系统').Asstring:=table1.fieldbyname('报修系统').Asstring ;
           table2.fieldbyname('报修部件').Asstring:=table1.fieldbyname('报修部件').Asstring ;
           table2.fieldbyname('报修位置').Asstring:=table1.fieldbyname('报修位置').Asstring ;
           table2.fieldbyname('故障特征').Asstring:=table1.fieldbyname('故障特征').Asstring ;
           table2.fieldbyname('故障句').Asstring:=table1.fieldbyname('故障句').Asstring ;
           table2.fieldbyname('报修时间').Asstring:=table1.fieldbyname('报修时间').Asstring ;
           table2.Post;
           table1.delete;
      finally
        adate.Free;
     //清空ADATE中的内容
   end;
 end;
   


end.

⌨️ 快捷键说明

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