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

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

?? unt_cad_pro_tool.pas

?? 煤礦行業采掘接替計劃自動生成系統
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
             end
  else begin
         b:=(p2[1]-p1[1])/(p2[0]-p1[0]);
         k:=-1/b;
         thep[0]:=(p1[1]-p[1]+k*p[0]-b*p1[0])/(k-b);
         thep[1]:=(k*p1[1]-b*p[1]+b*k*p[0]-b*k*p1[0])/(k-b);
         thep[2]:=p1[2];
         if PInP1P2(thep,p1,p2)=0  //如果thep不在p1,p2的連線上
         then begin
               dis1:=Distance(p,p1);dis2:=Distance(p,p2);
               dis:=dis1;
               if (dis-dis2)>1e-3 then dis:=dis2;
              end
         else dis:=Distance(p,thep);
       end;
  result:=dis;
end;

function PInP1P2(p,p1,p2:TPoint1):Integer;
var alfa,bata:double;
begin
 //p不在p1,p2連線上
 result:=0;
 alfa:=p[0]-p1[0];bata:=p[1]-p1[1];
//如果p,p1重合
 if (abs(alfa)<1e-3)and(abs(bata)<1e-3) then
 begin
  result:=1;
  exit;
 end;
 alfa:=p[0]-p2[0];bata:=p[1]-p2[1];
 //如果p,p2重合
 if (abs(alfa)<1e-3)and(abs(bata)<1e-3) then
 begin
  result:=1;
  exit;
 end;
 alfa:=Direct(p,p1);bata:=Direct(p,p2);
 //如果p位于p1,p2連線上
 if abs(abs(alfa-bata)-pi)<1e-3 then result:=2;
end;

function PInListP(Pcou:integer;Inp:TPoint1;ListP:TPoints):boolean;
var Ang,Ang1,SumAng:double;
    i:integer;
begin
 result:=false;
 SumAng:=0;
 for i:=0 to Pcou-1 do
  begin
   Ang:=Direct(Inp,ListP[i mod Pcou]);
   Ang1:=Direct(InP,ListP[(i+1) mod Pcou]);
   Ang:=Ang1-Ang;
   if (Ang-pi)>1e-3 then Ang:=Ang-2*pi;
   if (Ang+pi)<-1e-3 then Ang:=Ang+2*pi;
   SumAng:=SumAng+Ang;
  end;
 if Abs(Abs(SumAng)-2*pi)<1e-3 then result:=true; 
end;

function P1EqualP2(P1,P2:TPoint1):boolean;
var Isequ:boolean;
begin
 Isequ:=true;
 if abs(p1[0]-P2[0])>1e-3 then Isequ:=false;
 if abs(p1[1]-P2[1])>1e-3 then Isequ:=false;
 if abs(p1[2]-P2[2])>1e-3 then Isequ:=false;
 result:=Isequ;
end;

procedure ExPoint(var StartP,EndP:TPoint1);
var p:TPoint1;
begin
 p:=StartP;
 StartP:=EndP;
 EndP:=p;
end;

procedure ExString(var SStr,EStr:string);
var str:string;
begin
 str:=SStr;
 SStr:=EStr;
 EStr:=str;
end;

procedure Exinteger(var Si,Ei:integer);
var i:integer;
begin
 i:=Si;
 Si:=Ei;
 Ei:=i;
end;

procedure ExDouble(var Sd,Ed:double);
var d:double;
begin
 d:=Sd;
 Sd:=Ed;
 Ed:=d;
end;

function DelSubStr(MonStr,SubStr:string):String;
var i,len:integer;
begin
  result:='';
  i:=pos(SubStr,MonStr);
  if i=0 then exit;
  len:=length(SubStr);
  delete(MonStr,i,len);
  result:=MonStr;
end;

