亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unit20.pas

?? 停車廠管理系統 麻雀雖小 但是五臟齊全
?? PAS
字號:
unit Unit20;

interface

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

type
  Tkclc = class(TForm)
    Label9: TLabel;
    card: TEdit;
    Label10: TLabel;
    car: TEdit;
    Label11: TLabel;
    usetime: TEdit;
    Label12: TLabel;
    charge: TEdit;
    lingkai: TBitBtn;
    Label13: TLabel;
    DBGrid3: TDBGrid;
    adot_carstop: TADOTable;
    ds_carstop: TDataSource;
    adoq_car: TADOQuery;
    adot_card: TADOTable;
    adot_history: TADOTable;
    adoq_address: TADOQuery;
    adoq_recharge: TADOQuery;
    aqshoufe: TADOQuery;
    ADOQuery1: TADOQuery;
    procedure cardKeyPress(Sender: TObject; var Key: Char);
    procedure lingkaiClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormResize(Sender: TObject);
    procedure DBGrid3CellClick(Column: TColumn);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  kclc: Tkclc;
  FormOldWid:Integer;

implementation

uses Unit11,Unit_settime,Unit1,Unit10,Unit14,Unit13, Unit22;

{$R *.dfm}

procedure likai(entime,outime:tdatetime;var hour,min: integer );
var
   year,month,day,hour1,min1,sec,msec: word;
    usetime: tdatetime;
begin
   usetime:=outime-entime;
   decodedate(usetime,year,month,day);
   decodetime(usetime,hour1,min1,sec,msec);
   hour:=((year-1900)*365+month*30+day-25)*24+hour1;
   min:=min1;
end;   //用戶停車時間

function time(date:tdatetime):string ;
var
 h,m,s,ms: word;
 st:string;
begin
 decodetime(date,h,m,s,ms);
 st:=inttostr(h)+':'+inttostr(m);
 Result:=st;
end ;

procedure clearface();
begin
  with kclc do
  begin
  car.Clear;
  card.Clear;
  usetime.Clear ;
  charge.Clear;
  adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add('select * from stopcar_view');
  adoquery1.Open;
  end;
end;

function Round(s: real): real;
var
  r1,r2: real;
  s1,s2: string;
begin
  r1:=int(s);
  r2:=frac(s);
  s1:=copy(floattostr(r1),1,length(floattostr(r1)));
  if length(floattostr(r2))>=5 then
  begin
    if strtoint(copy((floattostr(r2)),5,1))>=5 then
      if strtoint(copy((floattostr(r2)),4,1))=9 then
        if strtoint(copy((floattostr(r2)),3,1))=9 then
        begin
          s1:=inttostr(strtoint(s1)+1);
          s2:='';
        end
        else
          S2:=inttostr(strtoint(copy((floattostr(r2)),3,1))+1)
      else if copy((floattostr(r2)),3,1)='0' then
        S2:='0'+inttostr(strtoint(copy(floattostr(r2),3,2))+1)
      else s2:=inttostr(strtoint(copy(floattostr(r2),3,2))+1)
    else s2:=copy(floattostr(r2),3,2);
  end
  else s2:=copy(floattostr(r2),3,2);
  result:=strtofloat(s1+'.'+s2);
end;

procedure time_charge(entime,outtime:tdatetime;card,car:string;var money: real);
var
  zday,zhour,zmin,fhour,fmin: integer;
  sofei,zhek,charge1:real;
  time1,time2: tdatetime;
  en: string;
