Kezdőoldal » Számítástechnika » Programozás » Hogyan tudok olyan programot...

Hogyan tudok olyan programot írni ami leszedi a frissítéseket magának?

Figyelt kérdés
Olyan programról lenne szó ami magátol leszed mondjuk egy mappát vagy fájlt a netről és bemásolja a megfelelő helyre. A bemásolást meg tudnám oldani de nem tudom hogy kezdjek neki vagy hogy hova és hogy tegyem fel a frissítést. Tudok programozni de olyan alap szinten.

2014. júl. 30. 00:37
 1/8 anonim ***** válasza:
26%

Akkor mondom, legjobbat, amit én használok:

Csinálsz egy sql databaset, egyetlen sorral, colummal. Ez a rublika egy 8 jegyü változó kódot tartalmaz, amit random csak úgy beirok, manuálisan.

A program elsõ scriptjeibe berakom, hogy kérdezze le az sql database 1. columjának az értékét. Ha ez egy update.txt fájlban tárolt kóddal megegyezik, indul a progi, ha nem, akk felajánja a frissitést. Ekkor letölti a szeróról a telepitõfájlt, és futtatja. A user adatokon kivül mindent újrarak az update.txt-vel együtt, ami immár az új kódot tartalmazza. Remélem érted. Ez lehet, hogy nem a legefektivebb, de nekem elég egyszerü, és 5 sorban leirható:

1: az sql szerver megnyitása

2: az update.txt megnyitása

3: az sql táblázatból az adat kikérése és változóba másolása

4: a fájlból az adat másolása egy változóba

5: egy if + else parancskombó, ami egy egyszerü összehasonlitást csinál:

Pythonban:

If(sql==file):

update()

Else:

launch()

2014. júl. 30. 00:59
Hasznos számodra ez a válasz?
 2/8 CspCsj ***** válasza:

Ne vedd sértésnek, de a kérdésed alapján az az érzésem, hogy még az alapprogram sincsen megírva, így ilyen kiegészítéseken egyelőre nem is gondolkodnék a helyedben, pláne, hogy úgy tűnik működő weboldalad (szervered) sincsen, amin keresztül ilyen szolgáltatást nyújthatnál.


Természetesen ha a programod főbb funkciói többé-kevésbé működnek, akkor elnézésedet kérem és érdemes gondolkodni ilyen dolgokon is, de persze közben valamilyen tárhelyet (akár ingyeneset is) érdemes regisztrálni, ahol mondjuk PHP-t tudsz futtatni, az elég lehet.

2014. júl. 30. 01:29
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:

Első!


> sql database

Egyetlen sor és oszlopért db-t csinálj? Ez nem ágyúval verébre, hanem tankkal szöcskére. Nem lenne elég egy fájl, ahol van egy verzió + egy könyvtár elérési út?

Sohasem értettem mire jó ez a nagy sql függőség.


> update.txt fájl

Had lehessen szerkeszteni kívülről, a program had tudja már a saját verzió számát.


> Pythonban

Asztali alkalmazásról van szó... de a 4 soros példaprogramodnak elmegy.

2014. júl. 30. 09:20
Hasznos számodra ez a válasz?
 4/8 ejbenjaro ***** válasza:
100%
Nem annyira egyszerű a dolog, mint elsőre tűnhet. Ha jól emlékszem Windows alatt a futó programot nem igen tudod csak simán kicserélni, felülírni. Csinálhatsz olyat, hogy ha a programod érzékeli, hogy újabb verzió van belőle (netről lekéri a tárhelyedről), akkor felajánlja, hogy letölti a új verzió telepítőjét, amit majd a felhasználó telepít magának. Megpróbálkozhatsz egy olyannal is, hogy a programod mellé készítesz egy mondjuk updater.exe nevű programot is, amit a programod meghív, ha új verzió jött ki belőle, majd a programod bezárja saját magát, hogy csak az updater fusson, ami elvégzi a fájlok letöltését, azok ellenőrzését és a megfelelő helyekre történő bemásolását. És persze ezeken felül még akadnak lehetőségeid. Próbál használni a keresőt, pl. self updating program windows kifejezésekre, stb.
2014. júl. 30. 10:00
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:
100%

Az update egészed addig működik amíg nem kell azt az .exe-t felülírni ami éppen fut.


Erre több megoldás is van:


0. A prgramod megnézi, van-e újabb verzió fent és megkér hogy töltsd le. Esetleg jófejségében behozza az oldalt. Ilyenkor lehet kiírni, hogy "recommended" meg hogy ez egy fontos biztonsági update, meg lehet sopánkodni nem nem kéri a user.


1. Könnyűsúlyú exe. Minden külön dll-ekben és fájlokban van. az alkalmazás csak update-elni és dll-t hívni tud. Akkor van gond, ha ebben a minimális funkcionalitásban is változik valami. Ez major update-nek számít és újra le kell töltened.


2. Updater. A programod megvizsgálja van-e új verzió, és ha van bezárul és megnyitja az updater-t. Ez a kis segédprogram az alkalmazással együtt települ fel, egyértelmű funkcionalitása van, nem kell cserélni. Magát a frissítést pedig az updater végzi, le tudja cserélni az exe-det is.


3. Intelligens webes installer. A programod letölti az új installert ha van újabb (pár száz kilobájtról van szó). Kilép és futtatja. A telepítő lefut és újra feltelepíti a programodat webes forrásból, persze van olyan okos, hogy csak az újabb fájlokat szedi le és a felhasználói beállításokat megtartja, vagy szükség szerint migrálja.

Ez nagyon hasonlít a 2. pontra, de annyi előnye van, hogy ez egyben telepítő is, nem kell külön csinálni hozzá.


4. Launcher. Gyakorlatilag olyan mint az updater, annyi különbséggel, hogy alapjáraton ezt kell futtatni. Ha van frissítés leszedi, ha nincs van rajta egy szép nagy Start gomb, amivel indul az alkalmazás. Esetleg lehet híreket kirakni rá.

Ezt néha splashscreen-nek álcázzák, így nem tűnik fel, hogy egy másik programmal folytatjuk futtatást, ebben az esetben ez nem interaktív.

2014. júl. 30. 10:40
Hasznos számodra ez a válasz?
 6/8 A kérdező kommentje:

Köszi a segítséget. Annyi bajom lenne még hogy ha valamit feltöltök a weboldalra (atw) nem szedi le... Ad neki nevet meg minden kiterjesztéstis de mind csak 1-2 kilobit lesz...

próbáltam úgyis hogy egy már meglévő oldalra csak felhasználóként feltöltök valamit de akkor sem szedi le... csak lényegében létre hoz egy fájlt ami azt oldal adatait tartalmazza. Most vagy az oldal rossz vagy a parancssor. A másodikra nagyobb az esély. Próbáltam ftp-n keresztül letölteni az nem is működött. C#-ban íródna ha íródna... Ötlet valaki?

2014. júl. 30. 13:16
 7/8 ejbenjaro ***** válasza:
Ha nem mutatsz kódrészletet, nem fognak tudni segíteni neked, hogy mi okozza a hibát a letöltésnél.
2014. júl. 30. 13:25
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:

Teszteld ezzel: [link]


Egy nagyon kicsi sftp szerver a gépeden. Ha ide "fel" tudod tölteni akkor működnie kell máshol is.

2014. júl. 30. 14:00
Hasznos számodra ez a válasz?

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!