Hirdetés

Új hozzászólás Aktív témák

  • Mr Dini
    addikt

    "Azt szeretném, hogy addig fusson a for loopba, amíg az i értéke I-vel megegyezik."
    És ki fogja átállítani azt a mágikus globális I változót?
    Igazából egyébként ez a kódrészlet és a feladatspecifikáció teljesen érthetetlen:
    "A feladata az, h kiírja a listFiles tartalmát, levágja splittel a sortöréseknél (azaz a következő fájl nevénél) és generál egy random számot, amit utánatesz az 'i' mögé kapcsoszárójelek közt. Azaz a split miatt így tudok hivatkozni a tömbösített változóra. Na szóval értitek... :DDD"
    Nem, nem értjük. :) Először a splittel készítesz egy tömböt, ez lesz az i változó. Itt gyorsan hozzátenném, hogy leszokhatnál az ilyen teljesen értelmetlen nevű változókról, inkább legyen egy mondatnyi hosszúságú változót, mint egy ilyen értelmetlen fos. Mit jelent az, hogy a tömb után akarsz teni valamit kapcsos zárójelek közt? Úgy érted, hogy a tömb összes stringeleme mögé akarsz fűzni valamit? A tömbbe akarsz bedobni egy újabb változót? Vagy mi a célod?
    Mert itt a ciklusok, meg az egész kód ennek fényében tök értelmetlennek tűnik.

    Már megoldottam.

    Nem. Van egy mappa. Ebben csak képek vannak. A listFiles a Taskerben valami ilyesmit ad vissza:

    /Mappa/Kep1.jpg
    /Mappa/Kep2.jpg
    […]

    Na nekem az az ötletem támadt, hogy nyomok egy splittet a \n-re, azaz a sortörésekre és ezt belementem 'i' -be. Ekkor ha pl a /Mappa/Kep1.jpg-t szeretném kiiratni, akkor az i[0] kell nekem. Tehát a tömb nulladik eleme. Namost ennek a tömbnek a lenghtje alapján generáltatok vele egy random számot. (Math.floor) Majd ezt a random számot állítom be háttérnek. Eddig működött a dolog. Viszont azt is szerettem volna, ha az előző háttér tömbbeli értékét ne sorsolja ki még 1x, illetve nulla se legyen az a szám, amit így kapok, erre kellett volna nelem a for. A for azt nézte volna meg, hogy az előzőleg "I" Taskeres globális változóval egyezik-e a most generált szám. Ha igen, akkor addig futtatja, míg más nem lesz a kapott eredmény. Csak közbe rájöttem, hogy az amit összedobtam több sebből vérzik. (Pl a setGlobal a forban :Y) Ezeket közben kijavítottam és while-ra cseréltem a for-t. Ezt sikerült összehozni, ami működőképesnek látszik:

    var Hatterek =listFiles("Hatterek", false).split("\n");

    var number = Math.floor( Math.random()*(Hatterek.length));

    while(number == global('OldScrBcg')) {
    var number = Math.floor(Math.random()*(Hatterek.length));
    }

    while(number == 0) {
    var number = Math.floor(Math.random()*(Hatterek.length));
    }



    setGlobal('OldScrBcg',number);

    setWallpaper(Hatterek[number]);

Új hozzászólás Aktív témák