function GetStr(MonStr:string;SubStrB,SubStrE:string):string;
var i,j,len:integer;
begin
 result:=MonStr;
 i:=pos(SubStrB,MonStr);
 j:=pos(SubStrE,MonStr);
 if (i=0)or(j=0) then exit;
 len:=j-i-1;
 result:=copy(MonStr,i+1,len);
end;

//計算某年某月的天數
function get_Year_days(y,m:integer):integer;
var i,j:integer;
begin
 i:=0;
 if (y mod 4)=0
 then begin
       if (y mod 100)=0
       then begin
             if (y mod 400)=0
             then i:=1
             else i:=0;
            end
       else i:=1
      end
 else i:=0; //平年
 case m of
  1,3,5,7,8,10,12:j:=31;
  2:begin
     if i=1
     then j:=29
     else j:=28
    end;
  4,6,9,11:j:=30;
 end;
 result:=j;
end;

  {component tool}
function GetId(ADOTDB:TDataSet;fieldstr:string):integer;
begin
  if ADOTDB.RecordCount=0
  then result:=0
  else begin
        ADOTDB.last;
        result:=ADOTDB.FieldByName(fieldstr).AsInteger;
       end;
end;

function EditIsNull(Edt:Tedit):boolean;
begin
 result:=false;
 if trim(edt.Text)=''
  then result:=true;
end;

function DBEditIsNull(DBEdt:TDBedit):boolean;
begin
 result:=false;
 if trim(DBEdt.Text)=''
  then result:=true;
end;

function ComboBoxIsNull(CBox:TComboBox):boolean;
begin
 result:=false;
 if trim(CBox.Text)=''
  then result:=true;
end;

function DBLookUpComboBoxIsNull(DBCBox:TDBLookupComboBox):boolean;
begin
 result:=false;
 if trim(DBCBox.Text)=''
  then result:=true;
end;

function DBComboBoxIsNull(DBCBox:TDBComboBox):boolean;
begin
 result:=false;
 if trim(DBCBox.Text)=''
  then result:=true;
end;

//System Tool
function CDMDDir(filestr:string):string;
begin
 try
  MkDir(filestr);
 except
  on EInoutError do ChDir(filestr);
 end;
 result:=filestr+'\'
end;

procedure ListDataS(DBLkUpCbx:TDBLookupComboBox;Ds:TDataSource;LField,KField:string);
begin
  DBLkUpCbx.ListSource:=Ds;
  DBLkUpCbx.ListField:=LField;
  DBLkUpCbx.KeyField:=KField;
end;

procedure ListDataS(DBLkUpLbx:TDBLookupListBox;Ds:TDataSource;LField,KField:string);
begin
  DBLkUpLbx.ListSource:=Ds;
  DBLkUpLbx.ListField:=LField;
  DBLkUpLbx.KeyField:=KField;
end;

function BlobContentToString(fileName:string):string;
begin
 with TFileStream.Create(fileName,fmOpenRead) do
 try
  setlength(result,size);
  read(Pointer(result)^,size);
 finally
  free;
 end;
end;

function StringToBlobContent(Tbl:TAdoTable;BlobF,Ext:string;OleCon:TOleContainer):string;
var SFilename:string;
    BS:TAdoBlobStream;
begin
 if (Tbl.IsEmpty)or(Tbl.FieldByName(Ext).AsString='') then exit;
 BS:=TAdoBlobStream.Create(TBlobField(Tbl.FieldByName(BlobF)),bmread);
 try
  SFilename:=Extractfilepath(Application.ExeName)+'TmpBlob';
  SFilename:=SFilename+'.'+Tbl.fieldbyname(Ext).AsString;
  BS.SaveToFile(SFilename);
  OleCon.CreateObjectFromFile(SFilename,false);
 finally
  BS.Free;
 end;
 result:=SFilename;
end;