begin
   with timecharge do
   begin
     aq_time.Close;
     aq_time.SQL.Clear;
     aq_time.SQL.Add('select dbo.fuca(time1) as time1,dbo.fuca(time2)as time2,charge from time order by time1');
     aq_time.Open;
     aq_time.First;
   end ;
   if timecharge.aq_time.IsEmpty then
     begin
     showmessage('請設置時間分段優惠');
     timecharge.Show;
     end
   else
   begin
     money:=0.0;
     likai(entime,outtime,zhour,zmin);  //得到停車時間
     zday:=zhour div 24;
     zhour:=zhour mod 24;
     with kclc.aqshoufe do
       begin
       Close;
       SQL.Clear;
       sql.Add('select * from likai_view where cardid=:cardid and carid=:carid') ;
       Parameters.ParamByName('cardid').Value:=card;
       parameters.ParamByName('carid').Value:=car;
       open;
       sofei:=fieldbyname('shoufe').Value;
       zhek:=fieldbyname('zhek').Value;
       end ;
    en:=time(outtime);
    outtime:=strtotime(en);
    en:=time(entime);
    entime:=strtotime(en) ;

    if outtime>entime then
      begin
            while not timecharge.aq_time.Eof do
              begin
              time1:=strtotime(timecharge.aq_time.FieldValues['time1']);
              time2:=strtotime(timecharge.aq_time.FieldValues['time2']);
              charge1:=timecharge.aq_time.FieldValues['charge'];
              if (entime>time1) and (entime<time2) and (entime<outtime)then
                if outtime<=time2 then
                  likai(entime,outtime,fhour,fmin)
                else
                  begin
                  likai(entime,time2,fhour,fmin);
                  entime:=time2;
                  end ;
              money:=money+charge1*sofei*zhek*(fhour*60+fmin);
              likai(time1,time2,fhour,fmin);
              money:=money+zday*charge1*sofei*zhek*(fhour*60+fmin);
              timecharge.aq_time.Next;
              end;
       end
    else if outtime<entime then
      begin
            while not timecharge.aq_time.Eof do
              begin
              time1:=strtotime(timecharge.aq_time.FieldValues['time1']);
              time2:=strtotime(timecharge.aq_time.FieldValues['time2']);
              charge1:=timecharge.aq_time.FieldValues['charge'];
              likai(time1,time2,fhour,fmin);
              money:=money+1*charge1*sofei*zhek*(fhour*60+fmin);
              timecharge.aq_time.Next;
              end;// 求出24小時的收費
              timecharge.aq_time.First;
              while not timecharge.aq_time.Eof do
              begin
              time1:=strtotime(timecharge.aq_time.FieldValues['time1']);
              time2:=strtotime(timecharge.aq_time.FieldValues['time2']);
              charge1:=timecharge.aq_time.FieldValues['charge'];
              if (outtime>time1) and (outtime<time2) and (outtime<entime)then
                if entime<=time2 then
                  begin
                  likai(outtime,entime,fhour,fmin);
                  outtime:=time2;
                  end
                else
                  begin
                  likai(outtime,time2,fhour,fmin);
                  outtime:=time2;
                  end ;
              money:=money-charge1*sofei*zhek*(fhour*60+fmin); //當entime>outtime時,收費為0:00到outtime收費
              likai(time1,time2,fhour,fmin);                    //entime到23:59收費之和
              money:=money+zday*charge1*sofei*zhek*(fhour*60+fmin); //用24小時收費減去outtime,entime之間的收費
              timecharge.aq_time.Next;                          //就可以得到結果
              end;
      end
    else if (outtime=entime) then
      begin
            while not timecharge.aq_time.Eof do
              begin
              time1:=strtotime(timecharge.aq_time.FieldValues['time1']);
              time2:=strtotime(timecharge.aq_time.FieldValues['time2']);
              charge1:=timecharge.aq_time.FieldValues['charge'];
              likai(time1,time2,fhour,fmin);
              money:=money+zday*charge1*sofei*zhek*(fhour*60+fmin);
              timecharge.aq_time.Next;
              end
      end;
  end;
end;

function checkstopcar(card1,car1:String):boolean;
var
  entime:tdatetime;
  hour,min:integer;
  usemoney:real;
begin
with kclc do
begin
    checkstopcar:=false;
    if (trim(car1)='') then
       begin
         showmessage('車牌號不能為空');
         car.SetFocus;
       end
    else if (trim(card1)='') then
      begin
         showmessage('停車卡號不能為空');
         card.SetFocus;
      end
    else
        begin
        adot_carstop.Open;
        if not adot_carstop.Locate('cardid',trim(card1),[locaseInsensitive]) then
          begin
          showmessage('請注意??!此停車卡沒有在本場停車!') ;
          card.Clear;
          card.SetFocus;
          end
        else
          begin
          if trim(car1)<>trim(adot_carstop.FieldByName('carid').Value) then
            begin
            showmessage('請注意!!車牌號有問題');
            car.Clear;
            car.SetFocus;
            end
          else
            begin
            with aqshoufe do
              begin
              Close;
              SQL.Clear;
              sql.Add('select * from likai_view where cardid=:cardid and carid=:carid') ;
              Parameters.ParamByName('cardid').Value:=trim(card1);
              parameters.ParamByName('carid').Value:=trim(car1);
              open;
              end ;
            entime:=kclc.aqshoufe.FieldByName('entime').Value;
            likai(entime,now,hour,min);  //得到用戶的停車時間
            if min<9 then
            usetime.Text:=inttostr(hour)+':0'+inttostr(min)+'小時'
            else
            usetime.Text:=inttostr(hour)+':'+inttostr(min)+'小時'; //顯示時間
            form14.adt_set.First;
            if strtoint(trim(form14.adt_set.FieldByName('ltime').Value))>hour*60+min then
            usemoney:=0.0
            else
            time_charge(entime,now,trim(card1),trim(car1),usemoney);
            usemoney:=round(usemoney);
            charge.Text:=floattostr(usemoney); //顯示收費的余額;
            checkstopcar:=true; //返回值說明車牌和卡號正確
            end;
          end;
        end;
    end;
