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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 30 kwi 2025, o 15:28


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
    Autor Wiadomość
    PostNapisane: 3 lut 2016, o 20:57 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 lis 2011
    Posty: 266
    Lokalizacja: Szczecin
    Pomógł: 9

    Witam,

    W C# napisałem bardzo prosty terminal, odbiera komendy z RS232 i wyświetla je w komponencie ListBox1.

    Problem mój polega na tym, że jak nadleci przykładowo 100 komenda to muszę przewijać pasek od ListBox abym zobaczył jaka komenda przyleciała. Chciałbym zrobić to w taki sposób aby pasek do przewijania ListBox przesuwał się w drugą stronę. Czyli jak bym chciał sprawdzić starsze komendy, to dopiero bym musiał przesunąć pasek.

    Szukam we właściwościach komponentu ListBox i nie moge nic znaleźć :/

    _________________
    www.gryfsmart.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 lut 2016, o 23:55 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 maja 2012
    Posty: 471
    Lokalizacja: ZGY/ZS
    Pomógł: 30

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


    Autor postu otrzymał pochwałę

    _________________
    eDiyCraft.blogspot.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 lut 2016, o 00:34 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 lis 2011
    Posty: 266
    Lokalizacja: Szczecin
    Pomógł: 9

    Czyli ta linijkę, którą napisałeś mam umieścić np w timerze?

    Nie wiem czy jasno opisałem o co mi chodzi :)

    Obrazek

    Chodzi mi o to, że muszę ręcznie przesuwać pasek abym odczytał najnowsza komendę, która przyszła na RS232.

    ...albo od razu jak dodam nową linie, mam od razu odpalić komendę? tego nie próbowałem, zaraz wypróbuje.

    _________________
    www.gryfsmart.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 lut 2016, o 07:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sie 2013
    Posty: 3797
    Lokalizacja: Grudziądz
    Pomógł: 143

    Ja bym nie zajmował się paskiem tylko sposobem dodawania danych do komponentu.

    dane_tmp = dane_usart + dane_list
    dane_list = dane_tmp

    Oczywiście jest to łopatologiczny przykład ale na tej zasadzie nowe dane zawsze będą na gorze.
    Chodziło mi o pokazanie jak dodawać dane do twojej listy aby nie zajmować się paskiem.

    Pasek w tym momencie przewiniesz jak będziesz chciał zobaczyć stare dane.



    Wysłane z mojego Tab2A7-10F przy użyciu Tapatalka

    _________________
    Usługi druku przestrzennego - www.drumik.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 lut 2016, o 07:20 
    Offline
    Użytkownik

    Dołączył(a): 04 kwi 2014
    Posty: 133
    Pomógł: 4

    majster napisał(a):
    Oczywiście jest to łopatologiczny przykład ale na tej zasadzie nowe dane zawsze będą na gorze.


    No można i tak, ale to taki trochę "inny terminal" niż wszystkie:) Zazwyczaj nowe, przechwycone dane wyświetlane są "na dole".

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


    To chyba najlepsze rozwiązanie w Twoim wypadku, po prostu gdy terminal coś odbierze dorzuć to na końcu swojej metody odbioru.


    btw. dlaczego akurat listbox? Jest taka kontrolka jak RichTextBox, która ma w sobie już gotową metodę-ScrollToEnd ;)
    Dodatkowo można w niej kolorować czcionkę każdego znaku na inny kolor(kiedyś tego potrzebowałem przy budowaniu terminala, żeby łatwiej mi było znaleźć błędy).
    A idąc jeszcze dalej, to możesz do niej wpisywać komendy i wysyłać.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 lut 2016, o 08:50 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 maja 2012
    Posty: 471
    Lokalizacja: ZGY/ZS
    Pomógł: 30

    Tak, wykonujesz to SelecteIndex po tym jak dodasz nowy element do listy, nie trzeba powtarzać tego w timerze.

    _________________
    eDiyCraft.blogspot.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 lut 2016, o 14:35 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 lis 2011
    Posty: 266
    Lokalizacja: Szczecin
    Pomógł: 9

    bloniak91 napisał(a):
    btw. dlaczego akurat listbox? Jest taka kontrolka jak RichTextBox, która ma w sobie już gotową metodę-ScrollToEnd ;)


    Nie wiem :) Zacząłem od list box :) Własnie brakowało mi takiej metody w list box:) Chyba też łatwiej będzie się kolorowało -RichTextBox :-) W zależności od tego jakie komendy przyjdą to chwiałbym im nadać różne kolory ale to już temat na osobny post ;)

    Dzięki za pomoc! :)

    _________________
    www.gryfsmart.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 lut 2016, o 19:36 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 maja 2014
    Posty: 1089
    Pomógł: 34

    Jeśli używasz multiline to możesz użyć metody setselected i wtedy rezultat ten sam jak podany przez kolegę bloniak :)

    Sent from my GT-I9506 using Tapatalk

    _________________
    sig off ;(



    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: 8 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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