function Confirm(Tbl:TDataSet):boolean;
begin
  result:=true;
  if MessageDlg('確認修改嗎?',mtConfirmation,[mbYes, mbNo],0)=mrNo
   then begin
         result:=false;
         exit;
        end;
  with Tbl do
  begin
   if recordcount=0
    then begin
          showmessage('數據表為空,請首先添加紀錄!');
          cancel;
          result:=false;
          exit;
         end;
   edit;
   post;
  end;
end;

function DelRec(Tbl:TDataSet):boolean;
var Bk:Tbookmark;
begin
  result:=false;
  with Tbl do
   if (MessageDlg('確定刪除該記錄嗎?',mtConfirmation, [mbYes, mbNo], 0) = mrYes)
      and(IsEmpty=false)
   then begin
         if recordcount=0 then cancel;
         if RecordCount=1
          then begin
                delete;close;open;
               end;
          if recordcount>1
           then begin
                 //showmessage(inttostr(recordcount));
                 //if RecNo=0
                 if RecNo=1
                  then begin
                        next;
                        Bk:=getbookmark;
                        prior;
                       end
                  else begin
                        prior;
                        Bk:=getbookmark;
                        next;
                       end;
                 Delete;
                 close;open;// frm_data.connectdb;
                 if recordcount>1 then  GotoBookmark(Bk);
                 FreeBookmark(Bk);
                end;
         result:=true;
        end;
end;

//----------------平均值和方差-------------------------
function Average(SCou:integer;Sam:Tlistvalue):double;
var sum:double;
    i:integer;
begin
 result:=0;
 if SCou>0
  then begin
        sum:=0;
        for i:=0 to SCou-1 do sum:=sum+Sam[i];
        result:=sum/SCou;
       end;
end;

function Sigma(SCou:integer;Sam:Tlistvalue):double;
var Avg,Sum:double;
    i:integer;
begin
  result:=0;
  if SCou>0
   then begin
         Sum:=0;
         Avg:=Average(SCou,Sam);
         for i:=0 to SCou-1 do Sum:=Sum+Sqr(Sam[i]-Avg);
         result:=sqrt(Sum/(SCou-1));
        end;
end;

//-----------------拉格朗日插值----------------------------
function the_para(PId,PCou:integer;TPs:TPoints):double;
var j:integer;
begin  //TPs[PId,2]:=result;
 result:=TPs[PId,1];
 for j:=0 to PCou-1
  do if j<>PId then result:=result/(TPs[PId,0]-TPs[j,0]);
end;

function the_re(Px:double;PCou:integer;TPs:TPoints):double;
var i,j:integer;
    sum:double;
begin
 Sum:=0;
 for i:=0 to PCou-1 do
  begin
   for j:=0 to PCou-1
    do if j<>i then TPs[i,2]:=TPs[i,2]*(Px-TPs[j,0]);
   Sum:=Sum+TPs[i,2];
  end;
 result:=Sum;
end;

{ TExcel }

function TExcel.Link_Excel: boolean;
begin
 result:=false;
 try
    ExcelApp:=getactiveoleobject('Excel.Application');
 except
    on eolesyserror do
        try
          //Frm_CADPro:= TFrm_CADPro.Create(Application);
          //with Frm_CADPro do
           //begin
            //setvisible(false,false,true);
            //Show;
            //Update;
            ExcelApp:=CreateOleObject('Excel.Application');
            //Hide;
            //Free;
           //end;
        except
           showmessage('鏈接Excel出錯,請確認Excel是否正確安裝!!');
           result:=true;
           exit;
        end;
 end;
 Excelworkbooks:=ExcelApp.workbooks;
 Excelworkbooks.close;
 ExcelApp.Visible := true;
 //Excelworkbooks.;
 //Excelworkbook:=ExcelApp.activeworkbook;
end;

procedure TExcel.Add_XslWorkBook(BookStr,SheetStr: string);
var Id:integer;
begin
 Excelworkbook:=Excelworkbooks.add;
 ExcelworkSheets:=ExcelApp.WorkSheets;
 for Id:=1 to ExcelworkSheets.count-1 do
 begin
  ExcelworkSheets[Id].delete;
  ExcelApp.DisplayAlerts:=false;
 end;
 Excelworkbook.name:=BookStr;
 ExcelworkSheet:=ExcelworkSheets[1];
 ExcelworkSheet.name:=SheetStr;
