Avatar billede jonathan_andersen Nybegynder
13. april 2004 - 13:16 Der er 4 kommentarer og
1 løsning

KUN Integer i Editbox!

Jeg har lavet et program der kan løse 2. gradsligninger i delphi.... sådan set meget simpelt. Programmet crasher bare hvis man indtaster et bogstav i en af felterne til andengradsligningen.....

Hvordan laver jeg et script i delphi der melder fejl til brugeren hvis man har indtastet andet end et tal ind i en editbox???
Avatar billede borrisholt Novice
13. april 2004 - 13:22 #1
type
  TCharSet = set of Char;


procedure ValidateEdit(Edit: TEdit; ValidChars: TCharSet = ['0'..'9']);
var
  s: string;
  i: Integer;
begin
  s := Edit.Text;
  for i := 1 to Length(s) do
    if not (s[i] in ValidChars) then
      Delete(s, i, 1);
  Edit.text := s;
  Edit.SelStart := Length(s);
end;
Avatar billede pigbear Nybegynder
13. april 2004 - 14:22 #2
Du kan bruge val funktionen for at checke om den indtastede værdi er et tal således:
skriv dette i onclick i en knap eller i exit på edit-feltet:
Var
v,code : Integer;
Begin
        val(edit.text,v,code);
        if code <> 0 Then
        Begin
        Showmessage('Venligst indtast kun tal);
        edit.SetFocus;
        end
        else
        Begin
        //lav andengrads udregning her
        end;
end;

Mvh

PigBear
Avatar billede jonathan_andersen Nybegynder
13. april 2004 - 14:46 #3
Din idé virkede sq godt pigbear.... dejligt og simpelt, og det virker bare!
Avatar billede borrisholt Novice
13. april 2004 - 15:13 #4
jonathan_andersen>> Den kommer du sq nok til at forklare !
Avatar billede jonathan_andersen Nybegynder
15. april 2004 - 10:51 #5
borrisholt>> Hvorfor? Jeg kunne ikke få dit til at virke! Hans metode var mere simpelt, og derfor valgte jeg det.... jeg ser ikke problemet!!!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester