wyskakiwanie okienka w formie

0

Witam.

Potrzebuję zrobić, aby w formie 1 wyskoczyło mi okienko w którym mogę wpisać jakieś dane i zatwierdzić. Ale dopóki nie zatwierdzę tych danych forma 1 będzie zablokowana. Próbowałem robić to zadanie z 2 formami ale nie umiem zrobić tak żeby po wyskoczeniu 2 formy 1 forma była zablokowana i nie można było na niej nic kliknąć jak dane w 2 formie nie zostaną wpisane.

Tu taki przykład z minigry

user image

0

temat do przerobienia -> ShowModal

0

c# czy delphi?

0
ZiomZiom napisał(a)

c# czy delphi?

A czy wątek jest w dziale C#, czy w Delphi?!

0

Dzięki pytek :D Poczytałem i zrobiłem.

0

Witam.

Na 1 formie mam label który ma przypisaną zmienną do tekstu. Lecz gdy wchodzę na form2 i zmienna ta ulega zmianie to label na 1 formie nie ulega zmianie. Więc wpadłem na pomysł żeby do buttona na 2 formie dodać ponownie form1.label1.caption := zmienna; no ale jakby tych labeli było 100, 200 i tyle samo zmiennych to czy można ustawić żeby to pole zmieniało się automatycznie ? Czyli tak jakby forma1 ciągle była odświeżana i gdy zmienna ulegnie zmianie pole tez ?

0

Napisałeś tego posta tak, że nic z niego nie wiadomo... O_o

froderambo napisał(a)

Na 1 formie mam label który ma przypisaną zmienną do tekstu.

Eeee....? Co masz zrobione...?

froderambo napisał(a)

Lecz gdy wchodzę na form2 i zmienna ta ulega zmianie to label na 1 formie nie ulega zmianie.

Nijak nie można zrozumieć o co Ci chodzi... Nie możesz normalnie napisać co chcesz zrobić?

froderambo napisał(a)

no ale jakby tych labeli było 100, 200 i tyle samo zmiennych to czy można ustawić żeby to pole zmieniało się automatycznie ?

Po pierwsze, to jeśli miałbyś mieć tyle tych komponentów to wypadałoby wykorzystać macierze, a po drugie przy ustawianiu wszystkim tym komponentom jakiejś wartości pasowałoby zrobić to w pętli;

Poza tym nic nie będzie Ci się działo automatycznie - wszystko musisz oprogramować, zrób to w odpowiednich zdarzeniach i testuj;

froderambo napisał(a)

Czyli tak jakby forma1 ciągle była odświeżana i gdy zmienna ulegnie zmianie pole tez ?

Czy Ty masz po kolei w głowie...? Bardziej składne pytania zadaje mój 2-letni kuzyn...

Naucz się po ludzku zadawać pytania to może więcej będzie chętnych do dyskusji; Na razie to polecam napisać jeszcze raz dokładnie i powoli co chcesz zrobić;

Mi to wygląda na to (z tego co prawdopodobnie udało mi się zrozumieć), że chcesz w Form2 modyfikować kontrolki z Form1, ale nie wiesz jak to zrobić; Jeśli tak to napisz czego jeszcze nie wiesz;

0

procedure TForm1.FormCreate(Sender: TObject);
begin
label1.caption := inttostr (mojazmienna)
end;

procedure TForm2.Button8Click(Sender: TObject);
begin
mojazmienna := moja zmienna + 10;
end;

Gdy powracam na formę 1 to wtedy label1.caption ma dalej wartość starej zmiennej.
Więc na formie 2 zrobiłem button:

procedure TForm2.Button9Click(Sender: TObject);
begin
form1.label1.caption := inttostr (mojazmienna);
end

I teraz wszystko jest w porządku. Ale gdy mam kilka albo kilkanaście tych labeli to nie można ustawić w nich opcji żeby ich nazwy zmieniały się automatycznie gdy zmieni się wartość zmiennej ?

0
froderambo napisał(a)

Ale gdy mam kilka albo kilkanaście tych labeli to nie można ustawić w nich opcji żeby ich nazwy zmieniały się automatycznie gdy zmieni się wartość zmiennej ?

Nie do końca wiem o co Ci chodzi w tym zdaniu;

Jeśli chcesz, by po zmianie Label1.Caption zmieniały się także wartości innych label'ków to musisz to napisać ręcznie (w kodzie TForm2.Button9Click()); Gdyby kontrolka posiadała zdarzenie OnChange to mógłbyś to napisać w tym zdarzeniu, ale to i tak nie zwalnia Cię z pisania;

Nie znam innej możliwości niż napisanie tego ręcznie; Nie ma to większego znaczenia gdzie to napiszesz, czy w zdarzeniu TForm2.Button9Click() czy gdzie indziej - napisać to musisz sam;

1 użytkowników online, w tym zalogowanych: 0, gości: 1