Kezdőoldal » Számítástechnika » Programozás » Valaki segítene ezt az egyszer...

Valaki segítene ezt az egyszerű programot megírni? (nap visszaszámlálás)

Figyelt kérdés

Szóval, Eset Smart Security vírusírtóm van, újságkóddal használom, ezáltal havonta aktiválni kell, de a vírusírtó csak akkor jelez, ha már lejárt a licenc, akkor meg ugye már késő. Valami olyasmit szeretnék, hogy minden rendszerindításkor bejön egy ablak (ezt az indítópulttal oldanám meg), valami ilyesmi szöveggel: "Eset Smart Security licenc. Még x nap van hátra.". Még valahogy úgy kéne, hogy könnyen át tudjam benne írni a licenc lejárati dátumát. Batch-ben (.bat) próbáltam megírni, de azt nem tudtam rávenni, hogy napot számoljon. Egy kis tapasztalatom van a VBS-sel kapcsolatban, de azzal is csak annyi, hogy egy meghatározott szövegű ablakot tudok behozni.

Nem kell túl bonyolultnak lennie, egy sima Windows-os vagy egy parancssor ablakkal is beérem.


2014. szept. 30. 16:01
1 2
 1/15 anonim ***** válasza:
100%

Windows Scripting Host alá, JavaScript vagy VBS nyelven nem egy bonyolult dolog.

Létrehozol egy dátum objektumot, ez az aktuális dátumot fogja tartalmazni.

Illetve mégegyet, ez fixen a lejárat dátumát.

A kettőt összehasonlítod és WScript.Echo segítségével kiírod, hány nap jött ki, ha az eredmény pozitív, egyébként az ESET úgyis figyelmeztet, hogy lejárt.


[link]


Megírod a szkriptet egy .VBS fájlba, és behajítod az indítópultba.


Mellesleg, valamivel több munka hozzáadásával közvetlenül a Registry-ből is ki lehet olvasni, mikor jár le. Olvass utána, ha érdekel ez a megoldás.

2014. szept. 30. 16:10
Hasznos számodra ez a válasz?
 2/15 anonim ***** válasza:
Használj AVG-t! :)
2014. szept. 30. 16:15
Hasznos számodra ez a válasz?
 3/15 A kérdező kommentje:

#1

Húha, ezzel elleszek egy darabig, még túlságosan parancssorosan gondolkozom.

#2

Úgy hallottam, az fogja a gépet. Nekem nincs túl erős gépem.

2014. szept. 30. 16:37
 4/15 anonim ***** válasza:
Nekem a leggyorsabb is intel core 2 dual procis, de a intel pentium D 3.0Ghz is viszi 2GB RAM-al.
2014. szept. 30. 16:59
Hasznos számodra ez a válasz?
 5/15 anonim ***** válasza:
100%

Nem olyan bonyolult az. Pár sor lehet az egész: [link]


Kb.


var expirationDate = new Date("09 October 2014");

var today = new Date();

var milliSecondsPerDay = 24 * 60 * 60 * 1000;

var differenceInMillis = expirationDate.getTime() - today.getTime();

var differenceInDays = Math.ceil(differenceInMillis / milliSecondsPerDay);

WScript.Echo("Az ESET aktiváció " + differenceInDays + " nap múlva lejár.");



Sebtében hánytam össze, nem a legjobb megoldás, de tán még működik is változtatás nélkül. Csak mentsd el egy .JS kiterjesztésű fájlba és indítsd el.


A később esetlegesen érkező szőrszálhasogatónak: Nyilván nem ezt szántam az életművemnek. ;)

2014. szept. 30. 17:07
Hasznos számodra ez a válasz?
 6/15 A kérdező kommentje:

#4

Köszi, de nem ez volt a kérdés. Meg vagyok elégedve a jelenlegivel.

#5

Ééés tényleg működik. Köszönöm, ez alapján már el tudok indulni.

2014. szept. 30. 17:10
 7/15 anonim ***** válasza:

Az ötlet: Tárold el egy sima szövegfájlban az aktuális lejárati dátumot, majd hasonlítsd össze a jelenlegi dátummal. Ha már lejárt, módosítsd a szövegfájlt (pl.: a következő hónapra.)


Ez így nagyon bonyolultnak tűnik? Ha nem megy küldhetek kódot, hogy megnézd.

2014. szept. 30. 17:13
Hasznos számodra ez a válasz?
 8/15 A kérdező kommentje:
Szerintem küldd a kódot, mert ahogy már írtam, a .bat-on kívül más nyelvhez nem nagyon értek, ezen túl csak VBS-ben nyitottam meg meghatározott szövegű ablakot.
2014. szept. 30. 17:23
 9/15 anonim ***** válasza:

Rendben, igyekeztem megjegyzéseket írni hozzá, talán érthető, legalábbis a logikája. (A nyelvben a Google sokat segített :) Ez alapján elindulhatsz, változtathatsz ezt-azt, ha nem erre gondoltál.


sajatfajlnev = "C:\sajatfajlom.txt" 'tetszoleges lehet


Most = Date() 'A mostani datum

WScript.echo Most 'kiirja, hogy most, de ezt a sort ki is torolheted


Set olvasando = CreateObject("Scripting.FileSystemObject").OpenTextFile(sajatfajlnev,1) 'megnyitja a sajat faljt

Lejarat = olvasando.ReadAll() 'Ide teszi a kiolvasott datumot


Wscript.echo Lejarat 'kiirja a learat datumat

kulonbseg = DateDiff("d", Most, Lejarat) 'kulonbseget szamol, napokban

WScript.echo "Még " & kulonbseg & " nap van hátra" 'Kiszamolja es kiirja a kulonbseget


if kulonbseg <=0 then

ujDatum = InputBox("Kerem az uj lejarati datumot:", "Cim", DateAdd("d", 30, Most ) )' Kovetkezo honap, de atirhato

ujDatum = FormatDateTime(ujdatum)

Set irando = CreateObject("Scripting.FileSystemObject").OpenTextFile(sajatfajlnev,2,true) ' megnyitja ugyanazt a megadott fajlt

irando.WriteLine(ujDatum) 'beleirja a datumot

end if

2014. szept. 30. 17:30
Hasznos számodra ez a válasz?
 10/15 A kérdező kommentje:
Ezt átnézem, majd meglátjuk, mit hozok ki belőle.
2014. szept. 30. 17:34
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!