Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 mar 2024, o 10:41


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 
Autor Wiadomość
PostNapisane: 27 lut 2018, o 09:12 
Offline
Użytkownik

Dołączył(a): 01 lis 2015
Posty: 129
Pomógł: 0

Żeby lepiej zrozumieć sterowanie silnika to postanowiłem sam się pobawić i mam kilka pytań:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Silnik cały czas się kręci w prawo a wg mojego zamysłu miał kręcić się tylko 90 kroków. To się dzieje przez zagnieżdżenie if w if?? Zmienna prawo jest zmienną lokalną więc chyba ma dostęp z if podrzędnego do if-a nadrzędnego. Dlaczego jak ostani if zapiszę:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
to wyskakuje syntax error.
Układ testuje Atmega 32 (zestaw ATB), Eclipse.
Czy taka składnia jest poprawna:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

czy niesie za sobą jakieś niebezpieczeństwo?


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Silnik zrobi 95 kroków i się zatrzymuje ale silnik "trzyma" zmienna prawo się nie zeruje?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2018, o 12:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

elektronikq napisał(a):
Dlaczego jak ostani if zapiszę:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

to wyskakuje syntax error.
Musisz przyjrzeć się swojej składni kodu i podział na elementy które będą wykonywane przy poszczególnych warunkach (np. nawiasy).
elektronikq napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


--
Pozdrawiam,
Robert


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2018, o 14:27 
Offline
Użytkownik

Dołączył(a): 01 lis 2015
Posty: 129
Pomógł: 0

O co chodzi z if(kroki==0)prawo=1;?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2018, o 18:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1146
Lokalizacja: Kraków
Pomógł: 93

Postarałem się wyjaśnić błąd syntax error opisami w kodzie ;)
elektronikq napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2018, o 19:19 
Offline
Użytkownik

Dołączył(a): 01 lis 2015
Posty: 129
Pomógł: 0

Czytając bb mam pokazane że pod if-em może być kilka else if.
//część programu
if (warunek1) instrukcja1;
else if (warunek2) instrukcja2; /1
else if (warunek3) instrukcja3; /2
else if (warunek4) instrukcja4; /3

dalsza część programu //

Mam kilka else po jednym if i jest dobrze?
Jeśli chodzi o zrozumienie if i else kodu wyżej:
Jeśli warunek będzie spełniony to wykona się instrukcja1 i potem program wraca do dalszej części programu
czy sprawdza wszystkie else if i wrazie spełnienia warunków2 i 3 i 4 wykonuje instrukcje 2, 3 i 4?

Jeśli chodzi o zagnieżdzenie if w if-ie? Czy jeśli używam w if-e podrzędnym zmiennej globalnej czy lokalnej to po zmianie tej zmiennej będzie ona dostępna poza if-em podrzędnym i nadrzędnym np.:

if (warunek) if nadrzędny
{
instrukcja
if (warunek 1) instrukcja1( np.: zmienna=1;) if podrzędny
}



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2018, o 20:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Cytuj:
O co chodzi z if(kroki==0)prawo=1;?
Po if oraz po else wykonywana jest jedna instrukcja. Jeżeli chcesz dawać więcej to musisz zrobić blok poprzez użycie nawiasów klamrowych { }. Danie zapisu prawo=1; kończy w tej linii wszystkie instrukcje wykonywane przy spełnieniu warunku w if-ie. Kolejnym słowem nie jest else (tylko nawias {), więc kończy się całkowicie sprawdzanie warunku i instrukcje.

Zapis if - else jest bardzo logiczny. if to jest jeżeli a else oznacza w przeciwnym wypadku. Działania to jedna instrukcja lub blok instrukcji znajdujący się w nawisach {}. Jeżeli po działaniach z if znajduje się else to wykonywane są działania w przypadku niespełnienia warunku. A jak jest coś innego, to traktowane jest to jako kolejna niezależna instrukcja.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Oczywiście działaniem może być kolejna instrukcja if, dzięki temu można zagnieżdżać warunki:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


--
Pozdrawiam,
Robert


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2018, o 21:49 
Offline
Użytkownik

Dołączył(a): 01 lis 2015
Posty: 129
Pomógł: 0

Dziękuje Mistrzu. Napisałem tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

I program tak działa jak chce. Obrót wolny w prawo, stop = 2 sekundy i obrót szybki w lewo. I chciałem, żeby program się zapętlił i ustawiłem na koniec kroki=1; ale silnik stoi. Czy może ktoś podpowiedzieć w czym błąd?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2018, o 10:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Polecam Ci podłączenie wyświetlacza np. LCD 2x16 i na niego wyrzucanie wartości zmiennych np. zmiennej kroki. Dzięki czemu będziesz widział jak zachowuje się twój program i gdzie masz błąd. Jak na podłączanie wyświetlacza jest u Ciebie za wcześnie (choć jak zajrzysz do BB to wszystko stanie się od razu jasne), to podłącz na któryś wolny port 8 diodek i wrzucaj do niego stan zmiennej - będą zaświecać Ci się odpowiednio diody pokazując wartość zmiennej, choć to jest trudniejsze do obserwacji jak nie ma się naturalnego liczenia w kodzie binarnym :).


