2014-10-16 41 views
-4

只處理帳號查詢,投訴和建議以及有效的帳號,編寫一個名爲ValidateAccNum的子程序,接收帳號作爲字符串,指示天氣是否有效。有效帳號必須符合以下條件:如何驗證字符串中的第一個字符是字母還是數字?

  • 帳號必須只有SEVEN個字符。

  • 帳號必須以字母開頭。

我遇到的問題是計算出帳號的第一個字符是字符串還是整數。我的繼承人代碼:

procedure TfrmQuestion3.ValidateAccNum(AccNum: string); 
var 
    RealACCNum : Boolean; 
    ACCNumLength : Integer; 
    StartACCNum : string; 
begin 
    RealACCNum := False; 
    ACCNumLength := Length(AccNum); 
    StartACCNum := AccNum[1]; 

    If (ACCNumLength = 7) and (StartACCNum = string) // <--- This is obviously the 
                //  problem, I know its wrong 
    then RealACCNum = True 
    else exit; 
    end; 

那麼,如何檢查天氣的一個字符的字符串或整數?

+1

'if(Length(AccNum)= 7)and IsCharAlpha(AccNum [1])then ...'(for Delphi 7) – TLama 2014-10-16 11:12:29

+1

@TLama Legend。謝謝你:) – 2014-10-16 11:14:42

+0

小旁註,你忘了檢查其他6個字符是否代表一個數字...... – whosrdaddy 2014-10-20 06:20:31

回答

1
if (Length(AccNum) = 7) and IsCharAlpha(AccNum[1]) then 

您可以檢查這樣的^
                                                                            |

+0

那麼這些變量沒有任何用處? ('ACCNumLength'和'StartACCNum') – 2014-10-16 11:20:29

+1

順便說一句,在嘗試使用[]訪問任何字符之前,養成檢查字符串是否爲空的習慣是個好主意。如果MyString爲空,MyString [1]應該返回什麼?在答案中,對Length()的檢查當然會這樣做,但你的q中沒有。 – MartynA 2014-10-16 11:22:41

相關問題