Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

ZIBADIAN...HELP!!!

[b][red]This message was edited by hunny_bunny at 2004-4-25 2:11:26[/red][/b][hr]
In my program, the user enters a code which is 7 characters long. the first two characters have to be letters, the next two have to be numbers and the remaining three have to be letters. i want to ensure that the user can not save any incorrect entries of that code. i need to validate it but how would i do that? i need a message dialogue box to appear when the user clicks save and if the code is wrong to say something along the lines of 'you've entered the incorrect code'


Comments

  • dj_sanniedj_sannie Posts: 92Member
    : [b][red]This message was edited by hunny_bunny at 2004-4-25 2:11:26[/red][/b][hr]
    : In my program, the user enters a code which is 7 characters long. the first two characters have to be letters, the next two have to be numbers and the remaining three have to be letters. i want to ensure that the user can not save any incorrect entries of that code. i need to validate it but how would i do that? i need a message dialogue box to appear when the user clicks save and if the code is wrong to say something along the lines of 'you've entered the incorrect code'
    :
    :
    :
    Hi,

    i know zibadian is a guy who knows verry much about delphi, but he isn't the only one on this forum that can awnser you're question.

    but u need an awnser wel here it is.
    [code]function IsChar( Charecter: Char ): Boolean;
    begin
    Result := (ord(Charecter)>=ord('a')) and (ord(Charecter)<=ord('z'));
    end;

    function IsNumber( Charecter: Char ): Boolean;
    begin
    Result := (ord(Charecter)>=ord('0')) and (ord(Charecter)<=ord('9'));
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if( IsChar(Edit1.Text[1]) and
    IsChar(Edit1.Text[2]) and
    IsNumber(Edit1.Text[3]) and
    IsNumber(Edit1.Text[4]) and
    IsChar(Edit1.Text[5]) and
    IsChar(Edit1.Text[6]) and
    IsChar(Edit1.Text[7]) )then
    begin
    // Do what u need to do here.
    end
    else MessageDlg( 'you''ve entered the incorrect code', mtError, [mbOK], 0 );
    end;
    [/code]

    Greetz SRK.
  • MasterijnMasterijn Posts: 188Member
    : : [b][red]This message was edited by hunny_bunny at 2004-4-25 2:11:26[/red][/b][hr]
    : : In my program, the user enters a code which is 7 characters long. the first two characters have to be letters, the next two have to be numbers and the remaining three have to be letters. i want to ensure that the user can not save any incorrect entries of that code. i need to validate it but how would i do that? i need a message dialogue box to appear when the user clicks save and if the code is wrong to say something along the lines of 'you've entered the incorrect code'
    : :
    : :
    : :
    : Hi,
    :
    : i know zibadian is a guy who knows verry much about delphi, but he isn't the only one on this forum that can awnser you're question.
    :
    : but u need an awnser wel here it is.
    : [code]function IsChar( Charecter: Char ): Boolean;
    : begin
    : Result := (ord(Charecter)>=ord('a')) and (ord(Charecter)<=ord('z'));
    : end;
    :
    : function IsNumber( Charecter: Char ): Boolean;
    : begin
    : Result := (ord(Charecter)>=ord('0')) and (ord(Charecter)<=ord('9'));
    : end;
    :
    : procedure TForm1.Button1Click(Sender: TObject);
    : begin
    : if( IsChar(Edit1.Text[1]) and
    : IsChar(Edit1.Text[2]) and
    : IsNumber(Edit1.Text[3]) and
    : IsNumber(Edit1.Text[4]) and
    : IsChar(Edit1.Text[5]) and
    : IsChar(Edit1.Text[6]) and
    : IsChar(Edit1.Text[7]) )then
    : begin
    : // Do what u need to do here.
    : end
    : else MessageDlg( 'you''ve entered the incorrect code', mtError, [mbOK], 0 );
    : end;
    : [/code]
    :
    : Greetz SRK.
    :
    Can also use a maskedit with a nice mask.


  • MasterijnMasterijn Posts: 188Member
    [b][red]This message was edited by Masterijn at 2004-6-6 2:48:54[/red][/b][hr]
    : : [b][red]This message was edited by hunny_bunny at 2004-4-25 2:11:26[/red][/b][hr]
    : : In my program, the user enters a code which is 7 characters long. the first two characters have to be letters, the next two have to be numbers and the remaining three have to be letters. i want to ensure that the user can not save any incorrect entries of that code. i need to validate it but how would i do that? i need a message dialogue box to appear when the user clicks save and if the code is wrong to say something along the lines of 'you've entered the incorrect code'
    : :
    : :
    : :
    : Hi,
    :
    : i know zibadian is a guy who knows verry much about delphi, but he isn't the only one on this forum that can awnser you're question.
    :
    : but u need an awnser wel here it is.
    : [code]function IsChar( Charecter: Char ): Boolean;
    : begin
    : Result := (ord(Charecter)>=ord('a')) and (ord(Charecter)<=ord('z'));
    : end;
    :
    : function IsNumber( Charecter: Char ): Boolean;
    : begin
    : Result := (ord(Charecter)>=ord('0')) and (ord(Charecter)<=ord('9'));
    : end;
    :
    : procedure TForm1.Button1Click(Sender: TObject);
    : begin
    : if( IsChar(Edit1.Text[1]) and
    : IsChar(Edit1.Text[2]) and
    : IsNumber(Edit1.Text[3]) and
    : IsNumber(Edit1.Text[4]) and
    : IsChar(Edit1.Text[5]) and
    : IsChar(Edit1.Text[6]) and
    : IsChar(Edit1.Text[7]) )then
    : begin
    : // Do what u need to do here.
    : end
    : else MessageDlg( 'you''ve entered the incorrect code', mtError, [mbOK], 0 );
    : end;
    : [/code]
    :
    : Greetz SRK.
    :
    [code]
    function Matches(const Code: string): Integer;
    type
    TCharSet = set of Char;
    const
    cStringLength = 7;
    cNumbers = ['0'..'9'];
    cABC = ['A'..'Z', 'a'..'z'];
    StrFormat : array[1..cStringLength] of TCharSet = (cNumbers, cNumbers, cABC, cABC, cNumbers, cNumbers, cNumbers);
    begin
    Result := Length(Code) + 1;
    if Result > cStringLength + 1 then
    Exit;
    for Result := 1 to Length(Code) do
    if not (Code[Result] in StrFormat[Result]) then
    Exit;
    Result := -1;
    if Length(Code) <> cStringLength then
    Exit;
    Result := 0;
    end;

    procedure TfrmMain.btnMatchesClick(Sender: TObject);
    var
    Pos: Integer;
    begin
    Pos:= Matches(edInput.Text);
    case Pos of
    -1 : Application.MessageBox(Input is to short, should be 7', '', MB_OK + MB_ICONINFORMATION + MB_SETFOREGROUND + MB_TASKMODAL);
    0: Application.MessageBox('Ok', '', MB_OK + MB_ICONINFORMATION + MB_SETFOREGROUND + MB_TASKMODAL);
    else
    Application.MessageBox(PChar(Format('Error at %d', [Pos])), '', MB_OK + MB_ICONINFORMATION + MB_SETFOREGROUND + MB_TASKMODAL);
    end;
    end;
    [/code]
    This one has more user feedback and shows the use of sets and const arrays.








Sign In or Register to comment.