Delphi的Trim函數


三個Trim函數簡介                    

  函數原型 function Trim(const S: string): string; 將字符串前后的空白及控制字元清掉.

    注意Trim函數只能清掉字符串前后的空格及控制字元,不能清除字符串中間的空格

  函數原型 function TrimLeft(const S: string): string; 將字符串左邊的空白及控制字元清掉.

  函數原型 function TrimRight(const S: string): string; 將字符串右邊的空白及控制字元清掉.

 

Trim實際應用場景舉例                  

  以下有一個使用Delphi的Trim函數的實際的場景,看完也許能讓你更為深刻的認知Trim在實際開發中的應用

  進行Delphi數據庫應用,想做一個用戶身份確認的登陸窗口,就是輸入用戶名和密碼然后去數據庫取出數據驗證用戶身份,可是程序運行時候,盡管每次輸入的用戶名稱和密碼都是 正確的,可是程序總是說我的密碼輸入有錯誤,問題出在何處呢?請看代碼

if ibt_user_pass.RecordCount=1 then
begin
    if ibt_user_pass.FieldByName('passwd').AsString=edit2.Text then    //****
        form_student_login.Hide
    else
        application.MessageBox('請確認密碼是否正確!','密碼不匹配',MB_OK);
    end
else
    application.MessageBox('請確認用戶名是否正確!','無此用戶',mb_ok)
end;

  才知道原來是加//**** 注釋那行的代碼存在問題,數據庫如果某個字段是Char類型的數據,才存放數據后會自動在字符串后面補上空格,以滿足位數的需要,因此表面上看,取得的密碼和我輸入的密碼一樣,實際上是不一樣的。

解決方法:

  辦法1:

if ibt_user_pass.FieldByName('passwd').AsString = edit2.Text then

  改為

trim(ibt_user_pass.FieldByName('passwd').AsString=edit2.Text then

  Trim 函數作用是去掉字符串中多加上去的空格

  辦法2:

  數據庫的char 類型改成 varchar類型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM