|
| Maskedit? Fra : TRN |
Dato : 05-04-06 15:43 |
|
Hei.
Prøver å få en editbox til å kunne motta nummer, hvor brukeren også kan
skrive negative(minus) nummer. Og hvordan kan mask akseptere bare
hexadesimale(0->F) tall?
- TRN
| |
Erik Klausen (05-04-2006)
| Kommentar Fra : Erik Klausen |
Dato : 05-04-06 18:23 |
|
TRN <trn@not.mine> wrote in news:4433d77b$1@news.broadpark.no:
> Hei.
> Prøver å få en editbox til å kunne motta nummer, hvor brukeren også kan
> skrive negative(minus) nummer. Og hvordan kan mask akseptere bare
> hexadesimale(0->F) tall?
Hej TRN.
Den første del er nem. Masken #9999 tillader et positivt tal på op til 5
cifre eller et negativt tal på op til 4 cifre.
Den anden er værre; ihvertfald i Delphi 7. Her må du selv til at
programmere. Du kan udnytte Edit-boksens OnChange-event til at udføre
følgende kode:
procedure TForm1.Edit1Change(Sender: TObject);
VAR
CurPos : Word;
begin
{ Gem cursorens position. Den bliver nulstillet }
{ ved skrivning til Text propertyen }
CurPos := Edit1.SelStart;
IF NOT ( Edit1.Text[ CurPos ] IN [ '0'..'9', 'A'..'F' ] ) THEN
BEGIN
{ Klip det ulovlige tegn ud }
Edit1.Text := Copy( Edit1.Text, 1, CurPos-1 )+
Copy( Edit1.Text, CurPos+1, 100 );
Edit1.SelStart := CurPos-1;
END;
end;
mvh.
Erik Klausen
| |
TRN (06-04-2006)
| Kommentar Fra : TRN |
Dato : 06-04-06 19:54 |
|
Erik Klausen skrev:
> TRN <trn@not.mine> wrote in news:4433d77b$1@news.broadpark.no:
>
>
>>Hei.
>>Prøver å få en editbox til å kunne motta nummer, hvor brukeren også kan
>>skrive negative(minus) nummer. Og hvordan kan mask akseptere bare
>>hexadesimale(0->F) tall?
>
>
> Hej TRN.
>
> Den første del er nem. Masken #9999 tillader et positivt tal på op til 5
> cifre eller et negativt tal på op til 4 cifre.
>
> Den anden er værre; ihvertfald i Delphi 7. Her må du selv til at
> programmere. Du kan udnytte Edit-boksens OnChange-event til at udføre
> følgende kode:
>
> procedure TForm1.Edit1Change(Sender: TObject);
> VAR
> CurPos : Word;
> begin
> { Gem cursorens position. Den bliver nulstillet }
> { ved skrivning til Text propertyen }
> CurPos := Edit1.SelStart;
>
> IF NOT ( Edit1.Text[ CurPos ] IN [ '0'..'9', 'A'..'F' ] ) THEN
> BEGIN
> { Klip det ulovlige tegn ud }
> Edit1.Text := Copy( Edit1.Text, 1, CurPos-1 )+
> Copy( Edit1.Text, CurPos+1, 100 );
> Edit1.SelStart := CurPos-1;
> END;
> end;
>
>
> mvh.
>
> Erik Klausen
Ja, fant ut at det beste var nok å skrive min egen mask-rutine..
....Takker for svaret :)
- TRN
| |
|
|