Lidt med strings og sån...

Tags:    delphi

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]



3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
deklarer evt. username som en global variabel



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:
Fold kodeboks ind/udKode 


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.



Mange tak for hjælpen... Det jeg mente med sætningen var at jeg gerne ville have username stringen til at blive det samme som det der står i edit3 boksen....

Mvh.
Rune



t