- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- GoodSpeed: ASUS RT-BE92U WiFi 7 router a felsőházból
- gerner1
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- djculture: Az elvileg már senkinek nem kellő HDD-k ára is egekbe emelkedett 4 hónap alatt
- eBay-es kütyük kis pénzért
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
martonx
veterán
Azt kellene belátnod, hogy egy fórumból sosem fogsz megtanulni programozni. Egy-egy kérdésedre kapsz persze választ, és így tovább tudsz lendülni, az amúgy bagatell problémákon, és a végén el tudod mondani, hogy csináltál egy programot, de valóban érteni fogod, hogy miért is működik?
Segítség nélkül újra tudnád írni? Szóval a bagatell dolgok megkérdezése helyett, bizony elő kellene venned valami js-es online doksit, és legalább az alapokkal tisztába kerülnöd, ha már ez a választott nyelv, amin el akartál indulni.
-
Zedz
addikt
Az undefined azt jelenti, hogy az adott változónak nincs értéke. Itt szépen leírják, hogy mire is kell gondolni.
Ha egy kicsit lejjebb görgetsz, akkor látni fogod, hogy az if(x === undefined) az igazából ugyan az, mintha azt vizsgálnád, hogy if(!x).
Ha érdekel a JS akkor szerintem megéri rászánni egy kis időt, és elolvasni ezt a könyvet.
-
Zedz
addikt
-
martonx
veterán
Sziasztok
Hogy tudom azt if-elni hogy ha egy text adat hiányzik a json-ből lekérésnél. Tehát ha nincs benne adat, akkor rakjon be egy szóközt vagy egy - jelet.
Ez így nem müxik, gondolom azért mert a null az szám értéket nézz...
Jelenlegiidojaras = Weather.current_observation.weather; if (Jelenlegiidojaras == null) {
setGlobal('%Jelenlegiidojaras'," "); } if (Jelenlegiidojaras != null) {
Jelenlegiidojaras2 = convert( Jelenlegiidojaras, 'htmlToText');
setGlobal('%Jelenlegiidojaras',Jelenlegiidojaras2); }Gondoltam még hogy else-vel is megoldható lenne, de itt az lenne a feltéttel hogy ha nincs adat, akkor rakjon be egy - jelet, vagy akármilyen szöveget. Viszont hogy tudom azt meghatározni, hogy üres az adat mező?
Ja, szövegre nem tudok hivatkozni, mert az nem statikus.ajánlom figyelmedbe az undefined értéket. Javascript fura szerzet, mert ott a null azt jelenti, hogy van értéke valaminek, csak éppen az az érték null. Az undefined az ami azt jelenti, hogy az a valami nem is létezik.
typeOf(valami) === "undefined" mondjuk lehet a feltételed. -
Mr Dini
addikt
Itt inkább a probléma a hiányzó adatoknál lehet csak legfeljebb, mert ha nincs adat az adott változóhoz, akkor a változó nevét jeleníti meg a tasker a notifiben, sceneben vagy akár a zooperben. De mivel nem volt ehhez hasonló megoldás a kódban, így marad az if.
Na de nem a hiányzó adat volt a téma.
Írtam privit.
Vigyázz arra, h csak a Taskerben egyenlő a (változó) értéke a nevével, a JSben null és az ifben nem kell '-közé tenni a null-t. Gondolom tudod, de azért leírtam biztos, ami biztos alapon, mert én épp most szívtam vele. :/

-
slice14
veterán
Tudok a js-be a convert parancsnak változót adni, hogy a weather-t áztkonvertálja htmltoText-é? Több helyen kéne konvertálni és nem akarom átírni másik változóba a weather-t ha nem muszáj.
currentWeather = currentObservation.getWeather(),
Vagy nem kell változó, csak beírom a () közé a parancsot?
-
Jim-Y
veterán
-
Jim-Y
veterán
Hat, hogy oszinte legyek sokkal jobb

Meg van 1-2 aprosag amit mashogy csinalnek. Peldaul arra nem lehet alapozni, hogy a hordozo kornyezet majd rendelkezik JSON parserrel ezert ha van lehetoseg jQuery-t hasznalni akkor javaslom.
Es akkor:
function getData(fileName) {
var rawData = readFile(),
parsedData;
try {
parsedData = $.parseJSON(rawData);
}
catch (ex) {
console.error(PARSE_DATA_ERR, ex);
}
return parsedData || {};
}Ha nincs lehetoseg jQuery-t hasznalni akkor pedig biztos ami tuti ellenorizzetek le, hogy van-e JSON object mint ahogy a jQ is csinalja:
// Attempt to parse using the native JSON parser first
if ( window.JSON && window.JSON.parse ) {
return window.JSON.parse( data );
} -
Karma
félisten
-
Jim-Y
veterán
Szerkesztettem az elozot

