熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

新手學堂:Delphi基礎開發技巧淺析

2022-06-13   來源: Delphi編程 
◇[DELPHI]網絡鄰居復制文件
  uses shellapi;
  copyfile(pchar(newfiletxt)pchar(//computername/direction/targertxt)false);
  
  ◇[DELPHI]產生鼠標拖動效果
  通過MouseMove事件DragOver事件EndDrag事件實現例如在PANEL上的LABEL
  var xpanelypanelxlabelylabel:integer;
  PANEL的MouseMove事件xpanel:=x;ypanel:=y;
  PANEL的DragOver事件xpanel:=x;ypanel:=y;
  LABEL的MouseMove事件xlabel:=x;ylabel:=y;
  LABEL的EndDrag事件labelleft:=xpanelxlabel;labeltop:=ypanelylabel;
  
  ◇[DELPHI]取得WINDOWS目錄
  uses shellapi;
  var windir:array[] of char;
  getwindowsdirectory(windirsizeof(windir));
  或者從注冊表中讀取位置
  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
  SystemRoot鍵取得如C:\WINDOWS
  
  ◇[DELPHI]在form或其他容器上畫線
  var xy:array [] of integer;
  lor:=clred;
  canvaspenstyle:=psDash;
  formcanvasmoveto(trunc(x[i])trunc(y[i]));
  formcanvaslineto(trunc(x[j])trunc(y[j]));
  
  ◇[DELPHI]字符串列表使用
  var tips:tstringlist;
  tips:=tstringlistcreate;
  tipsloadfromfile(filenametxt);
  edittext:=tips[];
  tipsadd(last line addition string);
  tipsinsert(insert string at NO line);
  tipssavetofile(newfiletxt);
  tipsfree;
  
  ◇[DELPHI]簡單的剪貼板操作
  richeditselectall;
  pytoclipboard;
  richeditcuttoclipboard;
  editpastefromclipboard;
  
  ◇[DELPHI]關於文件目錄操作
  Chdir(c:\abcdir);轉到目錄
  Mkdir(dirname);建立目錄
  Rmdir(dirname);刪除目錄
  GetCurrentDir;//取當前目錄名\
  Getdir(s);//取工作目錄名s:=c:\abcdir;
  Deletfile(abctxt);//刪除文件
  Renamefile(oldtxtnewtxt);//文件更名
  ExtractFilename(filelistboxfilename);//取文件名
  ExtractFileExt(filelistboxfilename);//取文件後綴
  
  ◇[DELPHI]處理文件屬性
  attr:=filegetattr(filelistboxfilename);
  if (attr and faReadonly)=faReadonly then //只讀
  if (attr and faSysfile)=faSysfile then //系統
  if (attr and faArchive)=faArchive then //存檔
  if (attr and faHidden)=faHidden then //隱藏
  
  ◇[DELPHI]執行程序外文件
  WINEXEC//調用可執行文件
  winexec( /c copy ** c:\SW_Normal);
  winexec(start abctxt);
  ShellExecute或ShellExecuteEx//啟動文件關聯程序
  function executefile(const filenameparamsdefaultDir:string;showCmd:integer):THandle;
  ExecuteFile(C:\abc\atxtxabcc:\abc\);
  ExecuteFile();
  ExecuteFile(mailto:);
  
  ◇[DELPHI]取得系統運行的進程名
  var hCurrentWindow:HWnd;szText:array[] of char;
  begin
  hCurrentWindow:=Getwindow(handleGW_HWndFrist);
  while hCurrentWindow <> do
  begin
  if Getwindowtext(hcurrnetwindow@sztext)> then emsadd(strpas(@sztext));
  hCurrentWindow:=Getwindow(hCurrentwindowGW_HWndNext);
  end;
  end;
  
  ◇[DELPHI]關於匯編的嵌入
  Asm End;
  可以任意修改EAXECXEDX不能修改ESIEDIESPEBPEBX
  
  ◇[DELPHI]關於類型轉換函數
  FloatToStr//浮點轉字符串
  FloatToStrF//帶格式的浮點轉字符串
  IntToHex//整數轉進制
  TimeToStr
  DateToStr
  DateTimeToStr
  FmtStr//按指定格式輸出字符串
  formatDateTime(YYYYMMDDhhmmssDATE);
  
  ◇[DELPHI]字符串的過程和函數
  Insert(objtargetpos);//字符串target插入在pos的位置如插入結果大於target最大長度多出字符將被截掉如Pos在以外會產生運行錯例如st:=Brian則Insert(OKst)會使st變為BrOKian
  Delete(stposNum);//從st串中的pos(整型)位置開始刪去個數為Num(整型)個字符的子字串例如st:=Brian則Delete(st)將變為Brn
  Str(valuest);//將數值value(整型或實型)轉換成字符串放在st中例如a=E則str(a:st)將使st的值為
  Val(stvarcode);//把字符串表達式st轉換為對應整型或實型數值存放在var中St必須是一個表示數值的字符串並符合數值常數的規則在轉換過程中如果沒有檢測出錯誤變量code置為否則置為第一個出錯字符的位置例如st:=Ex是一個實型變量則val(stxcode)將使X值為code值為
  Copy(stposnum);//返回st串中一個位置pos(整型)處開始的含有num(整型)個字符的子串如果pos大於st字符串的長度那就會返回一個空串如果pos在以外會引起運行錯誤例如st:=Brian則Copy(st)返回ri
  Concat(ststst……stn);//把所有自變量表示出的字符串按所給出的順序連接起來並返回連接後的值如果結果的長度將產生運行錯誤例如st:=Brianst:= st:=Wilfred則Concat(ststst)返回Brian Wilfred
  Length(st);//返回字符串表達式st的長度例如st:=Brian則Length(st)返回值為
  Pos(objtarget);//返回字符串obj在目標字符串target的第一次出現的位置如果target沒有匹配的串Pos函數的返回值為例如target:=Brian Wilfred則Pos(Wiltarget)的返回值是Pos(hurbettarget)的返回值是
  
  ◇[DELPHI]關於處理注冊表
  uses Registry;
  var reg:Tregistry;
  reg:=Tregistrycreate;
  regrootkey:=HKey_Current_User;
  regopenkey(Control Panel\Desktopfalse);
  regWriteString(Title Wallpaper);
  regwriteString(Wallpaperfilelistboxfilename);
  regclosereg;
  regfree;
  
  ◇[DELPHI]關於鍵盤常量名
  VK_BACK/VK_TAB/VK_RETURN/VK_SHIFT/VK_CONTROL/VK_MENU/VK_PAUSE/VK_ESCAPE
  /VK_SPACE/VK_LEFT/VK_RIGHT/VK_UP/VK_DOWN
  FF$()$B()
  AZ$()$A()
  $()$()
  ◇[DELPHI]初步判斷程序母語
  DELPHI軟件的DOS提示This Program Must Be Run Under Win
  VC++軟件的DOS提示This Program Cannot Be Run In DOS Mode
  
  ◇[DELPHI]操作Cookie
  okies(name)domain:=;
  with okiesadd do
  begin
  name:=username;
  value:=username;
  end
  
  ◇[DELPHI]增加到文檔菜單連接
  uses shellapishlOBJ;
  shAddToRecentDocs(shArd_pathpchar(filepath));//增加連接
  shAddToRecentDocs(shArd_pathnil);//清空
  
  ◇[雜類]備份智能ABC輸入法詞庫
  windows\system\userrem
  windows\system\tmmrrem
  
  ◇[DELPHI]判斷鼠標按鍵
  if GetAsyncKeyState(VK_LButton)<> then //左鍵
  if GetAsyncKeyState(VK_MButton)<> then //中鍵
  if GetAsyncKeyState(VK_RButton)<> then //右鍵
  
  ◇[DELPHI]設置窗體的最大顯示
  onformCreate事件
  selfwidth:=screenwidth;
  selfheight:=screenheight;
  
  ◇[DELPHI]按鍵接受消息
  OnCreate事件中處理ApplicationOnMessage:=MyOnMessage;
  procedure TformMyOnMessage(var MSG:TMSG;var Handle:Boolean);
  begin
  if ssage= then //ANY鍵
  if ssage= then //F
  if ssage= then //F
  end;
  
  ◇[雜類]隱藏共享文件夾
  共享效果可訪問但不可見(在資源管理網絡鄰居中)
  取共享名為direction$
  訪問//computer/dirction/
  
  ◇[Java Script]Java Script網頁常用效果
  網頁秒定時關閉
  
  關閉窗口
  關閉
  定時轉URL
  
  設為首頁
  設為首頁
  收藏本站
  收藏本站
  加入頻道
  加入頻道
  
  
  ◇[DELPHI]隨機產生文本色
  randomize;//隨機種子
  lor:=rgb(random()random()random());
  
  ◇[DELPHI]DELPHI UPDATE升級補丁序列號
  
  Xfx
  
  ◇[DELPHI]文件名的非法字符過濾
  for i:= to length(s) do
  if s[i] in [\/:*?<>|] then
  
  ◇[DELPHI]轉換函數的定義及說明
  datetimetofiledate (datetime:Tdate
From:http://tw.wingwit.com/Article/program/Delphi/201311/8427.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.