end;


procedure Tkclc.cardKeyPress(Sender: TObject; var Key: Char);
begin
    if not(key in['0'..'9','a'..'z',#008]) then
    begin
      key:=#0;
     end
    else
    begin
      adoquery1.Close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Add('select * from stopcar_view where cardid like :cardid');
      adoquery1.Parameters.ParamByName('cardid').Value:=trim(card.Text)+'%';
      adoquery1.Open;
    end;
end;

procedure Tkclc.lingkaiClick(Sender: TObject);
var
  carid,cardid,addressid,opname,stoptime,ts: string;
  entime:tdatetime;
begin
  if checkstopcar(card.Text,car.Text)then
  begin
  if  messagedlg('您確定要開車離場嗎?',mtconfirmation,[mbno,mbok],0)=mrok  then
  begin
  with adot_carstop do
  begin
  open;
  adot_carstop.Locate('carid;cardid',vararrayof([car.Text,card.Text]),[locaseInsensitive]);
  carid:=fieldbyname('carid').Value;
  cardid:=fieldbyname('cardid').value;
  addressid:=fieldbyname('addressid').Value;
  opname:=fieldbyname('opname').Value ;
  entime:=fieldbyname('entime').Value; //得到停車表中的相關停車信息
  stoptime:=usetime.Text
  end;
  with adot_card  do
  begin
    close;
    adot_card.Filter:='';
    adot_card.Filtered:=false;
    open;
    end;
    adot_card.locate('cardid',cardid,[locaseInsensitive]);
    if adot_card.FieldByName('storemoney').Value>strtofloat(charge.Text) then
    begin
        with adot_history do
  begin
   open;
   edit;
   appendrecord([carid,cardid,addressid,entime,now,stoptime,strtofloat(charge.text),opname]);
   //*****************把停車表的該車記錄轉到歷史記錄表中
  end;
  adot_carstop.Edit;
  adot_carstop.Delete;
  adot_carstop.Open;
  //******************刪除停車表中該車的記錄
  adoq_address.Close;
  adoq_address.SQL.Clear;
  adoq_address.SQL.Add('update caradd set addresscase=0 where addressid=:addressid');
  adoq_address.Parameters.ParamByName('addressid').Value:=addressid;
  adoq_address.ExecSQL;
  //****************修改車位表的該車位為沒有使用
  with adoq_car do
  begin
   close;
   sql.Clear;
   sql.Add('delete from car where carid=:carid');
   adoq_car.Parameters.ParamByName('carid').Value:=carid;
   adoq_car.ExecSQL;
   //************************刪除該車的信息
  end;
      adot_card.Open;
      adot_card.Locate('cardid',cardid,[locaseInsensitive]) ;
      if trim(adot_card.FieldByName('customerclass').Value)='臨時用戶' then
        begin
           adoq_recharge.Close;
           adoq_recharge.SQL.Clear;
           adoq_recharge.SQL.Add('insert into recharge(cardid,money,chargetime,statues,opname) values(:cardid,:money,:chargetime,0,:opname)');
           adoq_recharge.Parameters.ParamByName('cardid').Value:=trim(adot_card.FieldByName('cardid').Value);
           adoq_recharge.Parameters.ParamByName('money').Value:=adot_card.fieldbyname('storemoney').Value-strtofloat(charge.Text);
           adoq_recharge.Parameters.ParamByName('chargetime').Value:=now;
           adoq_recharge.Parameters.ParamByName('opname').Value:=trim(entry.username.Text);
           adoq_recharge.ExecSQL;   //把退還余額記錄起來供查詢
           ts:='臨時停車用戶'+#10+'請退還余額:'+floattostr(adot_card.fieldbyname('storemoney').Value-strtofloat(charge.Text))+'元';
           showmessage(ts);
           adot_card.Edit;
           adot_card.Delete;
        end //臨時卡開車出去時刪除停車卡
      else
        begin
        adot_card.edit;
        adot_card.FieldByName('storemoney').Value:=adot_card.FieldByName('storemoney').Value-strtofloat(charge.text);
        adot_card.post;
        end;
  //*************************非臨時卡從停車卡預存金額中減去停車費
  if strtofloat(trim(charge.Text))>0 then
  begin   //只有在收費時才打印收據,免費停車不打印收據
  printcarout.qrlabel8.Caption:=usetime.Text;   //設置打印數據
  printcarout.qrlabel7.Caption:=charge.Text;   //設置打印數據
  printcarout.QRLabel14.Caption:=trim(user);
  printcarout.QuickRep1.Print;
  end;
  clearface();
  end
  else
    begin
    messagebox(handle,'您的余額不足,請充值后開車離場','系統提示',mb_ok+mb_iconinformation);
    tckwh.Show;
    end;
 end
end;
end;


procedure Tkclc.FormShow(Sender: TObject);
begin
  FormOldWid:=self.Width;
end;

procedure Tkclc.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  adot_carstop.Close;
  adot_history.Close;
  adot_card.Close;
kclc:=nil;
Action:=caFree;
end;

procedure Tkclc.FormResize(Sender: TObject);
begin
    if FormOldWid>0 then
    begin
     ScaleBy(self.Width,FormOldWid);
     FormOldWid:=self.Width;
    end ;
end;

procedure Tkclc.DBGrid3CellClick(Column: TColumn);
begin
  if   not (adoquery1.FieldByName('cardid').Value=null) then
  begin
  card.Text:=trim(adoquery1.FieldByName('cardid').Value);
  car.Text:=trim(adoquery1.FieldByName('carid').Value);
  checkstopcar(card.Text,car.Text);
  end;
end;

procedure Tkclc.FormActivate(Sender: TObject);
begin
  adot_carstop.Open;
  adot_history.Open;
  adot_card.Open;
  clearface();
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av资源下载| av电影一区二区| 国产精品日韩成人| 欧美日韩国产美女| 国产不卡免费视频| 捆绑调教一区二区三区| 亚洲一区免费在线观看| 国产精品丝袜一区| 精品国产凹凸成av人导航| 欧美亚洲动漫另类| 99久久精品免费| 国产一区二区三区免费| 日韩黄色小视频| 亚洲午夜私人影院| 中文字幕一区二区在线观看| 久久中文娱乐网| 日韩午夜中文字幕| 337p亚洲精品色噜噜狠狠| 色一情一乱一乱一91av| www.色精品| 国产精品白丝jk白祙喷水网站| 免费在线看成人av| 视频在线观看一区| 亚洲国产成人高清精品| 亚洲欧美偷拍三级| 中文字幕亚洲区| 国产精品久久久久久久久免费丝袜| 国产亚洲欧洲997久久综合| 精品国产sm最大网站免费看| 欧美成人国产一区二区| 67194成人在线观看| 69精品人人人人| 日韩三级免费观看| 欧美一区二区三区日韩视频| 91麻豆精品国产自产在线| 欧美高清视频不卡网| 69久久夜色精品国产69蝌蚪网| 91精品国产综合久久香蕉麻豆 | 亚洲午夜影视影院在线观看| 亚洲特黄一级片| 亚洲免费观看高清完整版在线观看 | 欧美三级日韩三级| 欧美三级三级三级爽爽爽| 欧洲色大大久久| 欧美日本高清视频在线观看| 欧美男男青年gay1069videost | 麻豆精品视频在线观看免费| 免费精品99久久国产综合精品| 亚洲成人午夜电影| 青青草成人在线观看| 久久国产欧美日韩精品| 国产高清久久久久| 97久久精品人人爽人人爽蜜臀| 91日韩一区二区三区| 欧美日韩国产综合视频在线观看| 日韩一区二区视频| 国产肉丝袜一区二区| 亚洲欧美怡红院| 亚洲一区二区三区四区在线免费观看 | 国产亚洲精品aa午夜观看| 国产精品美女久久福利网站| 亚洲在线视频免费观看| 日本中文在线一区| 欧美一区中文字幕| 国产精品美女久久久久久久网站| 欧美美女视频在线观看| 欧美一区二区久久| 亚洲国产电影在线观看| 一区二区三区四区在线免费观看| 日韩福利视频网| 国产成人激情av| 日本精品免费观看高清观看| 欧美精品乱人伦久久久久久| 久久久综合视频| 亚洲自拍偷拍麻豆| 国产精品自在在线| 在线视频一区二区三区| 日韩亚洲电影在线| 亚洲日本丝袜连裤袜办公室| 日韩电影在线观看电影| a美女胸又www黄视频久久| 欧美日韩精品一区二区三区四区 | 久久久国产午夜精品| 一级做a爱片久久| 激情综合色播五月| 色94色欧美sute亚洲线路二| 亚洲成人免费视频| 中文字幕视频一区| 精品久久久久久亚洲综合网| 中文字幕日韩一区二区| 蜜桃精品视频在线观看| 99综合电影在线视频| 日韩欧美一二三| 亚洲精品成人在线| 国产综合色在线视频区| 欧美日韩一区三区四区| 国产精品美女一区二区| 久久成人综合网| 欧美性猛交一区二区三区精品| 久久这里都是精品| 天堂一区二区在线| 色香蕉久久蜜桃| 国产日产欧美一区二区三区| 日韩av在线免费观看不卡| 色久优优欧美色久优优| 亚洲国产精品黑人久久久| 青青草国产成人av片免费| 欧美天堂亚洲电影院在线播放| 日本一区二区三区高清不卡| 美女在线一区二区| 欧美日韩国产成人在线免费| 日韩美女视频一区二区| 国产大陆a不卡| 欧美哺乳videos| 欧美日韩亚洲国产综合| 日韩一区二区三区视频在线观看| 国产裸体歌舞团一区二区| 欧美日韩一区二区三区不卡| 亚洲欧美日韩中文播放| 成人一区在线观看| 国产亚洲制服色| 国产一区在线视频| 精品国产乱码久久久久久闺蜜| 免费一级片91| 日韩手机在线导航| 久久激情五月婷婷| 精品欧美乱码久久久久久| 久久精品国产77777蜜臀| 欧美一卡二卡在线| 日本视频中文字幕一区二区三区| 欧美日韩国产一二三| 日韩在线一区二区| 欧美一卡二卡三卡四卡| 美女脱光内衣内裤视频久久影院| 91精品国产aⅴ一区二区| 日韩成人免费电影| 日韩精品资源二区在线| 激情综合网激情| 国产亚洲成aⅴ人片在线观看| 粉嫩在线一区二区三区视频| 国产性做久久久久久| 99久久久精品| 亚洲成人免费av| 91精品在线免费观看| 精品一区中文字幕| 日韩精品一区二区三区中文精品 | 欧美一区二区三区性视频| 五月天丁香久久| 国产亚洲成年网址在线观看| 亚洲视频 欧洲视频| 成人听书哪个软件好| 国产精品久久久久久户外露出| 成人黄色一级视频| 亚洲综合免费观看高清完整版 | 成人深夜视频在线观看| 国产精品久久综合| 在线视频综合导航| 日韩国产成人精品| 国产欧美1区2区3区| 91免费版pro下载短视频| 亚洲bt欧美bt精品777| 精品成人一区二区三区四区| 成人午夜伦理影院| 亚洲一区二区三区激情| 26uuu精品一区二区三区四区在线| 成人一道本在线| 亚洲国产欧美在线| 精品日韩欧美一区二区| 成人福利视频在线看| 亚洲午夜免费电影| 久久综合网色—综合色88| 99这里只有精品| 中文字幕一区二区三区在线观看 | 日韩二区三区在线观看| 国产调教视频一区| 欧亚一区二区三区| 国内精品不卡在线| 亚洲午夜久久久久| 久久先锋影音av鲁色资源网| 欧洲精品一区二区三区在线观看| 美国十次综合导航| 亚洲激情在线激情| 久久蜜臀精品av| 欧美三级视频在线观看| 粉嫩欧美一区二区三区高清影视| 亚洲国产精品一区二区www在线| 国产偷国产偷亚洲高清人白洁| 欧美精品三级在线观看| 成人免费黄色大片| 国内一区二区在线| 亚洲第一成人在线| 国产精品福利一区二区| 精品福利视频一区二区三区| 欧美伊人久久久久久久久影院 | 亚洲午夜久久久久中文字幕久| 国产日韩高清在线| 日韩欧美视频一区| 欧美日产国产精品| 色综合久久中文综合久久牛| 国产高清精品网站|