mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
ExecForm(OnCommands, 0) tryb 0 https://forum.mix-soft.pl/viewtopic.php?f=15&t=1361 |
Strona 1 z 1 |
Autor: | jerko [ 2009-11-03, 14:16 ] |
Tytuł: | ExecForm(OnCommands, 0) tryb 0 |
Szukam informacji w temacie. Mozliwości oprogramowania, krótkiego przykładu itp. |
Autor: | rafal [ 2009-11-03, 16:13 ] |
Tytuł: | |
Dokumentacja pisze: Wartość określająca stan okna dialogu: 1 okno dialogu jest modalne, do chwili zamknięcia tego okna niemożliwy jest dostęp do innych okien programu 0 tryb specjalny, należy samodzielnie zdefiniować procedurę sterującą oknem - 1 okno dialogu jest niemodalne, możliwy jest dostęp do innych okien programu W helpie brzmi to ciekawie. Przyłączam się do pytania. |
Autor: | byrusia [ 2009-11-03, 16:54 ] |
Tytuł: | |
tzw formatka interaktywna bardzo fajna rzecz ale delikatnie rzecz ujmujac "upierdliwa" czlowiek u nas niezle sie nameczyl zanim to roszyfrowal w helpie fk mamy opis i przyklad OnCommand - podprogram Podprogram standardowo nazwany OnCommand (istotna jest składnia, a nie nazwa, ale najczęściej zachowana jest również nazwa) jest używana w raportach do kontroli działania okna dialogowego, po jego wyświetleniu poleceniem ExecForm. Podprogram powinien zostać zdefiniowany zgodnie z potrzebami okna dialogowego, a następnie podany jako parametr polecenia ExecForm. Sposób wykonania został zaprezentowany w przykładzie do tego opisu. Przykład Kod: Int ch1, ch2, id2, id3, id4, id5 //Zdefiniowanie podprogramu OnCommand z obsługą poleceń Save i Load Int Sub OnCommand(int id, int msg) //Zapisanie do zmiennych stanu widocznego w dialogu If id == id4 Then Save //Ustawienie stanu elementów dialogu zgodnie ze stanem zmiennych If id == id5 Then Load EndSub //Wyświetlenie dialogu z prezentacją działania poleceń Form "Zastosowanie poleceń Save i Load", 448, 288 //Pola wyboru do pokazu stanu zmiennych id2 = ChkBox "Pole wyboru nr 1", ch1, 50, 30, 250, 24 id3 = ChkBox "Pole wyboru nr 2", ch2, 50, 60, 250, 24 //Pole wyboru uruchamiające zapisanie do zmiennych stanu widocznego w dialogu id4 = Button "&Zapamiętaj stan elementów", 132, 112, 200, 24, 1 //Przycisk uruchamiające ustawienie stanu elementów na podstawie zmiennych id5 = Button "&Ładuj dane ze zmiennych", 132, 152, 200, 24, 1 Button "&Anuluj", 296, 204, 100, 24, -1 Button "O&K", 72, 204, 100, 24, 2 Int wyjdz = ExecForm OnCommand //Zakończenie raportu bez prezentowania wyników If wyjdz != 2 Then Error "" //Prezentacja wyników do wydruku If ch1 == 1 then Print "Pole wyboru nr 1 zostało zaznaczone",LF Else Print "Pole wyboru nr 1 nie zostało zaznaczone",LF EndIf If ch2 == 1 then Print "Pole wyboru nr 2 zostało zaznaczone",LF Else Print "Pole wyboru nr 2 nie zostało zaznaczone",LF EndIf a to jest u nas z mozliwoscia zapisania ( kod jest oczywiscie czesciowy ;P) Kod: ExecForm(OnCommandS) int sub OnCommandS(int id, int msg) select case id case 0 id = idnrzlec case idnrzlec, idokrzn, idnrzlec, idmodel, idsernr, idnapr // case idreczn case else goto kon_sub endselect Save //zatwierdzam wartości if id == idnrzlec then if i_numerzlec then Enable(idnrzlece,1) SetVal(idmodel, 0) Enable(idmodel,0) SetVal(idsernr, 0) Enable(idsernr,0) SetVal(idnapr, 0) Enable(idnapr,0) SetVal(idokrzn, 0) Enable(idokrzn,0) else Enable(idnrzlece,-1) Enable(idmodel,1) Enable(idsernr,1) Enable(idnapr,1) Enable(idokrzn,1) endif Save endif // if !i_numerzlec then // Enable(idnrzlece,-1) // else // Enable(idnrzlece,1) // endif if !i_model then Enable(idmodele,-1) else Enable(idmodele,1) endif if !i_serialno then Enable(idsernre,-1) else Enable(idsernre,1) endif if !i_naprawiajacy then Enable(idnapre,-1) else Enable(idnapre,1) endif if !i_okrzn then Enable(idlpdat,-1) Enable(idodozn,-1) Enable(idddozn,-1) Enable(idodoznt,-1) Enable(idddoznt,-1) else Enable(idlpdat,1) Enable(idodozn,1) Enable(idddozn,1) Enable(idodoznt,1) Enable(idddoznt,1) endif Load //odświeżam wartości na formatce kon_sub: endsub mam nadzieje ze to cos pomoze... |
Autor: | rafal [ 2009-11-03, 17:00 ] |
Tytuł: | |
Chyba nie o to chodziło. To co się dzieje wewnatrz okna jest niezależne od sposobu wyświetlenia okna. |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |