![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 429 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam napotkałem problem przy tworzeniu tablicy array
Tym sposobem wyświetlam odpowiednią ikonkę
Niestety wywala mi błąd
W bazie danych wartość wwindBearing = 97 więc powinna być widoczna ikona bo ta wartość znajduje się w tym przedziale >=90 && <100 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Naprawdę uważasz, że jeśli przypiszesz elementowi tablicy klucz '>=90 && <100', to podając 97 wybierzesz właśnie ten element?
Powinieneś utworzyć tablicę gdzie kluczami są wartości z dołu lub góry zakresu - w zależności od sposobu podejścia do wybierania. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 429 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ale zakres to od 0 do 360 Chyba jest jakiś inny sposób aby zrobić to w danym zakresie np:
od 0 do 70 od 70 do 140 od 140 do 190 od 190 do 260 od 260 do 330 od 330 do 360 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Przykład, który pokazujesz, to nie zakres od 0 do 360, ale kilka zakresów. Rozwiązanie podałem Ci wyżej.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 429 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Możesz jaśniej.
Pobierana wartość z bazy danych jest w zakresie od 0 do 360 więc może być to liczba w tym zakresie. Mam to tak robić?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Tablicę z ikonami powinieneś zbudować tak, aby kluczem była dolna lub górna wartość przedziału. Nie przedziału, w którym zawiera się badana liczba, lecz przedziału, z którym porównujesz. Czyli tabela, którą pokazałeś na początku, i o której cały czas piszę, że jest niepoprawnie zbudowana.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 429 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Teraz to już nic nie kumam zakręciłeś mnie w tym wszystkim.
Podaj mi jakiś przykład z podobnymi wartościami to może lepiej mi to wejdzie, bo po twoim ostatnim poście jestem zakręcony jak ... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Tyle już jesteś na forum...
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 429 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Niestety tak nie zadziała bo potrzeba jest dokładna wartość nie tylko 90 ale w tym przypadku 97.
Ten post edytował brzanek 19.11.2018, 19:44:11 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A nie wydaje Ci się, że 97 wpada w przedział między 90 a 100? Czyli powinieneś na podstawie tej tabeli podstawić ikonę wiatr_poludnie?
Jak sobie zbudujesz przedziały, to już Twoja sprawa. Na pewno nie ma kompletnie sensu robienie czegoś takiego:
Jeszcze raz: jako klucz tabeli ma być dolna, albo górna granica przedziału. -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 429 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Może inaczej mam 8 ikonek z kierunkiem wiatru. W bazie danych kierunek wiatru wyrażany jest w stopniach od 0 do 360. Potrzebuję wyświetlać ikonę z kierunkiem wiatru ale nie co 1 stopień tylko np. co 25 stopni - dlatego potrzebny jest mi przedział w tablicy.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
To sobie zbuduj tablicę z przedziałami co 25, a nie co 10.
-------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 429 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Co 25 czyli?
Jeszcze raz podkreślam, że tak to nie działa. Tym wywołaniem wyświetlam ikonę
Jeśli teraz wwindBearing wynosi 74 to ta tablica
nie zadziała bo nie ma w niej wartości 74. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A nie wydaje Ci się, że 97 wpada w przedział między 90 a 100? Czyli powinieneś na podstawie tej tabeli podstawić ikonę wiatr_poludnie? A 74 gdzie wpada? Nie przyszło Ci na myśl, który element z tablicy wybrać na podstawie zadanej wartości? -------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 429 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Fatalnie.
Lecisz po tablicy, sprawdzasz czy zadana wartość jest większa lub równa od klucza pierwszego elementu, jeśli tak, to zapisujesz na boku wartość klucza. Przechodzisz do kolejnego elementu. Jeśli warunek w danym momencie nie jest spełniony, to klucz jest szukanym kluczem i wskazuje na odpowiedni przedział. A skoro wykorzystujesz bazę danych, to zrób to jednym zapytaniem: http://kawalekkodu.pl/kochanie-trzeba-brac...-w-przedzialach -------------------- |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 429 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kombinuję trochę z zapytaniem
Ale pojawia mi się w tej linii błąd |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Serio chcesz tyle przedziałów pchać do jednego zapytania? Powodzenia...
Zobacz jak wygląda prawidłowa składnia funkcji CASE. -------------------- |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 429 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie chcę ale kombinuję jak mogę.
Więc jak powinno to wyglądać z tablicą array? Po twoich wypowiedziach niestety nic mi nie przychodzi do głowy. |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie przesadzaj podałem Ci dwa rozwiązania. W tym jednego gotowca, a Ty wymyślasz wciąż coraz bardziej karkołomne rozwiązania.
Pisałem o tym w poście nr 16. Sprawdzasz po kolei wartość z kluczami tablicy. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 12:33 |