首页 > 编程 > Delphi > 正文

delphi一句话帮助终

2019-11-18 18:35:43
字体:
来源:转载
供稿:网友
1.       产生随机密码(应该比较有用)
   function CreatePass:String;
const
      MAX_LEN=10;
var
      i: integer;
      s: string;
begin
      Randomize;
      s:='ABCDEFGHIJKLMNOPQRSTUVWXYZ'+'abcdefghijklmnopqrstuvwxyz'+ '0123456789';
      Result := '';
      for i := 0 to MAX_LEN-1 do
      begin
        Result := Result + s[Random(Length(s)-1)+1];
      end;
end;
2.       十进制数字转换成罗马数字
   function DecToRoman(iDecimal: longint): string;
const
      aRomans: array[1..13] of string = ('I', 'IV', 'V', 'IX', 'X', 'XL', 'L', 'XC',
         'C', 'CD', 'D', 'CM', 'M');
      aArabics: array[1..13] of integer = (1, 4, 5, 9, 10, 40, 50, 90, 100, 400,
         500, 900, 1000);
var
      i: integer;
begin
      result := '';
      for i := 13 downto 1 do
        while (iDecimal >= aArabics[i]) do
        begin
           iDecimal := iDecimal - aArabics[i];
           result := result + aRomans[i];
        end;
end;
 
PRocedure TForm1.Button1Click(Sender: TObject);
begin
      showmessage(DecToRoman(5));
end;
3.       格式化整数显示
使用FormatFloat函数可以解决你很多问题。例如把1200000格式化为1,200,000输出
procedure TForm1.Button1Click(Sender: TObject);
var
  i:integer;
  s:string;
begin
  i := 1200000;
  s := FormatFloat('#,0', i);
  showmessage(s);
end;
4.       判断串口是否收到了数据可以使用ClearCommError函数,TcomStat结构体中cbInQue,cbOutQue可以帮助实现判断。
5.       RGB颜色转换为TColor类
   function RGBToColor(R,G,B:Byte): TColor;
begin
      Result:=B Shl 16 Or
             G Shl 8 Or
             R;
end;
6.       把TColor转换为RGB值
   procedure TForm1.Button1Click(Sender: TObject);
var
      Color: TColor;
      R, G, B: Integer;
begin
      Color := clBlack;
      R := Color and $FF;
      G := (Color and $FF00) shr 8;
      B := (Color and $FF0000) shr 16;
      showmessage(inttostr(R));
      showmessage(inttostr(G));
      showmessage(inttostr(B));
end;
7.       浏览计算机对话框
uses ShlObj;
function BrowseForComputer(const winhandle : THANDLE; const title : string) : string;
var
  BrowseInfo: TBrowseInfo;
  IDRoot: PItemIDList;
  Path: array[0..MAX_PATH] of Char;
begin
  SHGetSpecialFolderLocation(winHandle, CSIDL_NETWORK, IDRoot);
  ZeroMemory(@BrowseInfo, SizeOf(TBrowseInfo));
  ZeroMemory(@path, MAX_PATH);
  BrowseInfo.hwndOwner := winhandle;
  BrowseInfo.pidlRoot := IDRoot;
  BrowseInfo.lpszTitle := PChar(title);
  BrowseInfo.pszDisplayName := @path;
  BrowseInfo.ulFlags:=BIF_BROWSEFORCOMPUTER;
  SHBrowseForFolder(BrowseInfo);
end;
 

上一篇:Delphi中两个BUG的分析与修复

下一篇:Delphi与Word(三)取得Word文件的数据

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
学习交流
热门图片

新闻热点

疑难解答

图片精选

网友关注