Warunek opierasz na jednej zmiennej to kroki, więc pomyśl o zastosowaniu switch-a zamiast warunków if. W takim wypadku kompilator d razu podałby Ci że warunek kroki==193 jest już wcześniej zawarty w innym, więc ten else się nie wykona.


Nie jest dobrym zwyczajem opierać warunki wykonania ruchu (zmienna kroki) od fazy kroku. Bo jak źle zrobisz w warunkach granicę to będziesz przeskakiwał kroki i będzie problem z kręceniem silnikiem.
Rozumiem że to są początki programowania, ale może warto od razu wyrzucić z pętli warunków na liczbę kroków samo kręcenie silnikiem do zewnętrznej funkcji i w niej trzymać fazę silnika. A wywoływać ją tylko z argumentem liczby kroków i ewentualnie kierunek i opóźnienie i nie interesować się w głównej części czy ma to być teraz KROK1 czy może KROK3.

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2018, o 11:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Kontynuując propozycję zrobienia tego samego w lepszej kodowo wersji, zobacz czy coś takiego nie będzie dla Ciebie zrozumiałe, a jak bardzo uniwersalne i przejrzyste to jest:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Aby wykonać krok wystarczy zmiana stanu pinów. Więc aby wykonać kilka kroków to trzeba wywołać kilka razy razy funkcję w określonych odstępach. Nie ma konieczności czekania między nimi, tylko można ten czas oddać innym funkcją / procesom. Aby nie dokładać kolejnego elementu to zamiast timerów sprzętowych / programowych jest w przykładzie dana funkcja _ms_delay() wywoływana wielokrotnie do czasu wyzerowania zmiennej timer. Ale struktura jest już przygotowana pod użycie timera programowego / sprzętowego. Argumentem funkcji _ms_delay() jest 1, więc timer określa opóźnienie w ms.

W funkcji move używany jest argument będący jednym z trzech wartości:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


To teraz wystarczy dodać funkcję move która odpowiednio zmieni położenie silnika.
W funkcji move musimy pilnować fazy silnika by odpowiednio ją zmieniać (inaczej w lewo a inaczej w prawo), więc powołujemy statyczną zmienną phase.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Jak wysłaliśmy OFF, to tylko wyłączamy silnik. Jak LEWO i PRAWO, to odpowiednio zwiększamy lub zmniejszamy pharse a następnie nowy stan wystawiamy na piny.
Dzięki temu wywołanie OFF wyłączy silnik ale nie zgubi fazy kroków.

--
Pozdrawiam,
Robert

PS. Kod pisany jest na sucho, bo nie mam w tej chwili jak sprawdzić, więc mam nadzieję że nie ma w nim błędów :).


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2018, o 21:02 
Offline
Użytkownik

Dołączył(a): 01 lis 2015
Posty: 129
Pomógł: 0

