zoukankan      html  css  js  c++  java
  • Delphi取系统版本

    本来以为是个很简单的函数,发现对D的双精度小数还是不了解,做判断的时候貌似有问题,所以暂时没研究清楚,用一个曲折的方法写出

    function myGetVersion(
             ):Integer;
    stdcall; external 'kernel32.dll' name 'GetVersion';
    function GetWindowsVersion():LongWord;
    var j_i:LongWord;
        j_i1:Double;
        j_ls:string;
    begin
         j_i:= (myGetVersion() shl 16) shr 16 ;    //SHL 左移 ,shr 右移
         j_i1:= (j_i AND 255)+((j_i AND 65280) shr 8) / 10;
         //j_i1:= RoundTo(j_i1,-2);
         j_ls:=FloatToStr(j_i1);  //转换为文本 双精度小数做等于判断的时候有问题 一直等于不了 百度查询好象是D的调试时候精度显示是5.1 但是可能实际是5.09999之类 总之D的双精度做判断要注意
         if j_ls = '5.1'  then
         begin
            Result:=0;   //0为XP系统
            Exit;
         end;
         if j_ls = '6.1'  then
         begin
            Result:=1;   //1为W7系统
            Exit;
         end;
         Result:=10;     //10未知系统
    end;
  • 相关阅读:
    邻接表(spfa模版)
    翻咸鱼(???)
    求逆序数
    Symmetry CSU
    Highways
    LightOJ
    G
    最长的斜坡。。。。
    快速幂取模
    二分
  • 原文地址:https://www.cnblogs.com/qq32175822/p/3189003.html
Copyright © 2011-2022 走看看