Majd ezt ugy lehetne felhasznalni, hogy
var file = readFile('/sdcard/Tasker/temp/weather.json'),
rawData = JSON.parse(file),
Weather = new Weather(rawData);
var sunPhase = Weather.getSunPhase(),
sunRise = sunPhase.getSunrise(),
sunriseHour = sunRise.getHour();
setGlobal('%Napfelkel1', sunriseHour);sot...
var settings = {
'%Napfelkel1': sunriseHour,
'masbizbasz': sunriseMinute,
'megintmasbizbasz': sunriseSecond
...
};
Object.keys(settings).forEach(function(key) {
setGlobal(key, settings[key]);
}); -
Jim-Y
veterán
A setGlobal-al lesz belőle tasker-es változó.
Egyébként itt az egész js. Link
Lehet hogy sok fölösleges dolog van benne. A tasker js support oldalból kiindulva kezdtük el a projektet. És a js-ről eddig csak hallottam, de fogalmam se volt arról hogy hogyan működik.
Ha van valami jó ötlet, hogy hogyan lehet rövidíteni rajta. Akkor ne tartsd vissza.
Hat ez csak nevleg JS ugy megemlitem
. Ennyire csunya JS kodot en meg ritkan lattam (nem mondom, hogy nem, de majdnemNa jo nem leszek negativ
)
Amugy futtasd at a kodod ezen -> [link]
Amugy lehetne, egy csomo otletem van, hogy mivel lehetne szebbe tenni, de mindegyikbol az jonne ki, hogy tanulj egy kis JavaScriptet ^^ Peldaul, ha van idod es kedved, akkor csinalhatnak a Weather kore egy wrapper osztalyt.
pl:
/**
* @typedef {Object} Weather
* @property {CurrentObservation} current_observation
* ...etc
*/
/**
* @param {Weather} rawData
*/
function Weather(rawData) {
/** @type {Weather} */
this.baseData = rawData;
/** @type {CurrentObservation} */
this.currentObservation = rawData.current_observation;
}
/** @returns {CurrentObservation} */
Weather.prototype.getCurrentObservation = function() {
return this.currentObservation || {};
}
etc.. -
Jim-Y
veterán
Na meglestem az xml verziót, ajánlom neked is.
Hour1 = Weather.hourly_forecast.forecast[0].FCTTIME.hour;
Hour1fok = Weather.hourly_forecast.forecast[0].temp.metric;
Hour1idojaras = Weather.hourly_forecast.forecast[0].condition;
Hour1szelirany = Weather.hourly_forecast.forecast[0].wdir.dir;(A Weather az én fájlom változóneve.)
Tehát nézd az xml verziót gépen, ott tudod nyitni-csukni a tömböket.
Persze ha nem kel semmit csinálni az adott adattal, askkor setGlobal-al adj neki tasker változó nevet.
Pl: setGlobal('%Hour1',Weather.hourly_forecast.forecast[0].FCTTIME.hour);
Amugy mi ez a setGlobal?
A Weather.hourly_forecast.forecast[0] 4,5x van leirva ami min. 3,4 felesleges lookup. Illetve safe access pattern ha nem akarjatok hogy meghaljon az app ha hianyoznak az adatok a json strukturaban. Egyebkent camelCase ffs