Cytuj:
Warunek opierasz na jednej zmiennej to kroki, więc pomyśl o zastosowaniu switch-a zamiast warunków if. W takim wypadku kompilator d razu podałby Ci że warunek kroki==193 jest już wcześniej zawarty w innym, więc ten else się nie wykona.

W którym miejscu w programie kroki się równają 193 dwa razy?
Jutro będę miał zestaw i przetestuje programy.
Dziękuje za pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2018, o 21:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

193 łapie się w warunku:
elektronikq napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

oraz w:
elektronikq napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2018, o 23:01 
Offline
Użytkownik

Dołączył(a): 01 lis 2015
Posty: 129
Pomógł: 0

Czyli ta ostatni warunek wogóle się nie wykona?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Przy takiej konstrukcji byłoby inaczej, oczywiście zmienna kroki musiałaby się zwiększyć o 1 aby wykonać ostatnie else.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2018, o 23:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

elektronikq napisał(a):
Czyli ta ostatni warunek w ogóle się nie wykona?
Dokładnie tak :).
elektronikq napisał(a):
Przy takiej konstrukcji byłoby inaczej, oczywiście zmienna kroki musiałaby się zwiększyć o 1 aby wykonać ostatnie else.
Przy takiej konstrukcji programu i "skakaniem" zmiennej kroki musisz pilnować jakie wartości są możliwe. Dlatego zaproponowałem Ci inne podejście.

Jeszcze tak dla nauki, abyś kiedyś nie musiał mieć nauczkę ;). Jeżeli zmienna może przyjmować wartości z całego swojego zakresu, to warto w warunkach pokryć jej cały zakres. U Ciebie zakres w warunkach kończy się na 193. A co będzie jak coś zmienisz w jej inkrementacji i będzie mieć 194 lub więcej? A rozwiązaniem jest jeden prosty znak w warunku ">". Zamiast:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
dać:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Albo w ogóle dać tylko:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
:) .

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 10 minutach ]

Z tymi warunkami to jak ze światłami. Robisz warunki "jeżeli czerwone", "jeżeli żółte", "jeżeli zielone" i wygląda że jest OK. No nie, bo jeszcze może być pulsująca sygnalizacja lub całkowicie wyłączona. A nie daj Boże jeszcze coś się zepsuło i świeci się jakaś dziwna kombinacja :(. I to także musi być uwzględnione w warunkach. Czyli powinien być dany na koniec else na wszystkie nieprzewidziane sytuacje w którym musisz rozwiązać problem w sposób kontrolowany i coś robiąc by nie utknąć na skrzyżowaniu jak kiedyś samochód autonomiczny Google :).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 kwi 2018, o 20:02 
Offline
Użytkownik

Dołączył(a): 01 lis 2015
Posty: 129
Pomógł: 0

Jak mam w programie:


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


To program się wykonuje po kolei i kolejny krok
np. if (obroty==91) może się nie wykonać ponieważ, jak program doliczy do 91 i trafi na moment:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

To zaraz będzie miał 92 i dopiero potem trafi na kolejny if gdzie pyta czy silnik zrobił 92 kroki więc go nie wykona.
Lepiej co każdy krok pytać if' em czy sprawdzić czy wykonał 92 kroki czyli obrót:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


czy lepiej zastosować przerwanie i sprawdzać np. co 1 ms ile jest w zmiennej KROKI?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 kwi 2018, o 21:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Wklejone kody są chyba lekko rozjechane:
elektronikq napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

elektronikq napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

