logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[bascom] zagnieżdżone warunki if then

sulpiciusz 09 Mar 2011 21:01 2249 11
REKLAMA
  • #1 9256491
    sulpiciusz
    Poziom 11  
    witam

    mam taki mały problem... potrzebuję zrobic warunek taki, że jeśli 500<x<5000 to ma się coś wykonać.

    czyli jesli x będzie z przedziału (500; 5000) to ma się coś stać.
    jak to zrobić?

    próbowałem tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    ale niestety tak się nie da, ponieważ brany pod uwage przez bascoma jest wtedy tylko ten pierwszy warunek...

    próbowałem też tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    lecz takie rozwiązanie też nie działa...

    bardzo proszę o pomoc
  • REKLAMA
  • #2 9256590
    alien_audio
    Poziom 21  
    Witam.
    Zapis warunków wygląda prawidłowo. Problem jest raczej w innej części
    programu.
  • REKLAMA
  • #3 9256610
    gray77
    Poziom 12  
    sulpiciusz napisał:
    próbowałem też tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    lecz takie rozwiązanie też nie działa...


    Musi działać. Dlaczego nie działa? Co się dzieje? Nie wykonują się instrukcje po IFie?
  • REKLAMA
  • #4 9256644
    sulpiciusz
    Poziom 11  
    instrukcja wykonuje się, ale nie jest w ogóle brany pod uwagę ten drugi warunek x < 5000...
    instrukcja wykonuje się jeśli x>500, ale jeśli x jest ponad 5000 to niestety też się wykonuje... nie wiem jak to ugryźć, czytałem w necie że nie tylko ja mam taki problem

    Dodano po 8 [minuty]:

    x jest zadeklarowana jako single
  • #5 9256741
    gray77
    Poziom 12  
    sulpiciusz napisał:

    próbowałem tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    ale niestety tak się nie da, ponieważ brany pod uwage przez bascoma jest wtedy tylko ten pierwszy warunek...

    Właściwie to tez powinno działać bezproblemowo. Jeśli x większe od 500 wtedy sprawdza czy nie przekracza 5000. Jeśli tak to wychodzi z warunku i tyle...
    Może coś masz zamieszane z ta zmienna.... Nie może ona być typu Word lub Integer?
  • #6 9256772
    sulpiciusz
    Poziom 11  
    gray77 napisał:
    sulpiciusz napisał:

    próbowałem tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    ale niestety tak się nie da, ponieważ brany pod uwage przez bascoma jest wtedy tylko ten pierwszy warunek...

    Właściwie to tez powinno działać bezproblemowo. Jeśli x większe od 500 wtedy sprawdza czy nie przekracza 5000. Jeśli tak to wychodzi z warunku i tyle...
    Może coś masz zamieszane z ta zmienna....


    według mnie też to powinno działać, a niestety nie działa, jeśli komuś się chce to niech to spróbuje sprawdzić w bascomie i okaże się że faktycznie nie bierze pod uwagę drugiego warunku... no chyba że faktycznie coś u mnie jest zamieszane z tą zmienną.
  • #7 9256796
    gray77
    Poziom 12  
    Zmień ja na probe na Word lub Integer. Zobaczymy...
  • #8 9256842
    alien_audio
    Poziom 21  
    Sprawdziłem na symulatorze
    wszystko działa poprawnie. Dla X jako single.
    Problem jest gdzieś indziej.
  • #9 9256869
    gray77
    Poziom 12  
    To może zapodaj ten twój program to zobaczę ja lub ktoś inny. Moze wyłapiemy błąd...
  • #10 9258888
    piotr5000
    Poziom 21  
    jeśli x = 6000 spełniony jest tylko pierwszy warunek , a drugi już nie.

    daj w programie przed sprawdzeniem warunku wyświetlenie x na wyświetlacz przez np. 2sekundy lub jakieś else dla drugiego warunku
  • REKLAMA
  • #12 9264235
    SylwekK
    Poziom 32  
    Sprawdziłem u siebie na pełnej wersji Bascom 2.0.4.0 - w symulatorze wszystko działa ok więc zakładam, że i w procku będzie ok...
REKLAMA