Avatar billede Slettet bruger
22. april 2004 - 20:57 Der er 10 kommentarer og
2 løsninger

Lille if sætning

hej

Jeg skal have Delphi til at indsætte tallen 0 til 10 i en formel. Når formelen passer, så skal Delphi gemme tallet.

eks.

x=1
if 2+x = 5 then
Gør noget vildt

Men hvis det ikke er rigtig, så skal den lægge en til x og prøve igen. Det skal den så gøre til det passer. Hvordan gør man det ?
Avatar billede Slettet bruger
22. april 2004 - 21:11 #1
Prøv med det her:

var
  x: Integer;
begin
  x := 1;
  loop:
  if 2+x = 5 then
  begin
    //kode
  end
  else
  begin
    inc(x);
    goto loop;
  end;
end;
Avatar billede taskmgr Nybegynder
22. april 2004 - 21:14 #2
Jeg har aldrig rodet med Delphi, men kan en while ikke bruges?
Følgende ser måske lidt abstrakt ud, men som sagt, jeg har aldrig haft fat i Delphis syntaks :)

x := 0;

While x <= 10 do begin
    // Gør noget vildt
    x := x + x;
  end;
Avatar billede Slettet bruger
22. april 2004 - 21:18 #3
hejhej: Kan man ikke bruge noget andet end goto. Min lærer hader den kommando og det er hvis den sikre vej til et 03... eller noget
Avatar billede Slettet bruger
22. april 2004 - 21:23 #4
Hejhej: Det virker ikke helt. Får fejlen Undeclared identifier: 'loop'
Avatar billede Slettet bruger
22. april 2004 - 21:27 #5
Okay... vidste jeg ikke :(. Du kan jo bruge while som taskmgr siger:

begin
  x = 1
  while(true)
  begin
    if 2+x = 5 then
    begin
      //kode
      break;
    end;
    inc(x);
  end;
end;

Ingen af koderne er testet, da jeg ikke har Delphi :(
Avatar billede Slettet bruger
22. april 2004 - 21:31 #6
Jeg takker igen igen igen. Så virker det. Det er total nice. Så håber jeg på noget over 03 :P
Smider du et svar hejhej?
Avatar billede Slettet bruger
22. april 2004 - 21:37 #7
Den mangler vist stadig at tjekke om tallet er over 10 :)

Måske virker det her bedre:

begin
  x := 1;
  while ( 2 + x <> 5 ) do
  begin
    inc(x);
    if x > 10 then
      exit;
  end;
  //kode
end;
Avatar billede Slettet bruger
22. april 2004 - 21:39 #8
Jo, men skal taskmgr ikke også have nogle af pointene, han forslog jo at bruge while :o)
Avatar billede Slettet bruger
22. april 2004 - 21:39 #9
Hejhej:
Kan du svar på hvordan jeg hvordan jeg fx kan sætte ligningen x+2 lig med et tal fra et input felt ?

Det andet virkede kanon. X bliver aldrig over 10, så det gør ikke det store
Avatar billede Slettet bruger
22. april 2004 - 21:40 #10
JO så deler I bare point
Avatar billede taskmgr Nybegynder
22. april 2004 - 21:42 #11
Tak for credit hejhej...
Mine første point i Delphi kategorien :)
Avatar billede Slettet bruger
22. april 2004 - 21:42 #12
Ja.. prøv med det her:

...
if x+2 = StrToInt(Edit1.Text) then
...
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