www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

tezave z if stavki v picbasic pro

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Forum in Filemanager
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
vulgaris
Neznanec
Neznanec



Pridružen-a: Tor 25 Mar 2008 19:37
Prispevkov: 7
Aktiv.: 0.03
Kraj: prlekija

PrispevekObjavljeno: Sob Mar 27, 2010 2:14 am    Naslov sporočila:  tezave z if stavki v picbasic pro Odgovori s citatom

Pozdravljeni.
Prosil bi vas za pomoč, saj se že nekaj časa ubadam z eno težavo in to je kako uporabiti if stavek vpicbasicu pro.
Moja težava je, da moram istočasno spremljati več vhodnih veličin na portih in nato nadaljevati z izvedbo programa ko je več veličin pravilno izpolnjenih. Sam enosaven IF stavek vem uporabljati, težava nastane ko je pogoj ena izpolnjen in program nadaljuje na točki podprograma kamor je poslan v primeru izpolnitve pogoja IF, ostalih if stavkov pa ne pogleda, v spodnjem primeru na podprogram izklop.
Na primer :

IF porta.1 = 1 then izklop
If porta.2 = 1 then vklopA
.
.
Izklop:
HIGH portb.1
PAUSE 500

.
.
.
end

Ukaz GOTO ali GOSUB ne prideta v poštev saj se program v podprogramu zaustavi cca 5 min, ta čas pa bi moral kontrolirati ostale pogoje.
Hvala za odgovore in vaš trud.

_________________
nikoli ni prepozno
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Branez
Moderator
Moderator



Pridružen-a: Pon 14 Apr 2003 7:21
Prispevkov: 7831
Aktiv.: 33.04
Kraj: Koprivnica HR

PrispevekObjavljeno: Sob Mar 27, 2010 8:49 am    Naslov sporočila:   Odgovori s citatom

Drugič napiši točno kateri program uporabljaš ker jih je v Basic-u morje in se vsi skoraj enako imenujejo.
Dodaj tudi tvojo kodo da vidimo zakaj sploh gre.

Pojdi v "Help" in poišči: "Select Case".

Koda:
CASE statements, in some cases, are easier to use than multiple IF.. THENs. These statements are used to compare a variable with different values or ranges of values, and take action based on the value.

SELECT CASE var
   CASE expr1 {, expr...}
      statements
   CASE expr2 {, expr...}
      statements
   {CASE ELSE statements}
END SELECT

Koda:

The variable used in all of the comparisons is specified in the SELECT CASE statement. Each CASE is followed by the statements to be executed if the CASE is true. IS may be used to specify a comparison other than equal to. If none of the CASEs are true, the statements under the optional CASE ELSE statement are executed. An END SELECT closes the SELECT CASE.

SELECT CASE x
  CASE 1
    y = 10
  CASE 2, 3
    y = 20
  CASE IS > 5
    y = 100
  CASE ELSE
    y = 0
END SELECT

_________________
The true sign of intelligence is not knowledge but imagination.
Creativity is intelligence having fun!

Albert Einstein
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Forum in Filemanager Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 496 dni


Powered by phpBB © 2001, 2005 phpBB Group