-
ltpalermo
csendes tag
Na meglestem az xml verziót, ajánlom neked is.
Hour1 = Weather.hourly_forecast.forecast[0].FCTTIME.hour;
Hour1fok = Weather.hourly_forecast.forecast[0].temp.metric;
Hour1idojaras = Weather.hourly_forecast.forecast[0].condition;
Hour1szelirany = Weather.hourly_forecast.forecast[0].wdir.dir;(A Weather az én fájlom változóneve.)
Tehát nézd az xml verziót gépen, ott tudod nyitni-csukni a tömböket.
Persze ha nem kel semmit csinálni az adott adattal, askkor setGlobal-al adj neki tasker változó nevet.
Pl: setGlobal('%Hour1',Weather.hourly_forecast.forecast[0].FCTTIME.hour);
és működik, köszi
kb. ez az egyetlen hely, ahová nem próbáltam a [0]-t beszúrni
-
ltpalermo
csendes tag
Esetleg így próbáld.
valami1 = ...........FCTTIME[0].hour;
valami2 = ...........FCTTIME[1].hour;stb, stb....
sDe pl a forecast-ot is így csináltuk meg. A [közötti] szám dönti el hogy hanyadik bejegyzést szedje ki. A [0] az első ilyen részt veszi ki a tömbből.
Remélem hogy nem írtam el semmit.
köszi, de ezt már próbáltam, talán pont legelsőre és pont a ti projektetek alapján, de nem működik. gondolom a forecast-nál azért működik, mert ott van egy "period":1 stb, és ez alapján csinálja meg (ezt egyébként én is így csináltam meg). de az hourly_forecast-nál ilyen már nincs.
a tasker változóim már mind nagybetűsek egyébként, használok is párat másholja és #5313 Karma
köszi nagyon szépen működik a szélirányos dolog -
slice14
veterán
Esetleg így próbáld.
valami1 = ...........FCTTIME[0].hour;
valami2 = ...........FCTTIME[1].hour;stb, stb....
sDe pl a forecast-ot is így csináltuk meg. A [közötti] szám dönti el hogy hanyadik bejegyzést szedje ki. A [0] az első ilyen részt veszi ki a tömbből.
Remélem hogy nem írtam el semmit.
Ja és ajánlom a Nagy kezdőbetűs változóneveket. Így másik projekt is tudja őket használni.
-
Karma
félisten
-
martonx
veterán
-
sztanozs
veterán
-
fordfairlane
veterán
A típuskonverzió == és != esetén elég furcsán lett implementálva a Javascriptben, ezért használata minden esetben kerülendő. A legtöbb programozó azért használja ezt az operátort, mert a többi C-forma nyelvekben nincs vele különösebb probléma, vagy nem ilyen mértékű. A Javascript specialitásai nem mindenki számára ismertek.
-
martonx
veterán
Azt jelenti, hogy típusosan is egyenlő. Mivel a js gyengén típusos nyelv, ezért az == becsapós lehet, illetve teljesítményben is rosszabb, mert "1" == 1 re is igazat ad, és ehhez a rendszer még cast-olja is az adatokat az ellenőrzéshez.
Ellenben az "1" === 1 nem lesz igaz, mert az egyik egy szöveg, a másik egy szám, és ez az összehasonlítás jóval gyorsabb tud lenni.
A == használata kerülendő, noha a fejlesztők többsége így használja, mert kényelmesebb (elfed hibákat, és mégis működik), illetve ennyivel is kevesebbet kell gépelni, de ez attól még nem lesz helyes, mert a többség így használja. -
Zedz
addikt
-
Karma
félisten
Sziasztok.
Azt szeretném megkérdezni hogy ez a js részlet helyes-e?
Elorejelzes1td = Weather.forecast.txt_forecast.forecastday[0].fcttext_metric;
Elorejelzes1td2 = Elorejelzes1td; if (Elorejelzes1td2 != /"+'legmagasabb'+"/) {
setGlobal('%Elorejelzes1td'," ");
}
else { setGlobal('%Elorejelzes1td',Elorejelzes1td2);Az lenne a cél, hogy ha tartalmazza a legmagasabb szót az Elorejelzes1td, akkor kiírja a tartalmát. De ha nem, akkor rakjon be egy szóközt.
Bocsi ha nem jó helyre írok, de js. Akkor is ha tasker.
Szerintem ez a félregexes megoldás nem annyira szerencsés. Mondjuk hogy helyes-e, azt ki tudod próbálni JSFiddle-ön vagy a Chrome konzoljában (F12) - első blikkre nekem nem tűnik annak, de ez nem jelent semmit

Így szerintem tisztább és olvashatóbb lenne:
if (Elorejelzes1td2.indexOf('legmagasabb') === -1) {
setGlobal('%Elorejelzes1td'," ");
}
else {
setGlobal('%Elorejelzes1td',Elorejelzes1td2);
}Vagy egy sorban:
setGlobal('%Elorejelzes1td', Elorejelzes1td2.indexOf('legmagasabb') === -1 ? " " : Elorejelzes1td2);
Új hozzászólás Aktív témák
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- One otthoni szolgáltatások (TV, internet, telefon)
- Samsung Galaxy A56 - megbízható középszerűség
- Marxistává válik az AI, ha elviselhetetlenné teszik a munkakörülményeit
- Xiaomi 14 - párátlanul jó lehetne
- Házimozi belépő szinten
- Elemlámpa, zseblámpa
- Gumi és felni topik
- Facebook és Messenger
- Lakáshitel, lakásvásárlás
- HiFi műszaki szemmel - sztereó hangrendszerek
- További aktív témák...
- Dell Precision 5560 i5 11500H 16GB 256GB SSD 1920x1200 Matt IPS
- Új - MacBook Pro M5 Chip 14" 10C / 10C / 16 GB RAM / 512 SSD / Silver / Black - 27% Áfás
- Új - MacBook Pro M5 Chip 14" 10C / 10C / 32 GB RAM / 1TB SSD / Silver / Black - 27% Áfás
- Micro - Fujitsu Esprimo Q958 (i5-8400, 8GB DDR4 RAM, 256GB SATA SSD)
- Hp Pavilion Gaming laptop
- Kuriózum: Ozark Trail (amerikai) fejlámpa 600 lumen
- Telefon felvásárlás!! Honor Magic8 Lite / Honor Magic8 Pro
- Bomba ár! Lenovo X1 Carbon 2nd I i7-4G I 8GB I 256SSD I 14" FHD I Cam I W10 I Garancia!
- Gamer egerek és billentyűzetek kitűnő árakon!
- Lenovo ThinkPad X1 Carbon Gen 11 i7 / 32GB / Garancia 2026.11.19
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest






)

