Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   316 / 853
(#) szeg76 válasza david10 hozzászólására (») Jan 24, 2017 / 1
 
Ha jól értem, a replace() tagfüggvény csak karaktert karakterre vagy stringet stringre tud cserélni, vegyesen nem.

  1. String input="ABCDEFFGH";
  2. String mit="H";
  3. String mire="\xAB\xCD\xEF";
  4. input.replace(mit, mire);


'mit' és 'mire' megadható karaktertömbként is
  1. char mit[]={'H', 0};
  2. char mire[]={0xAB, 0xCD, 0xEF, 0};
A hozzászólás módosítva: Jan 24, 2017
(#) Kovidivi válasza zosza18 hozzászólására (») Jan 24, 2017 /
 
Méretezd újra a feszültség osztót, hogy az 1.1V-os referenciába bele férjen. Válts át 1.1V-os referenciára. Ezt meg tudod mérni az Aref pin-en, tehát tudsz vele számolni, és nem olyan zajos és ingadozó lesz, mint most az 5V. A feszültség osztóra rakj egy 100nF-ot. Több mérést készíts, 16-32db-ot, és átlagold.
(#) zosza18 válasza Kovidivi hozzászólására (») Jan 25, 2017 /
 
Rendben, Köszi a választ!
Ma este kipróbálom, ha itthon leszek.
(#) kisstomi5545 hozzászólása Jan 25, 2017 /
 
Sziasztok!
Szeretnék hőmérőt csinálni arduinoval, 47kohm-os themistorom(NTC, vagyis minél melegebb annál kisebb az ellenállása) van itthon. Azt olvastam, hogy vele megegyező értékű ellenállás kell a plusz ágba, ezt meg is csináltam, feltöltöttem egy elvileg működő kódot, de nem jól működik: ha melegítem, akkor csökken a kiírt hőmérséklet.
Ez a kód 100kohm-os thermisztorral, és 100kohm-os ellenállással íródott. Mi lehet a probléma?
Köszi a segítséget!

  1. #include <math.h>
  2.  
  3. double ThermistorF(int RawADC) {
  4.  double Temp;
  5.  Temp = log(10000.0*((1024.0/RawADC-1)));
  6.  Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
  7.  Temp = Temp - 273.15;          
  8.  Temp = (Temp * 9.0)/ 5.0 + 32.0;
  9.  return Temp;
  10. }
  11.  
  12. double ThermistorC(int RawADC) {
  13.  double Temp;
  14.  Temp = log(10000.0*((1024.0/RawADC-1)));
  15.  Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
  16.  Temp = Temp - 273.15;          
  17.  return Temp;
  18. }
  19.  
  20. void setup() {
  21.  Serial.begin(9600);
  22. }
  23.  
  24. void loop() {            
  25.   int valF, valC;                
  26.   double tempF, tempC;            
  27.   valF=analogRead(0);      
  28.   tempF=ThermistorF(valF);  
  29.   valC=analogRead(0);      
  30.   tempC=ThermistorC(valC);
  31.  
  32.   Serial.print("Temperature = ");
  33.   Serial.print(tempF);  
  34.   Serial.print(" F; ");
  35.   Serial.print(tempC);  
  36.   Serial.println(" C");
  37.   delay(1000);            
  38. }
A hozzászólás módosítva: Jan 25, 2017
(#) icserny válasza kisstomi5545 hozzászólására (») Jan 25, 2017 / 1
 
A képletedhez fordított bekötés tartozik: az NTC legyen a tápfesz felől, az ellenállás pedig a föld felől. Bővebben: Link
(#) kisstomi5545 válasza icserny hozzászólására (») Jan 25, 2017 /
 
Köszönöm, ennyi volt csak a probléma
(#) david10 válasza szeg76 hozzászólására (») Jan 25, 2017 /
 
Köszönöm szépen a segítségedet!
A karaktertömbös megoldás nagyon jól müködik, teszi a dolgát.
További szép napot!
(#) kekbon válasza zosza18 hozzászólására (») Jan 26, 2017 /
 
Az 1-es sorban, én nem A2-öt szoktam írni, hanem egyszerűen 2-öt.
azaz:
int analogInput = 2;

És eddig mindig simán ment az ad.....
(#) proba válasza zosza18 hozzászólására (») Jan 26, 2017 /
 
Akkutöltőben ritkán van megfelelő szűrőkondenzátor a bemenő tápon.Kezdeném egy soros diódával a + ágban , utána egy pufferkondenzátor, és mehet a stab ic-re.
(#) zosza18 válasza proba hozzászólására (») Jan 26, 2017 /
 
Így is van pontosan. Majd este megpróbálom a progit megcsinálni, még nem érkeztem eddig.
(#) gaspa hozzászólása Jan 26, 2017 /
 
Nyolc float változót szeretnék lcd-re kiírni egymás után,lehetséges-e a változókat tömbbe szervezni és for ciklussal megoldani,esetleg másképpen?
(#) david10 válasza david10 hozzászólására (») Jan 26, 2017 /
 
Közben került még egy probléma: Ha a tömb középére vagy akárhova teszek 0x00-át, akkor az utána lévő karaktereket levágja.
Pl.:
  1. char karakterCsillag[]={'*', 0};
  2. char karakterrCsillag[]={0x08, 0x2A, 0x00,0x2A,0x08,0};
  3. input.replace(karakterCsillag,karakterrCsillag);

A fenti példában a * karaktert 0x082A-ra cseréli ki.
Van-e ötletetek arra, hogy hogyan lehetne kijavítani a hibát?
A hozzászólás módosítva: Jan 26, 2017
(#) Pethical válasza david10 hozzászólására (») Jan 26, 2017 /
 
A problémát a C programozási nyelv sajátossága okozza, méghozzá azt, hogy a karakterláncokat a 0 zárja le. Azt is tudni kell, hogy a karakterlánc az nem más, mit a karaktertömb, tehát a következő két kifejezés ugyanazt hozza létre:

  1. char *s1 = "Hello";
  2. char s2[] = {'H', 'e', 'l','l', 'o', 0};


Ebben a két esetben s1 és s2 is csak egy mutató, ami a H betű memóriacímére mutat. Azt pedig onnan tudja a string kezelő könyvtár, hogy hol van a szöveg vége, hogy hol van a 0.
Így, ha 0-t szeretnél tenni egy karakterláncba, akkor után azt a szöveget már a szabvány C függvények a 0-nál vágni fogják, mert mind azt hiszi, hogy ott van a vége.

Összefoglalva: ne kezelj bináris adatot stringként!

Menj végig a stringen karakterenként és másold egy másikba. Ha olyan karakterhez érsz, amit cserélni kell, akkor cseréld és menj tovább. Kb. így, mint az alábbi mintában, de ez emberi felhasználásra nem alkalmas, mert memory leak veszélyes, meg 5 perc alatt írtam így nincs agyon tesztelve, de kiindulásnak jó lehet:

  1. /*
  2.  * mit -> mit cseréljünk
  3.  * mire -> mire cseréjük
  4.  * miben -> miben cseréljük
  5.  * len -> a "mire" hossza
  6.  * nlen -> mutató, az új karakterlánc hossza
  7.  */
  8. char * replaceChar(char mit, char *mire, char *miben, size_t len, size_t *nlen) {
  9.   char *s = miben;
  10.   char *s2=mire;
  11.   int size = 0;
  12.   while(*(s++)) {
  13.     if(*s==mit){
  14.       size++;
  15.     }
  16.   }
  17.   if(!size) return miben;
  18.   int w = strlen(miben)+((len)-1)*size;
  19.   *nlen = w;
  20.   char *uj = (char *)malloc(w);
  21.   char *valasz = uj;
  22.   s = miben;  
  23.   do {
  24.     if(*s!=mit){
  25.        *uj = *s;
  26.         uj++;
  27.     } else {
  28.       s2 = mire;
  29.        for(int i=0;i<len;i++){
  30.           *uj = *s2;
  31.            uj++;
  32.            s2++;
  33.        }
  34.     }
  35.     s++;
  36.     w--;
  37.   }while(w);
  38.   *uj=0;
  39.   miben = valasz;
  40.   return valasz;
  41. }
  42.  
  43. void setup() {
  44.   char *x = "Hello";
  45.   char s1[] = {0x10,0x20,0x0,0x40};
  46.   size_t nl = 0;
  47.   Serial.begin(9600);
  48.   char *cserelt = replaceChar('e', s1, x, 4, &nl);
  49.   for(int i=0;i<nl;i++){
  50.     Serial.print(i);
  51.     Serial.print(": 0x");
  52.     Serial.println( cserelt[i], HEX);
  53.    
  54.  
  55.   }
  56.  
  57.  
  58. }
  59.  
  60. void loop() {
  61.  
  62.  
  63. }


És a kiment a soros monitoron:

  1. 0: 0x48
  2. 1: 0x10
  3. 2: 0x20
  4. 3: 0x0
  5. 4: 0x40
  6. 5: 0x6C
  7. 6: 0x6C
  8. 7: 0x6F
(#) ludus hozzászólása Jan 26, 2017 /
 
Sziasztok!
Kezdő lennék még, nézzétek el nekem ha pongyola a megfogalmazásom... Adott egy while ciklus és azon belül több if feltétel lenne a hozzá tartozó végrehajtani kívánt programkóddal. Viszont egyszerre több if is igaz lehet és végre kéne hajtani a több if-hez tartozó kódot is. Magyarul van egy if ez teljesül, végrehajtja a kódot amíg a végén lévő else nem lesz igaz mert akkor vége. De közben kéne más dolgokat is csináljon, ezek a közben lévő if-ek teljesülésekor hajtódnak végre...
Valahogy így:
  1. while igaz
  2. if igaz
  3. // végrehajtja a kódot
  4. if ez is igaz
  5. // végrehajtja ezt a kódot is (mást csinál)
  6. if ez is igaz lehet ha az előző nem az
  7. // végrehajtja ezt a kódot is (mást csinál)
  8. else if igaz
  9. // befejezi az eddigi tevékenységeket

Kaphatnék egy példát?
Köszönöm!
(#) kisstomi5545 hozzászólása Jan 26, 2017 /
 
Sziasztok!
Arduino nano klónt használtam eddig, egyszer egyik programfeltöltéstől a másikra megadta magad, csak a void setup ciklus fut le, és ezt a hibakódot dobja ki:
Bocsánat hosszú lett, talán a vége az érdekes.(csatalkoztatva van rendesen, jól van minden kiválasztva)
Lehet vele valamit kezdeni, vagy ez a hibakód a halála?



  1. Arduino: 1.8.1 (Windows 7), Alaplap:"Arduino Nano, ATmega328"
  2.  
  3. Sketch uses 5754 bytes (18%) of program storage space. Maximum is 30720 bytes.
  4. Global variables use 384 bytes (18%) of dynamic memory, leaving 1664 bytes for local variables. Maximum is 2048 bytes.
  5. C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 -b57600 -D -Uflash:w:C:\Users\Tomi\AppData\Local\Temp\arduino_build_419845/lcd_thermistor.ino.hex:i
  6.  
  7. avrdude: Version 6.3, compiled on Dec 16 2016 at 13:33:19
  8.          Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
  9.          Copyright (c) 2007-2014 Joerg Wunsch
  10.  
  11.          System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
  12.  
  13.          Using Port                    : COM4
  14.          Using Programmer              : arduino
  15.          Overriding Baud Rate          : 57600
  16.          AVR Part                      : ATmega328P
  17.          Chip Erase delay              : 9000 us
  18.          PAGEL                         : PD7
  19.          BS2                           : PC2
  20.          RESET disposition             : dedicated
  21.          RETRY pulse                   : SCK
  22.          serial program mode           : yes
  23.          parallel program mode         : yes
  24.          Timeout                       : 200
  25.          StabDelay                     : 100
  26.          CmdexeDelay                   : 25
  27.          SyncLoops                     : 32
  28.          ByteDelay                     : 0
  29.          PollIndex                     : 3
  30.          PollValue                     : 0x53
  31.          Memory Detail                 :
  32.  
  33.                                   Block Poll               Page                       Polled
  34.            Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
  35.            ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
  36.            eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
  37.            flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
  38.            lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  39.            hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  40.            efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  41.            lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  42.            calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
  43.            signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
  44.  
  45.          Programmer Type : Arduino
  46.          Description     : Arduino
  47.          Hardware Version: 2
  48.          Firmware Version: 1.16
  49.          Vtarget         : 0.0 V
  50.          Varef           : 0.0 V
  51.          Oscillator      : Off
  52.          SCK period      : 0.1 us
  53.  
  54. avrdude: AVR device initialized and ready to accept instructions
  55.  
  56. Reading | ################################################## | 100% 0.00s
  57.  
  58. avrdude: Device signature = 0x1e950f (probably m328p)
  59. avrdude: reading input file "C:\Users\Tomi\AppData\Local\Temp\arduino_build_419845/lcd_thermistor.ino.hex"
  60. avrdude: writing flash (5754 bytes):
  61.  
  62. Writing | ################################################## | 100% 1.26s
  63.  
  64. avrdude: 5754 bytes of flash written
  65. avrdude: verifying flash memory against C:\Users\Tomi\AppData\Local\Temp\arduino_build_419845/lcd_thermistor.ino.hex:
  66. avrdude: load data flash data from input file C:\Users\Tomi\AppData\Local\Temp\arduino_build_419845/lcd_thermistor.ino.hex:
  67. avrdude: input file C:\Users\Tomi\AppData\Local\Temp\arduino_build_419845/lcd_thermistor.ino.hex contains 5754 bytes
  68. avrdude: reading on-chip flash data:
  69.  
  70. Reading | ################################################## | 100% 1.26s
  71.  
  72. avrdude: verifying ...
  73. avrdude: verification error, first mismatch at byte 0x0042
  74.          0xe3 != 0xd0
  75. avrdude: verification error; content mismatch
  76.  
  77. kiválasztott
  78.  port nem elérhető vagy az alappanel nincs csatlakoztatva
  79. avrdude done.  Thank you.
  80.  
  81. This report would have more information with
  82. "Show verbose output during compilation"
  83. option enabled in File -> Preferences.
(#) david10 válasza Pethical hozzászólására (») Jan 26, 2017 /
 
Köszönöm ezt a nagyszerü kódot, de sajnos nem tudom használni...
A célom az lett volna ezzel a kicseréljük a betüt hexadecimális karakterekre, hogy: Van egy 48x8-as Led Matrixom amiben a PIC meghalt, programom nincsen hozza, ezért kicseréltem a PIC-et ATmega328-ra. A programot kissebb-nagyobb segítséggel odáig megírtam, hogy egy 48 karakterből álló tömböt megtud jeleníteni a matrixokon (pl.: 0xFF: 11111111, azaz az oszlop világít, 0xE7: 11100111, az alsó 3 pixel és a felső 3 pixel világít stb.), most gondoltam, hogy egyszerüen kicserélek minden betüt a hozzá tartozó 5x8-as karaktertömbre (pl.: a H betüt 0x7F 0x08 0x08 0x08 0x7F-re) és az így kapott tömböket egymásután teszem és kiírom a matrixokra.
Ez idáig müködik szeg76 kódjának a segítségével, de amint írtam 0x00-nál levágja az utána lévő karaktereket.

A
  1. void screen_refresh(int count,byte szoveg[]) {...}
függvény segítségével tudok kíirni karaktertömböt a matrixokra. A count-al a sebességet lehet beállítani.
Az alábbi tömb tartalmaz 0x00-át, de rendesen kiírja.
  1. byte data[]={0x00,0x41,0x7f,0x7f,0x49,0x49,0x7f,0x36,0x00,0x3e,0x7f,0x41,0x41,0x41,0x7f,0x3e,0x00,0x7f,0x7f,0x30,0x18,0x0c,0x7f,0x7f,0x00,0x7e,0x7f,0x01,0x01,0x01,0x7f,0x7e,0x00,0x32,0x7b,0x49,0x49,0x49,0x6f,0x26,0x00,0x0c,0x22,0x02,0x02,0x22,0x0C,0x00};


Megprobáltam így, így azt kellene csinálja, hogy kiír egy H betüt, utána egy 0x00-ás oszlopot és az a maradék "ello"-t átalakítsa binárisra és kírja azt (0x65, 0x6C, 0x6C, 0x6F) de ezt csinálja vele
  1. size_t nl = 0;
  2. char *x = "Hello";
  3. char s1[]={0x7F, 0x08, 0x8,0x08,0x7F,0x00,0};
  4. char *cserelt = replaceChar('H', s1, x, 4, &nl);
  5.      
  6. screen_refresh(25, *cserelt);
A hozzászólás módosítva: Jan 26, 2017
(#) szeg76 válasza david10 hozzászólására (») Jan 26, 2017 /
 
Így mit csinál?
  1. char *cserelt = replaceChar('H', s1, x, 6, &nl);
  2.      
  3. screen_refresh(25, cserelt);



Amúgy nem lenne egyszerűbb a szöveget és a bitképet külön tárolni és kezelni?
(#) Pethical válasza szeg76 hozzászólására (») Jan 26, 2017 /
 
szeg76-al egyetértek. Esetleg egy map-al?
  1. byte map[40][5]= // A 40 az persze csak hasraütés, ahány betűt akarsz (meg számot)
  2. {
  3.   {0x0,0x1,0x2,0x3,0x5}, // A
  4.   {0x0,0x1,0x2,0x4,0x7}  // B
  5.   // ...
  6. };
  7.  
  8. void print(char c){
  9.   byte b[5] = map[c-'A'];
  10.   // itt ird ki b-t, ebben van az 5x8 bitje c-nek, vagy tehetsz vele bármit
  11. }
  12.  
  13. void printString(char *s){
  14.   char *t = s;
  15.   while(*t) {
  16.     print(*t);
  17.     t++
  18.   }
  19. }
A hozzászólás módosítva: Jan 26, 2017
(#) Kera_Will válasza ludus hozzászólására (») Jan 27, 2017 /
 
Mi lenne ha a switch / case / break utasításokat alkalmaznád?
Bővebben: Link
(#) kissi válasza ludus hozzászólására (») Jan 27, 2017 /
 
Szia!
Az általad írt vázlat is azt csinálja, amit írtál...
  1. while (feltetel1_igaz) // ha a feltetel1 igaz, akkor a következő utasításmagot ismétli !
  2. {
  3. if (feltetel2)
  4. {
  5.      ut1;
  6.      ut2;
  7.      ut3;  //ezeket csinálja, ha a feltetel2 igaz;
  8. }
  9. if (feltetel3)
  10. {
  11.      ut4;
  12.      ut5;
  13.      ut6;  //ezeket csinálja, ha a feltetel3 igaz;
  14. }
  15. if (feltetel4)
  16. {
  17.      ut7;
  18.      ut8;
  19.      ut9;  //ezeket csinálja, ha a feltetel4 igaz;
  20. }
  21.  
  22. else if (feltetel5)
  23. {
  24.      ut10;
  25.      ut11;
  26.      ut12;  //ezeket csinálja, ha az előző if hamis volt és a feltetel5 igaz;
  27. }
  28.  
  29. }


Idézet:
„De közben kéne más dolgokat is csináljon,”

Az egymagos processzorok egyszerre egy dolgot tudnak csinálni, tehát közben nem megy más sajnos !
Látszólag lehet több dolgot egyszerre csinálni a program megfelelő szervezésével, megszakítással, de ezt a feladat konkrét ismeretében kell átgondolni ( meg először a hozzátartozó ismereteket elolvasni és megérteni !) !
A hozzászólás módosítva: Jan 27, 2017
(#) szikorapéter hozzászólása Jan 27, 2017 /
 
Sziasztok. Arduino nano-ra keresném azt a programot ami léptetőmotort vezérel sebesség szabályozva (potméterrel) és a tekercsek kivezetése külön jön ki az arduino-ból (ULN2803AG-n keresztül hajtom a léptetőt.) Válaszokat előre is köszönöm.
(#) juhasz10 válasza szikorapéter hozzászólására (») Jan 27, 2017 /
 
Szia! A példák között van. Pédák -példák könyvtárból- stepper - stepper speed control.
(#) szikorapéter válasza juhasz10 hozzászólására (») Jan 27, 2017 /
 
Este megtaláltam,köszönöm.
(#) ludus válasza kissi hozzászólására (») Jan 27, 2017 /
 
Szia!
Félreértettük egymást! Azt szeretném hogy ha a feltetel2 igaz akkor hajtsa végre az alatta lévő utasításokat de miközben ezeket végrehajtja (mert a feltétel még mindíg igaz) nézze meg a feltetel3-at is és ha az is igaz (miért is ne lehetna) akkor hajtsa végre azt is sőt ha a feltetel4 is igazzá válik (lehet hogy akkor már a feltetel3 nem igaz de a feltetel2 még mindíg akkor azzal is foglalkozzon). Nyilván nem egyszerre mert arra nem képes, de ne ragadjon le az első if-nél hanem nézze meg a többit is!
Szóval ezt hogyan? A konkrét projektet itt nem vesézném ki, ha nem gond de ha gondolod privátban leírom!
Üdv, Lac
(#) Medve válasza ludus hozzászólására (») Jan 27, 2017 /
 
Ilyet nem lehet csinálni, hogy miközben valamit végrehajt, nézzen valami mást is, hacsaknem a megszakításokkal ügyeskedünk, de az is csak egymásután van! Csak a vizsgálatok ciklusba szervezésére tudok gondolni.
(#) ludus válasza Medve hozzászólására (») Jan 27, 2017 /
 
Mint ahogy írtam én is egymás után gondoltam természetesen nem egyszerre.
(#) ludus hozzászólása Jan 27, 2017 /
 
De ami a lényeg hogy megvizsgál egy változót amire ha igaz a feltétel végrehajt egy utasítás sorozatot. Viszont van egy másik változó is amire ha igaz a másik feltétel akkor azzal is foglalkoznia kéne és végrehajtani egy másik utasítás sorozatot "látszólag egy időben"!
Persze az output is más!
(#) Medve válasza ludus hozzászólására (») Jan 27, 2017 /
 
Ciklusba szervezed az if-eket? (loopba?)
A hozzászólás módosítva: Jan 27, 2017
(#) ludus válasza Medve hozzászólására (») Jan 27, 2017 /
 
Persze...
(#) kapu48 válasza ludus hozzászólására (») Jan 27, 2017 / 1
 
Ha az if(feltéttel) után csak 1 utasítás szerepel, azt 3 féleképen is leírhatod:
  1. // mind a 3 példa ugyan azt eredményezi:
  2. if (x > 120) digitalWrite(LEDpin, HIGH);
  3.  
  4. if (x > 120)
  5. digitalWrite(LEDpin, HIGH);
  6.  
  7. if (x > 120){ digitalWrite(LEDpin, HIGH); }

Ha 1-nél több utasítás szerepel az if ágban akkor a { jelek közti utasítások tartoznak egybe }
  1. if (x > 120){
  2.   digitalWrite(LEDpin1, HIGH);
  3.   digitalWrite(LEDpin2, HIGH);
  4. }                                 // all are correct
  5.  
  6.  
  7. if (x < 120){
  8.   digitalWrite(LEDpin1, LOW);
  9.   digitalWrite(LEDpin2, LOW);
  10. }                                 // all are correct

És a lehetséges feltétel vizsgálatok:
  1. Comparison Operators:
  2.  
  3.  x == y (x is equal to y)
  4.  x != y (x is not equal to y)
  5.  x <  y (x is less than y)  
  6.  x >  y (x is greater than y)
  7.  x <= y (x is less than or equal to y)
  8.  x >= y (x is greater than or equal to y)


Bővebben: if
Bővebben: if ... else
Következő: »»   316 / 853
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem