Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Lubiii
Založen: 27. 05. 2008 Příspěvky: 73 Bydliště: Praha 5
|
Zaslal: 28. květen 2008, 14:39:46 Předmět: Delphi - podmíněná proměnná |
|
|
Dobry den,
potreboval bych pomoct s mym aktualnim problemem, ktery vyvstal.
V prubehu jedne metody potrebuji "zapauzovat" a pockat na uzivatele nez vybere jiny objekt. (Jde o karetni hru.)
Problem by zvladla podminena promenna, kterou bohuzel v Delphi vubec nevim jak udelat. Jestli nekdo vi, necht prosim poradi.
Pardon, za nepsani diakritiky, diky za pomoc
Lubiii@seznam.cz
ICQ 270253252 _________________ Lubiii
http://lubimon.theforum.name/index.php
www.Lubiii.cz
Lubiii@seznam.cz
ICQ: 270253252 |
|
Návrat nahoru |
|
|
Quiark
Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 28. květen 2008, 15:03:59 Předmět: |
|
|
Nevím co je podmíněná proměnná. Podle mě bude nejjednodušší danou metodu rozdělit, protože "zapauzovat" při běhu metody nejde (přidat vlákno považuju za zbytečnou komplikaci). _________________ Mám strach |
|
Návrat nahoru |
|
|
Augi
Založen: 28. 07. 2007 Příspěvky: 782 Bydliště: Čerčany
|
Zaslal: 28. květen 2008, 15:10:54 Předmět: |
|
|
Co rozdělit metodu na dvě a tu druhou část (za čekáním) spustit až po tom, co uživatel vybere jiný objekt? |
|
Návrat nahoru |
|
|
Lubiii
Založen: 27. 05. 2008 Příspěvky: 73 Bydliště: Praha 5
|
Zaslal: 28. květen 2008, 15:17:34 Předmět: |
|
|
Quiark napsal: |
Nevím co je podmíněná proměnná. Podle mě bude nejjednodušší danou metodu rozdělit, protože "zapauzovat" při běhu metody nejde (přidat vlákno považuju za zbytečnou komplikaci). |
Tuhle reakci jsem cekal (a je to presne ta kterou nechci)
Ale nijak jednodusse to rozdelit nejde. Uz jsem to zkousel. _________________ Lubiii
http://lubimon.theforum.name/index.php
www.Lubiii.cz
Lubiii@seznam.cz
ICQ: 270253252 |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 28. květen 2008, 15:26:36 Předmět: |
|
|
co myslis podminenou promennou? - treba cekat na event pomoci CreateEvent a SetEvent?
a nebo to udelej po vzoru WinAPI - spust metodu ktera neco udela, ale samotne zpracovani kliku na kartu udelej az jako reakci na prijeti zpravy ze systemu
obecne toto je spatny pristup - mel bys tam mit herni smycku, ktera tyto situace resi
1) posles zpravu zobraz okno
-- provedes ji
2) a pak prijde zprava - kliknulo se
-- zpracujes ji |
|
Návrat nahoru |
|
|
posila
Založen: 29. 07. 2007 Příspěvky: 201
|
Zaslal: 28. květen 2008, 15:52:28 Předmět: |
|
|
Takovy doplnujici dotaz... delas si okno sam, nebo pouzivas formular?
A jinak... vubec netusim jak napsat metodu, ktera nejde rozdelit na dve (ale mozna mi jen uz lezou na mozek funkcionalni jazyky )
Naposledy upravil posila dne 28. květen 2008, 15:58:43, celkově upraveno 1 krát |
|
Návrat nahoru |
|
|
franz
Založen: 30. 07. 2007 Příspěvky: 1325
|
Zaslal: 28. květen 2008, 15:52:57 Předmět: |
|
|
pokud něco nejde, tak je to špatně navržený |
|
Návrat nahoru |
|
|
Augi
Založen: 28. 07. 2007 Příspěvky: 782 Bydliště: Čerčany
|
Zaslal: 28. květen 2008, 16:11:24 Předmět: |
|
|
Lubiii napsal: |
Ale nijak jednodusse to rozdelit nejde. Uz jsem to zkousel. |
To bych teda chtěl vidět metodu, která nejde rozdělit na dvě I kdybys to čekání měl uvnitř cyklu, tak si můžeš někdo uchovat stav iterační proměnné (to je nejblbější místo na rozdělení metody, které mě napadlo). |
|
Návrat nahoru |
|
|
Lubiii
Založen: 27. 05. 2008 Příspěvky: 73 Bydliště: Praha 5
|
Zaslal: 28. květen 2008, 18:51:04 Předmět: |
|
|
Díky všem. Zkusím to tedy rozdělit.
Chtěl jsem si hlavně vyzkoušet nový postup, kterým by se celý problém vyřešil daleko snáze.
Chtěl jsem použít vlákno. V průběhu metody se zavolá vlákno a pozastaví se metoda s čekáním na něj. Až dopracuje, tak nastaví onu promenou a puvodni metoda se rozjede dal. Není v tom aktivni cekani, tudiz to nezere 99% CPU.
Jdu rozdělovat, díky za pomoc
PS: kdyby měl někdo zájem mi pomoci s hrou, může se ozvat
Ocením i jednoduchou pomoc jako konzultace herních pravidel a mechanismů. ICQ 270253252 _________________ Lubiii
http://lubimon.theforum.name/index.php
www.Lubiii.cz
Lubiii@seznam.cz
ICQ: 270253252 |
|
Návrat nahoru |
|
|
Lubiii
Založen: 27. 05. 2008 Příspěvky: 73 Bydliště: Praha 5
|
Zaslal: 28. květen 2008, 20:15:43 Předmět: |
|
|
Augi napsal: |
Lubiii napsal: |
Ale nijak jednodusse to rozdelit nejde. Uz jsem to zkousel. |
To bych teda chtěl vidět metodu, která nejde rozdělit na dvě I kdybys to čekání měl uvnitř cyklu, tak si můžeš někdo uchovat stav iterační proměnné (to je nejblbější místo na rozdělení metody, které mě napadlo). |
Ja tam schvalne napsal to jednoduse nejde ne ze nejde vubec
Uz to mam rozdeleno, problem solved.
Diky vsem este raz _________________ Lubiii
http://lubimon.theforum.name/index.php
www.Lubiii.cz
Lubiii@seznam.cz
ICQ: 270253252 |
|
Návrat nahoru |
|
|
Mem
Založen: 28. 07. 2007 Příspěvky: 1959 Bydliště: Olomouc
|
Zaslal: 28. květen 2008, 20:43:32 Předmět: |
|
|
Zapauzovat uprostřed metody samozřejmě můžeš jak je libo, pokud chceš, aby ti chodily další windows zprávy a formulář reagoval, tak budeš volat Application.ProcessMessages. Druhá věc je, že to je špatný návrh a připrav se na problémy s tímhle řešením (skutečně dokud se z těla té metody nevyjde, tak některé eventy se nezpracují (třeba ukončení aplikace ) atd. _________________
|
|
Návrat nahoru |
|
|
Lubiii
Založen: 27. 05. 2008 Příspěvky: 73 Bydliště: Praha 5
|
Zaslal: 28. květen 2008, 21:01:03 Předmět: |
|
|
Application.ProcessMessages fintu znam a i sem ji tam mel, jenze byl pak prave problem s enginem a zrychlenou animaci.
Ale uz sem to rozkouskoval, rozcaseoval atd... takze uz to nejak beha.. dik _________________ Lubiii
http://lubimon.theforum.name/index.php
www.Lubiii.cz
Lubiii@seznam.cz
ICQ: 270253252 |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 29. květen 2008, 07:52:32 Předmět: |
|
|
lubii rikam jeste jednou - pokud pises tu hru jako sahodlouhe ify a casy - jako ted udelej toto a pak toto a pak jeste toto jdes do pekel
mnohem lepsi je to promyslet a udelat dobrou herni smycku - kdy centralizovane reagujes na "povely" - ve windows se jim rika zpravy - takze na nic necekas - proste kreslis a az prijde zprava "hrac-vybral-kartu" - tak na ni zareagujes - s jakymkoliv cekanim a threadovanim v takovychto situacich se distancujes od hlavni smycky a to opravdu neni dobre - typicky to znamena ze na takova mista prenasis kusy kresliciho kodu aby se i tady kreslilo |
|
Návrat nahoru |
|
|
Lubiii
Založen: 27. 05. 2008 Příspěvky: 73 Bydliště: Praha 5
|
Zaslal: 29. květen 2008, 09:53:45 Předmět: |
|
|
Díky,
opět říkám, že jsem se chtěl jenom neco naucit/vyzkouset v Delphi - delali sme to v skole pod unixem a chtel jsem to nejak zakombinovat do delph.
Nejsem az takova lama. Uz sem nekolik desitek tisic radku napsal (myslim ze i kvalitnich). Jiste ze je vse rizeno udalostmi (Jak jinak Delphi ze?). A zadne sahodlouhe case a ify a dlouhe metody... prosim jiz zadne obavy od nikoho.
Dekuji vsem za reakce a konstruktivni pripominky, tímto diskuzi koncim _________________ Lubiii
http://lubimon.theforum.name/index.php
www.Lubiii.cz
Lubiii@seznam.cz
ICQ: 270253252 |
|
Návrat nahoru |
|
|
|