Jak wyczyścić RadioGroup?

0

Witam kolegów;)
Przygotowalem pewien test, mam kilka formularzy, miedzy ktorymi sie przemieszczam i tak np w form1 zaznaczam cos w radiogroup i przechodze do form2, gdzie tez mam radiogroup. Ale mam tez opcje powrotu do form1. Gdy tam zmienie odpowiedz i znow przejde do form2 pozostaje zaznaczona ta sama odpowiedz co wczesniej i nie zlicza punktacji. Traktuje to zaznaczenie jako 0. Jak to wyczyscici aby za kazdym razem wchodzac do konkretnego formularza i RadioGroup nic nie bylo zaznaczone? Mozliwe ze jest cos we wlasciwosciach RadioGroup, ale nie moge znnalezc. Dodam ze ItemIndex wewlasciwosciach jest ustawiony na -1. Panowie pomocy.

0

Nie lepiej używać TPageControl czyli zakładki zamiast ładować tyle form?

Radiogroup1.ItemIndex:= -1;

Odznaczanie zaznaczonego itemu.
Weź to sobie zastosuj przy otwieraniu lub zamykaniu odpowiedniej formy.

0
Naukowiec napisał(a)

Nie lepiej używać TPageControl czyli zakładki zamiast ładować tyle form?

A mógłbys napisać jak to w praktyce wykonać?

0
  1. Znajdź komponent TPagecontrol na palecie i zwymiaruj go jak chcesz na formie.

  2. Klikasz prawym na ten komponent i dajesz New Page, wtedy tworzysz zakładkę czyli alternatywa dla następnej nowej formy.

  3. Robisz tych zakładek ile chcesz.

  4. Zrób najpierw dwie. Każda zakładka nazywa się TabsheetX gdzie X to liczba kolejna zakładki, ale możesz zmienić właściwość Caption na dowolny.

  5. W Tabsheet1 połóż przycisk i nazwij Następny. Kliknij na niego aby wejść do edytora kodu i wklep to:

Pagecontrol1.ActivePage:=Tabsheet2;//przechodzi do następnej zakładki
  1. W Tabsheet2 połóż przycisk i nazwij Poprzedni. Kliknij na niego aby wejść do edytora kodu i wklep to:
Pagecontrol1.ActivePage:=Tabsheet1;//przechodzi do poprzedniej zakładki
  1. Pod tymi kodami możesz teraz dodać kodzik, który podał Naukowiec.

Jesli używasz componentów środowiskowych, a chcesz ukryć nazwy zakładek już w samym programie to wklep do Oncreate głównej formy to:

var
 i: integer;
begin
  for i := 0 to PageControl1.PageCount-1 do
    PageControl1.Pages[i].TabVisible := false;
end;

Na każdą z zakładek powstawiaj sobie Radiogroupy oczywiście i utwórz itemy.

Pozdro.

0

utworzylem dwa Tabsheety ale, dodalem przyciski, ale co zrobic aby przy odpaleniu bylojewidac? Mam na wstepie 3 formularze, a od 4 zaczylbym uzywac tych Tabsheetow, tylko jak ich uzywac? Kod zwiazany z RadioGroupem pomeidzy nimi czy mzoe po??? Na form 4 mam teraz cos takiego:

procedure TForm4.Button2Click(Sender: TObject);
begin
Pagecontrol1.ActivePage:=Tabsheet2;
end;

procedure TForm4.Button3Click(Sender: TObject);
begin
Pagecontrol1.ActivePage:=Tabsheet1;
end;

procedure TForm4.RadioGroup1Click(Sender: TObject);
begin
 case RadioGroup1.ItemIndex of
 0: begin
    Memo1.Show;
    Memo1.Text:='wskazniki';
    end;
 1: begin
    Memo1.Show;
    Memo1.Text:='Wskaźniki 2';
    end;
 2: begin
    Memo1.Text:='Analiza    ';
    end;
end;
end;

procedure TForm4.Button1Click(Sender: TObject);
begin
  begin
s:=0;
case RadioGroup1.ItemIndex of
0: begin
s:=s+10 ;
  TabSheet1.show  ;
  end   ;
1: begin
s:=s+20 ;
  end      ;
2: begin
s:=s+30  ;
end;
3: begin
s:=s+40;
end;
end;

end;
form5.Label3.caption:=inttostr(s);
end;

end.
0

Ja polecam użyć komponentu NoteBook z zakładki Win 3.1. Nie ma on górnej belki, ktora chyba w takim programie do
przeprowadzania testów jest zbędna, a również pozwala nawigować między stronami, z których każda może mieć swoją
unikalną zawartość. A poza tym jak chcesz robić test to po co tworzyć dla każdego pytania osobne formatki, używaj do
tego jednego zestawu Label do wyświetlenia pytanai plus RadioButtony dla odpowiedzi. A zresztą temat był już ostatnio
na forum wałkowany, szkoda że nawet nie sprawdziłeś wcześniej. Polecam Tobie przyjrzeć się programowi pod linkiem
poniżej, pisałem go dawno, bo jeszcze około 2001 roku i to w Delphi 3. Progeam był elementem pracy zaliczeniowej w
Liceum zawodowym. I procedura oceniania nie została dość dopracowana. Jednak reszta kodu może się Tobie przydac.
http://www.speedyshare.com/files/22824267/ptc_test.rar
Nawigowanie po stronach NoteBook w trakcie działania programu:

procedure TForm1.FormCreate(Sender: TObject);
begin
  NoteBook1.PageIndex := 0;
end;

procedure TForm1.PrevBtnClick(Sender: TObject);
begin
  NoteBook1.PageIndex := NoteBook1.PageIndex - 1;
end;

procedure TForm1.NextBtnClick(Sender: TObject);
begin
  NoteBook1.PageIndex := NoteBook1.PageIndex + 1;
end;
0

Ten jak zwykle epopeję musiał napisać na 4p.
Jak mu napisałem o Pagecontrol to po ch mu mieszasz jeszcze?

0

RedbaK: przepraszam Wielmożnego Pana, jak się nie podoba to proszę nie czytaj. Przecież podałem tylko ładniejsze
rozwiązanie jakie kiedyś zasugerował Cimak/Misiekd/Opi (nie pamiętam ktoś z tej trójki), lecz nikogo nie zmuszam
do korzystania. Chcce mięć tysiąc formatek lub pięćset zakładek PageControl i do tego tworzonych niedynamicznie,
to proszę bardzo. Ja tylko chciałem pomóc - widać źle to odebrano. I podejrzewam, że nawet jak pytający nie zna
podstaw, to przy odrobinie wysiłku pomyśli, i sam skorzysta z rozwiązania, które mu będzie bardziej odpowiadało.
Nie masz (i chyba nikt nie ma) na tym forum monopolu na super rozwiązania - narzucone, jako jedyne pytającym.

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