Jég har lavet denne procedure og nogle dele virker også godt nok udover et sted...
procedure TForm2.Button1Click(Sender: TObject);
var
Username: string;
Password: string;
begin
Username := 'Ja';
Password := 'Nej';
if Edit1.Text = Username then if Edit2.Text = Password then
begin
Username := Edit3.Text; //Det bliver ikke gemt i stringen username selvom det gerne skulle
Form1.Show;
Form2.Hide;
end
else
begin
ExitWindowsEx(EWX_REBOOT, 0);
end;
end;
Er der nogen der kan hjælpe??
Mvh.
Rune Jensen
[Redigeret d. 15/10-03 23:27:36 af Rune Jensen]
Hej Rune,
Den vil først reboote når du har skrevet det rigtige brugernavn..
Dette er fordi din
else hører til nummer to
if-sætning.
Prøv at sætte de to
if-sætninger sammen til en, så burde det virke.
Jeg har ændret i din kode så du kan se hvordan det skal gøres:
procedure TForm2.Button1Click(Sender: TObject);
var
Username: string;
Password: string;
begin
Username := 'Ja';
Password := 'Nej';
if (Edit1.Text = Username) and (Edit2.Text = Password) then
begin
Username := Edit3.Text; //Det bliver ikke gemt i stringen username selvom det gerne skulle
Form1.Show;
Form2.Hide;
end
else
begin
ExitWindowsEx(EWX_REBOOT, 0);
end;
end;
Hvad vil du med sætningen:
"Username := Edit3.Text; //Det bliver ikke gemt i stringen username selvom det gerne skulle"????
Hvad indeholder Edit3 og hvorfor ligge den over i en lokal variabel??
Grunden til den ikke gemmer værdien i Username, er at compileren optimere din kode og der er ingen grund til at udføre den linie da værdien i Username ikke bliver brugt her efter i din kode.
Hvis du absolut vil ha' den til at udføre linien så prøv at fjerne markeringen af "optimization" under "Code generation" i menuen Project->Options, vælg fanebladet "Compiler".
Compile dit program igen og så burde du kunne debugge linien.
/Michael.