28. januar 2000 - 22:09Der er
4 kommentarer og 1 løsning
problemer med Editmask D4
Jeg skulle gerne kunne indataste eks. 999/99
Mask = ___/__
Men jeg kan ikke lave / (Skråsterg) fordi det er et system tegn, jeg kan ikke finde noget i hjælpen, jeg kunne forestille mig man kunne "pakke" tegnet ind, så delphi opfatter den som et "almindeligt" tegn
eks. %/%
Jeg har prøvet:
procedure TfrmMain.edtDigIOChange(Sender: TObject); var str, TempStr: string; begin str := edtDigIO.Text; if Length(Str) = 3 then Begin TempStr := Copy(Str, 1, 3) + '/'; edtDigIO.Text := TempStr; edtDigIO.SelStart := 5; end; end;
Men det giver en masse problemer, hvis værdien skal ændres !
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
uhm.. jeg skal ikke lige kunne sige om det gælder i det her tilfælde, men ofte når det drejer sig om systemtegn skal man bare sætte to systemtegn så opfatter delphi det som regel som et normalt tegn f.eks. // skulle i dit tilfælde blive til /, men det er kun teori, jeg skal ikke kunne sige om det virker .. men du kan da prøve :)
Editmask sætter du i properties for det pågældende felt (der selvfølgeligt skal være af typen EditMask).
Herefter arbejder du med feltet som om det var et alm. felt med 5 tegn, d.v.s. 3 tagl før og 2 tegn efter. Du skal ALDRIG selv hverken sætte eller læse skråstregen. Sæt feltet med edmsk.text := 99999; og læs det på samme måde.
NB! Der er i øvrigt amnge forskellige andre muligheder med et editmask felt så jeg vil anbefale at du læser lidt om disse i hjælpen til editmask editoren.
Jeg har gået hjælpen grundig igennem for editmask, så vidt jeg kan se, er det også muligt at inkludere tegn, ihverfald a - z.
Det edit mask jo skal bruges til er at "godkende" indtastningen.
Summa sumarum (pardon my france)
Hvis det ikke kan gøre med editmask, hvad så ?
Det je ønsker er at brugeren skal indtaste 000 så skal / enten stå der eller det skal komme automatisk efter 3. "0", derefter skal brugen så indtaste de næste 2 numre.
Det er faktisk det min procedure gør, MEN den laver volsomme problemer hvis jeg skal ændre i værdien bagefter
procedure TForm1.Edit1Change(Sender: TObject); Var i : integer; s : String; found : boolean; begin found := false; s := edit1.Text; i := 1; while (not found) and (i <= length(s)) do //lokaliser '/' begin if s[i] = '/' then found := true else inc(i); end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.