Avatar billede Slettet bruger
28. september 2005 - 08:13 Der er 6 kommentarer og
1 løsning

Flere ting skal udføres i en Case

Hej,

Er det muligt i en case at udfører flere ting på en gang fx

          case XScan of
            0..4: LetterCount := 0 and X :=12;
            5..9: LetterCount := 1;
            10..14: LetterCount := 2 and Y := 42;
            15..19: LetterCount := 3;
          end;

Eller hvordan kan det lade sig gøre, udover at skulle lave endnu en case eller if sætning?
Avatar billede arne_v Ekspert
28. september 2005 - 08:29 #1
er det ikke bare at smide en BEGIN END omkring de 2 sætninger ?
Avatar billede hmann Nybegynder
28. september 2005 - 08:36 #2
som arne_v siger:

case XScan of
            0..4: begin
                    LetterCount := 0;
                    X :=12;
                  end;
            5..9: LetterCount := 1;
            10..14: begin
                      LetterCount := 2;
                      Y := 42;
                    end;
            15..19: LetterCount := 3;
          end;
Avatar billede Slettet bruger
28. september 2005 - 13:54 #3
Jo det er en måde at gøre det på, det var for at undgå begin end... håbede på at man kunne skrive and istedet :o)

Har i et godt forslag til hvorfor dette ikke virker
    for loop := 0 to 6 do             
      for XScan := 0 to 19 do           
        begin
        end;
programmet går simpelthen ned, men fjernes for loop := 0 to 6 do virker det...

I må gerne lave et svar så i kan få jeres points...
Avatar billede arne_v Ekspert
28. september 2005 - 13:58 #4
det må vel have noget at gøre med hvad der er mellem begin og end !?

og svar
Avatar billede Slettet bruger
28. september 2005 - 14:22 #5
der er ikke noget imellem.... ikke når jeg tester... jeg har udkommenteret alt for at finde fejlen... men hele koden ser ud som her:

begin

CardInfo := @myCInfo;                  //CardInfo gives the adr where myCInfo
                                        //is.

// scan through all device numbers from 0 to 255
for cardNumber := 0 to 255 do

  begin
    result := SeaIo_OpenDevice(CardNumber,hDevice);
    if (result = 4) then                //4 - invalid name
      showmessage(inttostr(result));

    if (result = 0) then                //0 - No errors

    begin
      SeaIo_GetAdapterInfo(hDevice^, CardInfo);
                                        //hDevice^ - Gives the adr where hDevice is,
                                        //the value has been placed there as a
                                        //return from OpdenDevice. Returns with the
                                        //CardInfo (tagADAPTER_INFO)
      showmessage('Returns: ' + inttostr(result) + #13#10 + 'CardNumber: '
      + IntTOStr(CardNumber) + #13#10 + 'Handler adresse: ' + inttostr(hDevice^)
      + #13#10 + 'Model number: ' + IntToStr(CardInfo^.wCardNumber));
      break;
    end;
  end;


//    for loop := 0 to 6 do              //Scan Y axis in display
      for XScan := 0 to 19 do            //Scan X axis in display
        begin
          case XScan of                  //Letter number in progress
            0..4:  begin
                      LetterCount := 0;
                      TmpLetter[YScan, XScan] := A[YScan, XScan];
                    end;
            5..9:  begin
                      LetterCount := 1;
                      XScanTmp := XScan - (LetterCount * 5);
                      TmpLetter[YScan, XScanTmp]:= B[YScan, XScanTmp];
                    end;
            10..14: begin
                      LetterCount := 2;
                      XScanTmp := XScan - (LetterCount * 5);
                      TmpLetter[YScan, XScanTmp]:= C[YScan, XScanTmp];
                    end;
            15..19: begin
                      LetterCount := 3;
                      XScanTmp := XScan - (LetterCount * 5);
                      TmpLetter[YScan, XScanTmp]:= D[YScan, XScanTmp];
                    end;
          end;

        end;

// SeaIo_CloseDevice(hDevice^);

end;

end.
Avatar billede Slettet bruger
28. september 2005 - 14:22 #6
Venter lige på at hmann også laver et svar :o)
Avatar billede hmann Nybegynder
29. september 2005 - 08:38 #7
bare giv arne point'ene - han var først!

mvh
hmann
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