Avatar billede roz Nybegynder
08. januar 2005 - 18:08 Der er 10 kommentarer og
1 løsning

Tjekke om string indeholder 1, 2, 3 osv

Hvordan kan man tjekke om en string indeholder 1, 2, 3, 4, 5, 6, 7, 8 eller 9?
Mener der er en lettere måde en at skrive if = 1 or if = 2 osv.
Avatar billede snowball Novice
08. januar 2005 - 18:37 #1
Prøv dette:

procedure TForm1.Button1Click(Sender: TObject);
var
  tmpint: Integer;
begin
  Try
    tmpint := StrToInt(Edit1.Text);

    Case tmpint of
    1: Showmessage('Tal = 1');
    2: Showmessage('Tal = 2');
    3: Showmessage('Tal = 3');
    4: Showmessage('Tal = 4');
    5: Showmessage('Tal = 5');
    6: Showmessage('Tal = 6');
    7: Showmessage('Tal = 7');
    8: Showmessage('Tal = 8');
    9: Showmessage('Tal = 9');
    Else
      Showmessage('Tal er anderledes end 1-9');
    End;
    Except
      Showmessage('Edit1 indeholder ikke en integer!');
    End;
end;
Avatar billede roz Nybegynder
08. januar 2005 - 18:46 #2
kan det ikke lade sig gøre med en mindre kode?
Noget lignende case [1...9] eller noget i den stil?
Avatar billede roz Nybegynder
08. januar 2005 - 18:52 #3
Ahh.. fandt en nem metode ;)
if string < 9 then...
Nå men hvodan gør man så hvis man skal finde længden af en string?
Avatar billede snowball Novice
08. januar 2005 - 18:58 #4
Sorry, troede du ville finde ud af hvilket tal strengen indeholdte ;)

Du kan finde længden på en streng ved at bruge "Length" funktionen.
Avatar billede roz Nybegynder
08. januar 2005 - 19:01 #5
Hmm har forsøgt sådaan: String.Lenght men det virker ikke.
Hvordan bruger man den?
Avatar billede snowball Novice
08. januar 2005 - 19:01 #6
Og jo, ovenstående kan godt forkortes til nedenstående hvis du ikke vil vide det præcise tal.

var
  tmpint: Integer;
begin
  Try
    tmpint := StrToInt(Edit1.Text);

    Case tmpint of
    1..9: Showmessage('Tal er mellem 1 og 9');
    Else
      Showmessage('Tal er anderledes end 1-9');
    End;
    Except
      Showmessage('Edit1 indeholder ikke en integer!');
    End;
end;
Avatar billede snowball Novice
08. januar 2005 - 19:02 #7
Du Length som en funktion!

F.eks.: Showmessage('Længden på indhold af Edit1 er ' + IntToStr(Length(Edit1.Text)) + ' tegn');

Læs evt. om funktionen i hjælpen.
Avatar billede roz Nybegynder
08. januar 2005 - 19:03 #8
Det var det jeg mente! Tak.. Men bruger bare < 9 istedet ;)
Men hvis du kan fortælle mig hvordan jeg finder længden så skal du nok få pointene :P hehe
Avatar billede roz Nybegynder
08. januar 2005 - 19:04 #9
Hmm dette virker ikke:
if Lenght(Hexadecimal) = 1 then...

fejl: [Error] BinDecHex.pas(193): Undeclared identifier: 'Lenght'
Avatar billede roz Nybegynder
08. januar 2005 - 19:05 #10
Ups stavefejl ;) My bad...
Avatar billede snowball Novice
08. januar 2005 - 19:05 #11
Yeps, du har stavet det lidt forkert ;)
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