elektronikq napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Popraw je, bo w takiej ich postaci to ciężko jest się na ich temat wypowiedzieć :(.

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 kwi 2018, o 12:04 
Offline
Użytkownik

Dołączył(a): 01 lis 2015
Posty: 129
Pomógł: 0

Mam taki kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Czyli przy 181 ma się silnik zatrzymać a on się nie zatrzymuje. Ja to rozumiem tak:
Program wykonuje się linijka po linijce więc jak opuści już 3 if to zmienna kroki może mieć nie 181 tylko 182 więc warunek się nie wykona.
I teraz jak to rozwiązać.
1. Zrobić przerwania co 1ms odpytywać się o zmienną kroki?
2. Zrobić w ifach odpytania o zmienną kroki:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 kwi 2018, o 16:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

elektronikq napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

A co się dzieje jak kroki równe są 91, bo nie ma na to warunku?

Przy takim stylu pisania zawsze gdzieś pojawi się błąd, szczególnie jak będziesz chciał zmienić liczbę kroków, to wszystko może się rozjechać :(.
Skorzystaj z propozycji wcześniej wrzuconego przeze mnie kodu. Masz tam oddzielone kroki od fazy oraz jawnie wrzucone przedziały w case.

--
Pozdrawiam,
Robert


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 kwi 2018, o 19:29 
Offline
Użytkownik

Dołączył(a): 01 lis 2015
Posty: 129
Pomógł: 0

Tam powinno być kroki==90 i potem kroki==180.
Twój sposób przetestuje dziękuje. Jednak tutaj bardziej chodzi o zrozumienie więc pytam.:)
Jak program się wykonuje po kolei to jak wyjdzie z if gdzie kroki>90 to może być tak, że dwa warunki się będą wykonywać albo ten drugi się nie wykona bo jak program opuści przed ostatni if z zmienną kroki ==182. Bo co krok zmienna jest zwiększana. Więc cały czas warunek będzie spełniony, że kroki >90.

Chciałbym więc np. że jeśli tylko w programie kroki osiągną np. wartość 180 to od razu przeszedł do następnego ifa.
Czyli tak jak pisałem pytać się w ifach? Czy przerwanie co 1ms lub krócej?
Czy Pan rozumie o co mi chodzi?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2018, o 22:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Jak masz warunek na kroki == 90, to jak skaczesz co 4, to nie trafisz w tę wartość, bo 90 nie jest podzielne przez 4. Jak zaczynasz liczyć od 0 to trafiasz na warunki z wartością 88 a potem z wartością 92 a wartość 90 nie jest sprawdzana :(. Tak samo dzieje się z wartością 181.

Według mnie (choć nie wiem jak masz w pozostałej części kodu) do kodu z pierwszego warunku (kroki < 90) trafiasz z wartościami zmiennej kroki równej 0, 4, ..., 84, 88. Warunek drugi (kroki == 90) nie jest nigdy prawdziwy (bo kroki mają wartość 88 a potem 92). Warunek trzeci (kroki > 90) wykonywany jest dla zmiennej kroki o wartościach 92, 96, ... 176, 180, 184, 188, .... Warunek czwarty (kroki == 181) nigdy nie jest prawdziwy (kroki mają wartość 180 a potem 184).

Dlatego powtórzę kolejny raz. Zabawa w kroki wykonywane po kilka by zapewnić komplet przesunięć jest bardzo złym pomysłem i wymaga dokładnego wyliczenia wartości do warunków. A przy pierwszej zmianie znowu będziesz musiał wyliczać wartości dla wszystkich warunków. Dlatego zmień sposób obsługi silnika na coś w proponowanym stylu.

--
Pozdrawiam,
Robert


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 kwi 2018, o 11:04 
Offline
Użytkownik

Dołączył(a): 01 lis 2015
Posty: 129
Pomógł: 0

Czyli ok rozumiemy się. Bo mi teraz już nie chodzi o ten program tylko o to sprawdzanie. Czy jest jakiś sposób na sprawdzanie tej zmiennej kroki, że w każdym razie jak doliczy do 90, 190 to program mi wykona coś innego. Myślałem o przerwaniu, o goto ale teraz sie zastanawiam czy pętla nie jest zbyt szybka żeby badać ją przerwaniem. Chyba że między krokami dam większe delay ale te co są duże. Problem pewnie pojawi się przy małych przerwach między krokami.?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 kwi 2018, o 12:39 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 230
Pomógł: 26

Nie wiem czy dobrze rozumiem pytanie
Ale czy o to Ci chodzi?

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 13 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO