Przykład w Assemblerze MASM32, ale to WinAPI, więc powinieneś dać radę bez problemu przetłumaczyć na jaki chcesz język. Procedura licznika: TimerProc proc hWnd : DWORD, uMsg : DWORD, idEvent : DWORD, dwTime: DWORD ;kod który ma być wykonywany ret TimerProc EndP Start...
Skoro piszesz o WM_TIMER, to pewnie chodzi o funkcję SetTimer. Jej pierwszy argument może być zerem gdy nie masz okna, wtedy drugi argument jest ignorowany, a funkcja zwraca identyfikator utworzonego timera, który podajesz do funkcji KillTimer. Gdy już uruchomisz taki timer, będzie on wysyłał komunikat...
Witam Serdecznie ;] Pisząc program komunikujący się przez RS232 natrafiłem na problem z "blokującymi" się ReadFile i WriteFile. Teraz problem jest chwilowo rozwiązany poprzez zastosowanie Timerów (jednego do odczytu i jednego do odbioru, i jeszcze jednego do analizy danych). Dzięki czemu w jednym...
Witam wszystkich BARDZO serdecznie ;] Od pewnego czasu piszę swoją aplikację (C++ Builder) wykorzystującą komunikację po RS-232. W wersjach BETA program był jednowątkowy a komunikacja opierała się na timerach. Postanowiłem jednak że w wersji finalnej program musi posiadać asynchroniczną komunikację...
Co do paska to TIMER załatwił sprawę :P. Możecie (jak wiecie jak) poprawić ten kod kalkulatora aby wreszcie działał :( #include <windows.h> #include<string>... mnoz 1000 #define dzie 1001 #define odej 1002 #define dodaj 1003 using namespace std; LRESULT CALLBACK WindowProcedure...
Kiedyś programowałem w WinApi i szło to jakoś tak: Na początku zdefiniuj sobie timer tak: #define IDT_TIMER1 1001 w trakcie programu po stworzeniu okna najlepiej wywołujesz pierwszy timer: unsigned int czas = rand() % 10 + 25; // czas od 10 do 35 sek SetTimer(hWnd,IDT_TIMER1,czas,TIMER...
Mój program po stworzeniu nowego wątku odczytującego coma mocna obciąża procesor, ponad 90%. Nie musisz uruchamiać nowego wątku. Otwórz jakieś okienko i uruchom w nim timer np 100ms, a w zdarzeniu timera zrób ReadFile - to wcale nie obciąża procesora Timeout COMa ustaw na max 90% interwału timera...
Witam. Pisze program, ktory komunikuje sie w Modbusie. W trybie RTU znak poczatku i konca ramki to 3xdlugosc trwania pojedynczego znaku. Ramka jest poprwana, jezeli pomiedzy kolejnymi odbieranymi znakami nie bedzie wiekszej przerwy niz 1.5xdlugosc trwania pojedynczego znaku. I tu lezy problem. Jak...
hmm.. aktualnie korzystam pod irda. (u mnie zainstalowana pod COM3) jednak... wysylanie do portu (telefonu) dziala idealnie.. natomiast odbior? aplikacja przywiesza sie, trzeba baaardzo dlugo czekac na odp. po podsluchu zauwazylem bardzo duzo "paczek"(?) DOWN typu FALSE.. czyli tak jakby read sie...
(VS.85).aspx (VS.85).aspx 2. Timer / wątek 3. A kiedy ma okno nie być jak nie przy włączaniu? 4. Procedury? Chcesz kod źródłowy Windowsa?
Do momentu, kiedy nie traktujesz pola wizualnego jako miejsca do przechowywania danych, to możesz robić co chcesz. Zasadniczo tego typu obiekty powinny służyć tylko interakcji z użytkownikiem - jeśli on coś wpisuje - zapisz to w zmiennej, jeśli Ty - wyświetl tam wyniki z działań. Do Timera nie trzeba...
Na MSDN znalazłem taką funkcję DWORD WINAPI MsgWaitForMultipleObjects( __in DWORD nCount, __in const HANDLE *pHandles, __in BOOL bWaitAll, __in DWORD dwMilliseconds, __in DWORD dwWakeMask ); Jeżeli ustawisz dwWakeMask na QS_TIMER to funkcja czeka na wiadomości...
A gdyby skorzystać z dodatkowego timera, który wysyłałby komunikaty co określony czas, i w zależności od stanu przycisku sterował pojedynczą lub powtarzaną akcją ? No dokładnie tak chce zrobić, tyle że potrzebuje złapać zdarzenie wciśnięcia i puszczenia zamiast kliknięcia. Poniższy przykład pokazuje...
Wstawiłem w [syntax=cpp] case WM_CREATE: { SetTimer( hwnd, 1, 1000, NULL ); break; } [/syntax] i puźniej w [syntax=cpp] case WM_TIMER: { HWND hOkno = FindWindow(NULL,"API Client"); if(hOkno) { GetWindowThreadProcessId(hOkno,&processI...
Temat nie raz wałkowany, a rozwiązanie leży w WinAPI i QueryPerformanceCounter tak więc zupełnie niezależne od języka programowania.
No to nie bedzie tak zle :) C++ ma duzo wspolnego z C :) po prostu nie bedziesz mial wszystkiego tego co masz w C++ :) Dobrze ze pisales w WinApi bo c++ z .NET ma juz nie wiele wspolnego z c++ i to by byl czas stracony, zwlaszcza ze w .NET najlepiej uzywac C# A co do Timera to ktory tam chcesz......
Witam Pisze prostą aplikacje w c++ builder do komunikacji pomiędzy komputerem a miernikiem. Do miernika wysyłam 5 bajtowa ramkę danych za pomocą funkcji transmitcommchar. W odpowiedzi miernik przesyła również ramkę danych. Do odbioru tych danych chce wykorzystać komponent timer który będzie co jakiś...
Kolega sulfur nie doczytał, nie pisałem o WinAPI, tylko o swoim okienkowym API na AVR, a że jest podobny do WinAPI z czasów W3 to nie dziwne. Pominąć zdarzenia możesz nie tylko w przypadku okienek, także w technicznych zastosowaniach. Np. czekasz na naciśnięcie przycisku, nerwowy użytkownik naciska...
kolego, powyzsze watki mowia zeby wykorzystac czestotliwice procesora + licznik cykli, wszystko jest w winapi, wiec kontrolowane systemem win a jaki jezyk do tego uzyjesz jest bez znaczenia. jezeli upierasz sie na dos, to wiem ze kiedys mozna bylo wykorzystac timer 8253/8254 piszac procedure w asm, np:...
Witam. W WinAPI raczej nie korzysta sie z akcji typu Delay() :). Uzyj kontrolki Timer - ustaw odpowiedni czas i zareaguj na komunikat od tej kontrolki (chyba OnTimer). Dziala to tak, ze Timer, po ustawieniu np: 400ms co 400ms generuje komunikat OnTimer. Dalej powinienes sobie poradzic. Jak nie, to pisz....
Napotkałem kolejny problem...nie wiem w jaki sposób miałbym zrealizować taką funkcję która co jakiś czas po uruchomieniu automatycznie by sie wywoływała. Tzn chodzi mi o to że odpalam przyciskiem zbieranie pomiarów i one co 100ms się zbierają i aktualizuje się treść TextBoxa...jednakże nie chodzi...
Poprzedni temat został zamknięty... hmmm... no nic. Tu masz klasę do rejestracji klawiszy skrótu: Opis działania: Uruchamiasz program i klikasz klawisz skrótu lub przycisk. Okno chowa się na 1s, po 500ms robiony jest screen. Timer1 - realizuje opóźnienie 500ms test - flaga określająca stan...
Witam Od pewnego czasu zajmuje się komunikacją ATMEGI 328P i komputera poprzez popularny prot COM. Napisałem własny program w C++, który odbiera pewne dane od ATMEGI. W programie użyłem struktury DCB Winapi. Jako, że Atmega nie odzywa się nie pytana użyłem timera, który sprawdza czy przypadkiem coś...
Wątek to nic innego, jak niezależny blok kodu, który po części żyje własnym życiem. Choć jest uzależniony od procesu (programu), który go stworzył, to dysponuje przede wszystkim własnym czasem procesora. Dzięki temu możesz w nim wykonywać instrukcje w sposób równoległy (niezależny) od reszty programu...
Witajcie moi drodzy Przedstawię tutaj przykład użycia 32-bitowego mikrokontrolera PIC32MX250F128B w roli hosta USB obsługującego pendrive (zapisującego i odczytującego z niego dane). W temacie opiszę najpierw płytkę którą pod tego PICa zaprojektowałem, a potem przykładowe kody obsługi pendrive...
Też polecam metodę z przedstawieniem liczby w postaci znakowej i przesłania jej w takiej postaci. Wymieniłbym tu następujące uwagi: 1. Rzeczywiście, jak zauważył bobbyAIR , żadna z wartości zaraz po odbiorze przez uP lub PC nie ma jeszcze jakiejś szczególnej interpretacji, o ile takiej nie narzucisz....
rozwiazania są 2...Pierwszy na formie dajesz takie samo zdarzenie onmousemove... Drugie to obsługa myszy po winapi i kontrolowanie położenia bezwzględnego wraz z monitorowaniem położenia tej bitmapy...Tylko potrzebny wtedy timer albo wątek obsługi myszy... Jeszcze inny sposób to ONMOUSE LEAVE
Joya obsługuje się najprościej z winapi. Poniżej 2 funkcje niezbędne...Najpierw należy przechwycić joy (joyGetDevCaps) a potem wystarczy tylko timer i cyklicznie JoyGetPos....Acha dla joystickjów więcej niż 2 osiowych używa się JoyGetPosEx z tej samej dll'ki... Public Declare Function joyGetPos...
Po bardzo długiej przerwie na forum wracam ;] Program świetnie działa na kolejce STL-a Teraz zmagam się z wątkami i ich synchronizacją... Chciałbym by: - jeden wątek był odpowiedzialny za odbiór z COM - drugi wątek był odpowiedzialny za wysyłanie do COM - trzeci wątek główny za interfejs. W...
Steropes Witam, chciałem przedstawić robota klasy linefolower. Pracowałem nad nim w wolnym czasie około roku wliczając różne wersje. Jak zwykle chciałem odejść od stereotypów i głównego nurtu linefolowerów. Głównym celem było, aby robot mógł widzieć linie przed nim, by mieć trochę więcej czasu...