Problem z tablicą dwu wymiarową

Pytania, kody i porady dotyczące nie tylko Bascom.
Awatar użytkownika
niveasoft
Posty: 1215
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Problem z tablicą dwu wymiarową

Post autor: niveasoft » 17 kwie 2019, 3:09

Przy jednym z projektów spałem po 4h//dobę to profilaktycznie przeprowadziłem wczoraj re-set :D
Czy 4x3 dalej równa się 12? :D Kalkulator Windows mówi że tak. Biorę się za następne zadanie...
Awatar użytkownika
Pikczu
Posty: 390
Rejestracja: 17 sie 2015, 13:46
Lokalizacja: Dublin, Ireland
Kontakt:

Re: Problem z tablicą dwu wymiarową

Post autor: Pikczu » 20 kwie 2019, 13:21

Zagadnienie okazuje się banalnie proste.
Dla lepszej wizualizacji musimy zmienić konfigurację tablicy zeby pierwszy indeks mógł zaczynać się od 0
Config Base = 0

Jeśli deklarujemy tablice jedno wymiarową dim tablica(A) as byte' będzie ona wyglądać zwyczajnie liniowo.
  1. dim tablica (7) as byte
Jeden index.PNG
Tablica dwu wymiarowa również będzie umieszczona liniowo w pamięci (zwyczajnie inaczej się nie da).
Indeks B będzie wielokrotnością indeksu A.
Czyli dim tablic(A,B) as byte.
  1. dim tablica(7,4) as byte
AB.PNG
Identycznie będzie z tablica 3 wymiarową i więcej.
Dim tablica (A,B,C) as byte, Jeden indeks C będzie miał rozmiar A*B
  1. dim tablica(7,4,6) as byte
ABC.PNG
W linku poniżej można ściągnąć plik Excela na którym robiłem testy.

https://www.dropbox.com/sh/mv02j1kzkodx ... cRda?dl=0
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
Jacek
Posty: 384
Rejestracja: 25 kwie 2016, 19:14

Re: Problem z tablicą dwu wymiarową

Post autor: Jacek » 20 kwie 2019, 14:21

:) pozdrowienia świąteczne dla całego forum przy okazji.
Jacek.
Awatar użytkownika
Pikczu
Posty: 390
Rejestracja: 17 sie 2015, 13:46
Lokalizacja: Dublin, Ireland
Kontakt:

Re: Problem z tablicą dwu wymiarową

Post autor: Pikczu » 20 kwie 2019, 14:38

A wzajemnie Panie Jacku Wesołych!
Awatar użytkownika
niveasoft
Posty: 1215
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Problem z tablicą dwu wymiarową

Post autor: niveasoft » 27 kwie 2019, 9:51

Z tego co pamiętam Pikczu to miałeś tez u siebie Nextiona. Właśnie do mnie taki 8048 7" dotarł. Jak się ma ten z 4D_system do Nextiona?
Awatar użytkownika
Pikczu
Posty: 390
Rejestracja: 17 sie 2015, 13:46
Lokalizacja: Dublin, Ireland
Kontakt:

Re: Problem z tablicą dwu wymiarową

Post autor: Pikczu » 27 kwie 2019, 19:34

Bartek to nie Nextion tylko DWIN.
Z nextionem nie miałem nic do czynienia niestety.
Co mogę powiedzieć o DWIN cena spora po około 560zł za 7cali ale zaletą jest pojemnościowy ekran dotykowy.
Bardzo szybki proces tworzenia ekranów.
Cały artyzm z tym związany jest w rekach projektanta.
Rysujesz sobie ekran z przyciskami. Potem kolejny tym razem z efektem wciśniętego przycisku.
Później nakładamy na siebie poszczególne warstwy.
W oprogramowaniu zaznaczasz gdzie ma być przycisk i która warstwa ma być wyświetlana.

Ciężka praca zaczyna się gdy chcesz wyświetlić różne rodzaje czcionek wszystkie czcionki trzeba konwertować w dołączonym oprogramowaniu.
Jeśli chodzi o wszelkiego rodzaju przykłady są dostępne w PDF-ie jest tez parę filmów raczej dość starych po z 2014 roku z Chińskim angielskim.
helpie ale nie oczekuj zbyt wiele.
Protokół transmisji jest dość dobrze opisany i jest banalny.

Teraz jeśli chodzi o wyświetlacz firmy 4D systems to jest inna już bajka.
Cena ciut wyższa od poprzednika nie pamiętam dokładnie ale coś w okolicach 180 dolarów.
Jest to prawdziwa maszyna z całkiem niezłym oprogramowaniem. Z doskonałą bazą wiedzy i wszelkiego rodzaju przykładami itp.
Dostępne jest też forum.
Oprogramowanie jest dostępne w dwóch wersjach free i PRO.
Za wersie PRO trzeba dopłacić.
Zalety są porostu niewymierne, wbudowane środowisko testowe z podglądem wszystkich komend itp itd.
Całkiem niezłe i dość dobrze dopracowane narzędzia do tworzenia grafik wielowarstwowych.
Dodatkowo kilka opcji tworzenia projektów.
Wyświetlacz jako slave - wszystkie komendy wysyłane z mastera, czyli każda linia każdy pixel, każda funkcja

Środowisko VISI - wrzucasz sobie grafiki, spora baza dostępnych przycisków, suwaków, mierników wszelkiej maści itp.
I program piszesz sam w środowisku które jest miksem basica pascal i c++, do tego masz dostępne SPI, dwa lub trzy UART-y, I2c chyba 30 linii I/O.


Środowisko VISI Genie - robisz grafiki własne lub z dostępnych elementów, kompilujesz i nie piszesz nawet jedne linii kodu.
Masz gotowy doskonale pisany protokół transmisji.
Po dokupienia licencji PRO możesz robić własne wstawki do kodu z własnym protokołem.
A już nie długo będzie gotowa biblioteka w Bascomie :lol:

Dodatkowo 4D systems ma dość spory wybór wyświetlaczy od małych 0.96" z ESP8266 na pokładzie do 7 calowych pojemnościowych.

Co do nextiona czytałem na forum 4D systems ze Nextion nie potrzebuje potwierdzenia transmisji przez to jest szybszy.
Do 4D nie powinieneś wysłać kolejnej komendy bez wcześniejszego otrzymania potwierdzenia że odebrał poprzednią.
PS. właśnie z tym walczę robię coś w stylu FIFO od ollopa.
ODPOWIEDZ