Avatar billede php_teddy Nybegynder
13. december 2001 - 19:42 Der er 14 kommentarer og
1 løsning

Opgave til en newbie

Hej

jeg er ved at lære delphi...

er her nogle der kan henvise til nogle gode danske sider...

Eller har en lille opgave jeg kan lære... jeg har arbejdet med delphi i 1 uge... så ikke for sværet
Avatar billede cyberlsn Nybegynder
13. december 2001 - 20:50 #1
Jeg har en opgave til dig:
Lav et program, hvor man skal indtaste et Password i en Edit1, og når brugeren har klikket på OK, skal den godkende passwordet.
Hvis det ikke er korrekt, skal den vise en meddelelse med teksten \"Forkert. Prøv igen!\".

Når det er lavet, så lav et program, som tildeler 2 variabler hver en tilfældig værdi, og derefter skal programmet så lægge dem sammen, og gemme den nye værdi i endnu en variabel.
Programmet skal så stille dig et spørgsmål, som:
Hvad er X + Y? (hvor X og Y er tilfældige tal, som computeren har genereret)
- er svaret derimod forkert, skal den fortælle dig, hvad X + Y er.

Nu hvor du er Newbie, så vil jeg gerne fortælle dig, hvad man skal skrive, for at genere et tilfældigt tal mellem 0 og 10:
Random(10); - men den vil -ALTID- starte med at skrive værdien \'0\', så derfor kommer det til at se sådan ud:

var x : integer;
begin
  x := 10;
  Random(x);
  if x < 1 then
  begin
    random(x);
  end;
end;

Avatar billede php_teddy Nybegynder
13. december 2001 - 20:53 #2
ok prøver lig... til oplysning for dem som vil købe programmer koster det 3000,- *GG* ej pjat... men jeg stiller måske dumme spm under vejs
Avatar billede cyberlsn Nybegynder
13. december 2001 - 20:56 #3
- det er der sq så mange der gør i forvejen herinde, så det sq li\'meget.... *lol*
Avatar billede php_teddy Nybegynder
13. december 2001 - 21:01 #4
*GG* her kommer den første

if (Edit1.Text = \'teddy\') then
Label1.Caption := \'Rigtig...\';
Label1.Visible := true;

else
Label1.Visible := true;

den siger jeg må ikke skrive else efter en ; hvad skal jeg så gør ???
Avatar billede php_teddy Nybegynder
13. december 2001 - 21:03 #5
fandt ud af det selv
Avatar billede php_teddy Nybegynder
13. december 2001 - 21:05 #6
procedure TForm1.Button1Click(Sender: TObject);
begin
if (Edit1.Text = \'teddy\') then
begin
Label1.Caption := \'Rigtig...\';
Label1.Visible := true;
end
else
Label1.Visible := true;
Label1.Caption := \'Forkert kode..\';
end;

end.

den udføre kun else ???
Avatar billede cyberlsn Nybegynder
13. december 2001 - 21:06 #7
det er fordi du ikke må skrive ; foran ELSE.

if (Edit1.Text = \'teddy\') then
Label1.Caption := \'Rigtig...\';
Label1.Visible := true

else
Label1.Visible := true;
Avatar billede php_teddy Nybegynder
13. december 2001 - 21:08 #8
så siger den bare

[Error] Unit1.pas(34): \'END\' expected but \'ELSE\' found
Avatar billede cyberlsn Nybegynder
13. december 2001 - 21:09 #9
Husk altid:
Hvis du har mere en én sætning efter IF eller ELSE, skal du altid skrive begin.

Sådan her:

procedure TForm1.Button1Click(Sender: TObject);
begin
if (Edit1.Text = \'teddy\') then
begin
Label1.Caption := \'Rigtig...\';
Label1.Visible := true
end
else begin
Label1.Visible := true;
Label1.Caption := \'Forkert kode..\';
end;
end;

end.
Avatar billede php_teddy Nybegynder
13. december 2001 - 21:13 #10
ko nu virker det men den gider ikke lave den om til en exe så jeg kan vise det frem og være stolt *G*
Avatar billede php_teddy Nybegynder
13. december 2001 - 21:17 #11
Avatar billede php_teddy Nybegynder
13. december 2001 - 21:28 #12
siger den når jeg sætter dit script ind
Avatar billede php_teddy Nybegynder
13. december 2001 - 21:32 #13
du får lige dine points
Avatar billede cyberlsn Nybegynder
13. december 2001 - 21:50 #14
Jeg har lige lavet det andet eksempel for dig (det med at genere nogle tilfældige tal, og derefter multiplicere dem og spørge brugeren efter, om HAN nu også ved det...).
Her kommer det:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  x : integer;
  y : integer;
  xy: integer;
  s : string;
  xInt : integer;
  yInt : integer;
  implementation

{$R *.DFM}
procedure RandomValue;
begin
  with form1 do
  begin
  x:=random(10);
  y:=random(10);
  if (x = 0) and (y = 0) then
  begin
    x := random(10);
    y := random(10);
  end;
  begin
    label1.caption := IntToStr(x);
    label2.caption := \'+\';
    label3.caption := IntToStr(y);
    xInt := StrToInt(label1.caption);
    yInt := StrToInt(label3.caption);
    s  := Edit1.text;
    xy := xInt + yInt;
    s  := IntToStr(xy);


  end;
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  if edit1.text = s then begin
                        RandomValue;
                        showmessage(\'Rigtig!!!\'); Edit1.text := \'\'
                        end else begin
                        showmessage(\'Forkert!\');

end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
  RandomValue;
end;

end.
Avatar billede cyberlsn Nybegynder
13. december 2001 - 21:52 #15
Hvis du ikke kan lave en *.exe fil, så prøv at installere Debuggeren...
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