end;                   

procedure TExcel.Add_XslWorkSheet(SheetStr: string);
begin
 ExcelworkSheet:=ExcelworkSheets.add;
 ExcelworkSheet.name:=SheetStr;
end;

procedure TExcel.Add_Field(i, j: integer; CellStr: string);
begin
 ExcelworkSheet.Cells[i,j].value:=CellStr;
end;

procedure TExcel.Open_XslWorkBook(BookStr: string);
begin
 Excelworkbooks.Open(BookStr);
 Excelworkbook:=ExcelApp.ActiveWorkbook;
 ExcelworkSheets:=ExcelApp.WorkSheets;
 ExcelworkSheet:=ExcelApp.ActiveSheet;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 在线电影院国产精品| 欧美一区二区三区在线观看| 国产精品视频第一区| 老司机精品视频在线| 91美女片黄在线观看91美女| 26uuu亚洲综合色欧美| 五月天网站亚洲| 一本一道波多野结衣一区二区| 精品国产伦理网| 免费人成在线不卡| 在线观看不卡一区| 中文字幕色av一区二区三区| 国产真实乱对白精彩久久| 欧美日韩国产高清一区二区三区 | 在线一区二区三区| 国产欧美精品在线观看| 久久91精品久久久久久秒播| 在线一区二区视频| 综合精品久久久| www.亚洲色图.com| 国产日产欧产精品推荐色| 精品午夜一区二区三区在线观看| 欧美日韩高清在线| 亚洲国产精品久久人人爱| 99九九99九九九视频精品| 亚洲国产岛国毛片在线| 国产一区二区免费在线| 久久综合九色综合欧美就去吻| 日本成人在线一区| 日韩欧美中文字幕制服| 免费视频最近日韩| 欧美一区二视频| 免费在线看成人av| 在线不卡中文字幕| 日产欧产美韩系列久久99| 欧美精品乱人伦久久久久久| 五月婷婷另类国产| 欧美一区二区三区四区视频| 日本中文字幕不卡| 欧美大片免费久久精品三p| 久色婷婷小香蕉久久| 欧美mv日韩mv国产网站app| 国模少妇一区二区三区| 国产欧美日韩卡一| 一本大道av伊人久久综合| 亚洲精品乱码久久久久久久久| 欧美在线一区二区三区| 图片区日韩欧美亚洲| 精品少妇一区二区三区| 国产成人精品免费看| 日韩美女精品在线| 7777女厕盗摄久久久| 韩国一区二区视频| 亚洲欧洲三级电影| 欧美图片一区二区三区| 精品在线一区二区三区| 中文字幕精品综合| 欧美色综合天天久久综合精品| 日韩国产欧美视频| 中文字幕欧美日韩一区| 91久久香蕉国产日韩欧美9色| 偷拍自拍另类欧美| 久久精品亚洲麻豆av一区二区 | 久久精品国内一区二区三区| 久久久综合网站| 色视频欧美一区二区三区| 日韩高清在线电影| 国产精品免费视频网站| 欧美精品777| 成人av网址在线| 日韩中文字幕麻豆| 国产精品国产三级国产普通话99| 欧美午夜免费电影| 国产精品77777| 亚洲成人手机在线| 国产精品素人视频| 欧美理论电影在线| 成人av资源在线| 老司机一区二区| 亚洲高清免费在线| 日本一区二区免费在线| 在线播放亚洲一区| 91一区一区三区| 国产一区二区三区四| 亚洲va韩国va欧美va精品| 国产女人18毛片水真多成人如厕| 在线电影一区二区三区| 91免费视频大全| 国产激情精品久久久第一区二区| 亚洲妇女屁股眼交7| 亚洲欧美另类久久久精品2019| 欧美xfplay| 日韩一级大片在线| 欧美三级在线视频| 91视频免费看| 欧美巨大另类极品videosbest| 国产成人午夜精品5599| 美女视频黄频大全不卡视频在线播放| 亚洲品质自拍视频| 国产精品乱码一区二三区小蝌蚪| 精品国产凹凸成av人导航| 91精品国产乱码| 欧美久久一区二区| 欧美日韩国产精品成人| 欧洲视频一区二区| 在线一区二区观看| 色偷偷久久人人79超碰人人澡| 成人美女视频在线看| 国产精品一区二区三区乱码| 久久精品99国产精品| 日本va欧美va欧美va精品| 偷偷要91色婷婷| 午夜精品福利一区二区蜜股av| 一区二区三区产品免费精品久久75 | 欧美激情综合五月色丁香| 久久嫩草精品久久久久| 久久综合九色欧美综合狠狠| 欧美大片一区二区三区| 精品国产一二三| 久久久久97国产精华液好用吗| 国产日韩欧美电影| 国产欧美中文在线| 国产精品黄色在线观看| 亚洲日本韩国一区| 亚洲精品国产成人久久av盗摄| 亚洲一区二区四区蜜桃| 亚洲国产日韩在线一区模特 | 欧美中文字幕不卡| 欧美乱妇20p| 精品国产一区二区国模嫣然| 国产色产综合色产在线视频| 中文字幕一区二区三| 亚洲精品成人悠悠色影视| 亚洲国产va精品久久久不卡综合| 午夜精品福利久久久| 经典三级在线一区| 大白屁股一区二区视频| 日本韩国欧美一区| 欧美一级片在线看| 欧美国产精品一区二区| 夜夜嗨av一区二区三区中文字幕 | 亚洲素人一区二区| 亚洲第一久久影院| 国产在线看一区| 不卡的电影网站| 欧美日韩国产经典色站一区二区三区| 日韩视频免费观看高清完整版在线观看| 欧美变态tickle挠乳网站| 中文字幕中文字幕中文字幕亚洲无线| 一区二区不卡在线视频 午夜欧美不卡在| 首页综合国产亚洲丝袜| 国产99久久久国产精品免费看 | 欧美精品成人一区二区三区四区| 日韩精品一区在线| 国产精品电影院| 青青草成人在线观看| 波多野结衣视频一区| 在线播放视频一区| 国产精品美女久久久久久久久久久| 亚洲成人午夜电影| 成人激情小说网站| 欧美电影精品一区二区| 一区二区三区四区国产精品| 国产综合久久久久久鬼色| 色婷婷精品久久二区二区蜜臂av| 日韩午夜在线影院| 亚洲一区二区在线免费观看视频| 国产精品一区二区果冻传媒| 欧美日韩1区2区| 国产精品灌醉下药二区| 国产美女精品一区二区三区| 欧美日韩免费电影| 亚洲素人一区二区| 国产999精品久久久久久绿帽| 91精品国产日韩91久久久久久| 亚洲免费观看高清| 成人亚洲精品久久久久软件| 日韩精品综合一本久道在线视频| 亚洲福利视频导航| 91免费在线视频观看| 国产精品系列在线| 国产一区二区精品久久99| 日韩欧美国产不卡| 天堂av在线一区| 欧美写真视频网站| 亚洲人成7777| 99精品视频一区| 国产精品久久久爽爽爽麻豆色哟哟| 韩国午夜理伦三级不卡影院| 91精品国产麻豆国产自产在线| 五月开心婷婷久久| 欧美电影在线免费观看| 亚洲国产精品久久艾草纯爱| 色综合久久66| 一区二区不卡在线播放| 91美女蜜桃在线| 亚洲精品亚洲人成人网| 91麻豆国产在线观看| 亚洲欧美另类久久久精品2019|