Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Prawidłowe rozumiemie kodu
Caporeira
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 27.11.2014

Ostrzeżenie: (0%)
-----


  1. webMI.data.subscribe(webMI.query["base"] + ".Data.Status", function(e) {
  2. var motor = "silnik";
  3. var estop = e.value[0];
  4. var off = e.value[1];
  5. var error = e.value[2];
  6. var inspection = e.value[3];
  7. var maintenance = e.value[4];
  8. var jam = e.value[5];
  9. var running = e.value[6];
  10. var ready = e.value[7];
  11. estop_active = false;
  12.  
  13. // set state error when node state is "bad"
  14. var unknown = (e.status > 0);
  15.  
  16. if (unknown) {
  17. webMI.gfx.setFill(motor, "#e6e6e6");
  18. state_color = "#f2f2f2";
  19. }
  20. else if (estop){
  21. webMI.gfx.setFill(motor, {0:"#ff0000",2:"#bb0000",4:"#ff0000",6:"#bb0000",8:"#ff0000",10:"#bb0000"});
  22. state_color = "#bb0000";
  23. estop_active = true;
  24. }
  25. else if (off){
  26. webMI.gfx.setFill(motor, "#c8c8c8");
  27. state_color = "#c8c8c8";
  28. }
  29. else if (error){
  30. webMI.gfx.setFill(motor, "#ff0000");
  31. state_color = "#ff0000";
  32. }
  33. else if (maintenance) {
  34. webMI.gfx.setFill(motor, "#0000ff");
  35. state_color = "#0000ff";
  36. }
  37. else if (jam) {
  38. webMI.gfx.setFill(motor, "#ffaa00");
  39. state_color = "#ffaa00";
  40. }
  41. else if (running) {
  42. webMI.gfx.setFill(motor, "#00c800");
  43. state_color = "#00c800";
  44. }
  45. else if (ready) {
  46. webMI.gfx.setFill(motor, "#007700");
  47. state_color = "#009900";
  48. }
  49. // unknown state
  50. else {
  51. webMI.gfx.setFill(motor, "#e6e6e6");
  52. state_color = "#f2f2f2";
  53. }
  54. Info.Color = state_color;
  55. });

Chcę zrozumieć ten kod. Na daną chwilę rozumiem go tak że:
  1. webMI.data.subscribe(webMI.query["base"] + ".Data.Status", function(e)

query sprawdza zmienną Status. Base że to w tym samym folderze (czyli coś jak lokalna lokalizacja). .Data.Status to folder pod którym znajduję się zmienna.
function(e) to funkcja obsługująca zdarzenia. Zmienna Status jest jednowymiarową tablicą bitową (z wartościami Boolean).

  1. var motor = "silnik";
  2. var estop = e.value[0];
  3. var off = e.value[1];
  4. var error = e.value[2];

Tutaj następuje przypisanie wartości z tablicy do zmiennych. Np. wartość tablicy drugiej przypisana jest do zmiennej off.
Kiedy w tablicy nr 2 znajdzie się wartość True wtedy wykona się kawałek kodu:
  1. else if (off){
  2. webMI.gfx.setFill(motor, "#c8c8c8");
  3. state_color = "#c8c8c8";

Dokładnie to obiekt o nazwie silnik zmieni kolor.
Ale po co jest tutaj zmienna state_color ?
Co powoduje taki zapis ? Info.Color = state_color;
e.value reaguje na zmianę wartości, a e.status ? (var unknown = (e.status > 0)(IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 18:54