Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-04-25, 18:29x



Odpowiedz w temacie  [ Posty: 9 ] 
message timesup 
Autor Wiadomość

Rejestracja: 2012-10-29, 20:13
Posty: 40
Post message timesup
Chciałbym, aby message się wyświetlał przez jakiś określony czas w sekundach. Po tym czasie żeby zniknał coś w rodzaju popup. Potrzebne mi to jest w FORTE 2011


2013-03-26, 17:56
Wyświetl profil
Autor Wiadomość
 


Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post Re: message timesup
skąd będzie wywoływany?

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2013-03-27, 16:01
Wyświetl profil
Awatar użytkownika

Rejestracja: 2008-12-03, 21:11
Posty: 276
Pomógł: 2
Post Re: message timesup
supersebek pisze:
Chciałbym, aby message się wyświetlał przez jakiś określony czas w sekundach. Po tym czasie żeby zniknał coś w rodzaju popup. Potrzebne mi to jest w FORTE 2011

W AmBasic'u nie ma polecenia sleep czy też innego, alternatywnego - pozostaje jakaś pętelka i zabawa z funkcją Time, coś takiego może nawet zadziałać :-)

_________________
Pozdrawiam

Misiek DGTL Rzeszów


2013-03-27, 22:15
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post Re: message timesup
Można użyć aplikacji wywoływanej z CMD do wświetlenia dymka.

Załącznik:
hmbaloon01.jpg
hmbaloon01.jpg [ 12.74 KiB | Przeglądany 2739 razy ]

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2013-03-27, 23:03
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post Re: message timesup
Misiek pisze:
supersebek pisze:
Chciałbym, aby message się wyświetlał przez jakiś określony czas w sekundach. Po tym czasie żeby zniknał coś w rodzaju popup. Potrzebne mi to jest w FORTE 2011

W AmBasic'u nie ma polecenia sleep czy też innego, alternatywnego - pozostaje jakaś pętelka i zabawa z funkcją Time, coś takiego może nawet zadziałać :-)


Propozycja funkcji Sleep w AmBasicu

Kod:
int sub sleep(int iSec)

   buf = Data() + " " + Time()
   
   find regular "^{*}/--{*}/--{*} {*}/:{*}/:{*}$"
      
   long lStart = (val(regular 3) * 60 * 60 * 24 ) + (val(regular 4) * 60 * 60) + (val(regular 5) * 60) + (val(regular 6))
   long lStop = lStart
   
      while (lStop - lStart) < iSec
      
         buf = Data() + " " + Time()
         find regular "^{*}/--{*}/--{*} {*}/:{*}/:{*}$"
         lStop = (val(regular 3) * 60 * 60 * 24 ) + (val(regular 4) * 60 * 60) + (val(regular 5) * 60) + (val(regular 6))
      
      wend
      
endsub


Ale jak rozwiązać zamykanie okna po czasie to nie mam na razie pomysłu.

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2013-03-28, 12:24
Wyświetl profil

Rejestracja: 2013-02-15, 12:06
Posty: 28
Pomógł: 1
Post Re: message timesup
możesz napisać sleepa np w języku c++ i wywołać ten program z poziomu ambasica


2013-03-28, 22:50
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post Re: message timesup
Temat nie daje mi spokoju :)

Przetestowałem zewnętrzną kontrolkę RSTimer. Wygląda na to, że efekt został osiągnięty.
Niestety kontrolka musi być zarejestrowana na każdym stanowisku z FORTE.

W przykładzie pokazuje się okienko i znika za 3 sek chyba, że użytkownik wciśnie OK.
Dodatkowo popup nie blokuje programu w trakcie pokazywania się (mimo, że pozostaje ontop)

Kod:
int butOK
dispatch dTimer


int sub OnCommand(int id, int msg)

   if id == 0 && msg == 0 then
      dTimer.Interval = 3000
      dTimer.Enabled = 1   
   endif

endsub

int sub dTimer_Timer(dispatch q)
   dTimer.Enabled = 0
   SendDlgItemMessage( butOk, 0x0201)
   SendDlgItemMessage( butOk, 0x0202)    
endsub


FORM "PopUp Window", 200, 100

   butOK = BUTTON "OK",50,50,100,20, -1
   CONTROL "RSTIMER.RSTimerCtrl", dTimer, 5,5,10,10

ExecForm(OnCommand, -1)


Załącznik:
hmbaloon02.jpg
hmbaloon02.jpg [ 32.76 KiB | Przeglądany 2712 razy ]

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2013-03-29, 01:00
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post Re: message timesup
rafal pisze:

Propozycja funkcji Sleep w AmBasicu

Kod:
int sub sleep(int iSec)

   buf = Data() + " " + Time()
   
   find regular "^{*}/--{*}/--{*} {*}/:{*}/:{*}$"
      
   long lStart = (val(regular 3) * 60 * 60 * 24 ) + (val(regular 4) * 60 * 60) + (val(regular 5) * 60) + (val(regular 6))
   long lStop = lStart
   
      while (lStop - lStart) < iSec
      
         buf = Data() + " " + Time()
         find regular "^{*}/--{*}/--{*} {*}/:{*}/:{*}$"
         lStop = (val(regular 3) * 60 * 60 * 24 ) + (val(regular 4) * 60 * 60) + (val(regular 5) * 60) + (val(regular 6))
      
      wend
      
endsub




Inna propozycja jak mogłaby wyglądać funkcja Sleep

Kod:
int sub Sleep(int iSec)
   dispatch ws = "WScript.Shell"
   ws.Run((using "%%COMSPEC%% /c ping 127.0.0.1 -n %l",iSec),0,1 )
endsub

Sleep(5)

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2013-06-26, 13:41
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post Re: message timesup
I jeszcze jeden sposób na Sleep

Kod:
long sub Sleep(long l_msec)
   dispatch dw = "DynamicWrapper"
   dw.Register("KERNEL32.DLL", "Sleep", "i=l", "f=s", "r=l")
   dw.Sleep(l_msec)
endsub


Z tym, że ten wymaga doinstalowania komponentu DynamicWrapper


Załączniki:
dynawrapNt.zip [43.75 KiB]
Pobrany 142 razy

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl
2013-07-11, 15:21
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 9 ] 

Kto jest online

Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 11 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Support forum phpbb by phpBB Assistant