Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Pascal: Borland Delphi 6 PE

Sivun loppuun

Matrack [24.05.2003 10:29:41]

#

Oon tekemässä ohjelmaa, mutta miten liitän kaksi formia yhteen sillein, että kun painan (form1:ssä) seuraava -painiketta niin ohjelman pitäisi mennä form2:een ?

Sama juttu olisi valikossa : Eli form1:ssä on valikko josta valitsemalla UUSI pitäisi tulla form1:n tilalle form2 ?

arcatan [24.05.2003 13:44:07]

#

Olisikohan (en nyt aivan varma ole, en ole testannut..) näin:

procedure Form1.Button1OnClick(Sender: TObject)
begin
  // Voi olla että seuraavan kahden rivin pitäisi olla
  // toisin päin?
  Form1.Hide;
  Form2.Show;
end;

Matrack [24.05.2003 16:12:06]

#

Kyllä tuo toimi, mutta saako sen formin pysymään samassa kohdassa ? Form2 heittää itsensä pikkaisen erilaiseen kohtaan.

Entä saako menun kaikkiin formeihin vain jollain includella ? Vai pitääkö se lisätä copy/paste tyylillä ?

odys [24.05.2003 22:20:02]

#

No tuon ongelman, että se heittää itsensä väärään kohtaan voit korjata vaikka näin:

Form2.Left := Form1.Left;
Form2.Top := Form1.Top;

Niin ja laita toi tapahtumaan aina OnActivate kohdalla

arcatan [25.05.2003 11:20:29]

#

lainaus:

Entä saako menun kaikkiin formeihin vain jollain includella ? Vai pitääkö se lisätä copy/paste tyylillä ?

No copy-pastella onnistuu helpoiten kun vaan kopioi sen TMainMenu-komponentin, mutta en ole includesta ihan varma. Luulisin, että se onnistuu siten, että kopiot tuon TMainMenu-komponentin määrityksen lomakkeella omaan tiedostoon ja sitten jollain esikääntäjän direktiivillä lisäät kaikkien lomakkeiden tekstimäärityksiin sen sopivaan kohtaan. Minulla ei ole aavistustakaan mikä olisi oikea direktiivi, tai edes siitä, toimiiko tämä.

Matrack [26.05.2003 10:37:29]

#

Nyt pitäisi saada tällainen :
Käyttäjä laittaa nimensä Edit -laatikkoon form1:ssä.
Sitten se nimi pitäisi saada form2:seen vaikka näin -> Nimi : (tähän se editin teksti) ?

odys [26.05.2003 11:35:14]

#

Form2.Label1.Caption := 'Nimi: ' + Form1.Edit1.Text;

Matrack [26.05.2003 13:01:50]

#

Kiitos, mutta mä joudun painamaan sitä Nimi kohtaa, jotta siihen tulisi se mitä kirjoitin form1:ssä...

procedure TForm2.Label1Click(Sender: TObject);
begin
        Form2.Label1.Caption := 'Nimi : ' + Form1.Edit1.Text;
end;

Tossa on tuo TForm2.Label1Click - pitääkö siihen laittaa jotain muuta ?

odys [26.05.2003 13:41:58]

#

Laita Form2 OnActivate kohtaan noi toiminnot.
Eli se olisi kai jotain procedure TForm2.Nimi(Sender: TObject);
begin
Form2.Label1.Caption := 'Nimi : ' + Form1.Edit1.Text;
end;

En itsekkään ole ohjelmoinut Delphillä kuin 2 päivää

arcatan [26.05.2003 16:55:03]

#

No siis milloin sen nimen pitäisi tulla sinne?
Voisit vaikka laittaa sen Edit1 :n OnChange-tapahtumaan tuon vaihtamisen, jolloin aina jos sitä tekstiä Edit1 :ssä vaihtaa, se päivittyy Form 2:lle.

procedure TForm1.Edit1Change(Sender: TObject);
begin
  Form2.Label1.Caption := 'Nimi : ' + Form1.Edit1.Text;
end;

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta