[ --ja-- @ 28.01.2003. 22:38 ] @
| Može li se kako dobiti da unutar exe datoteke programa uguram još jedan fajl (oko 3MB) koji ću kasnije po potrebi izvlačiti iz tog exe-a, ustvari nešto kao što su samoraspakirajuće arhive. Znači, treba ubaciti fajl u exe i kasnije ga iskopirati iz exe-a negdje na disk.
[Ovu poruku je menjao --ja-- dana 07.02.2003. u 21:20 GMT] |
[ Igor S @ 30.01.2003. 09:46 ] @
Prvo izvinite zbog losog srpskog. [Ova vazi i ako budem odgovorio drugim temama]
Apsolutno da mozes da "uguras" koliko hoces i kakvih hoces fajlova u *.exe-u ... sve sto ti treba je:
1. Jedna tekstualna datoteka, nazovimo je: MojResource.TXT ;
2. Otvori je u nekom tekst editoru i upisi:
- Ako hoces da "uguras" neki AVI fajl:
-> MYFILE ANIM "C:\MyFile.avi" (bez te streljkice u pocetku)
MYFILE - je identifikator za konkretan resorce,
ANIM - je tip datoteka koja ce biti "stavljena" u resource fajlu
C:\MyFile.avi - je kompletni fajl name
- Za kursore mesto ANIM koristis CURSOR, za bitmape BITMAP, za bilokakve FAJLOVE koristi FILE itd.
3. Snimimo promjene i zatvaramo datoteku.
4. u win komand promptu ukucajmo: brcc32 C:\MojResource.txt <Enter>; Posle cega ce borlandov resource compajler generirati fajl: C:\MojResource.txt
(Ako sve radimo u istom direktoriumu nemora se kucati putanja do fajlove)
5.U Delphi:
implementation
{$R *.dfm}
{$R MojResource.res} <- ovo smo mi ukucali naznacavajuci delphiju da treba da koristi vanjski resource fajl.
6. Izbildajmo aplikaciju, hopala ... ona je sada teza onoliko kilobajta koliko je i bio MojResource.res, znaci imamo MyFile.avi u nasem .exe-u.
7. Hm, kako da to izvucem i iskoristim ...:
Procedure TForm1.EkstraktujMojResource;
var
MojStream : TResourceStream;
begin
MojStream := TResourceStream.Create(HInstance,'ANIM','MYFILE');
MojStream.SaveToFile('C:\FajleExtractovanIzExea.avi');
MojStream.Free;
end;
Procedure TForm1.btnExtractFromExeClick(Sender: TObject);
begin
EkstraktujMojResource;
end;
end.
8. Opet izbildaj aplikaciju i startaj ... proveri na root u C:\ dali ces naci:FajleExtractovanIzExea.avi ... voala .. tamo je ...
to je sve ... i ne zaboravi ... mozes STRPATI bas SVE u EXE datoteku ...
pozdrav
[ --ja-- @ 31.01.2003. 00:57 ] @
Sve je to ok al imam sad jedan problem.
Zacrveni mi liniju
MojStream.SaveToFile('C:\nekifajl.tip');
i ispod ispiše Missing operator or semicolon. Šta trebam prepraviti da ovo proradi?
Imam još jedno pitanje. Imam jednu bazu s ekstenzijom .dat. i sad ju trebam otvorit i izmjenit jedno određeno polje (jel se tak zove??) i tako spremiti. Baza je zaštićena (meni poznatom) lozinkom. Kako to izvesti? Možda je ovo nekome superjednostavno pitanje, ali ja sam se uhvatio Delphija tek prije nekih 15-ak dana pa dosta toga ne znam, a želio bih naučiti. Hvala unaprijed.
[ Igor S @ 31.01.2003. 08:32 ] @
za gresku proveri sintaxu prethodne linije (znaci nad onu zacrvenetu liniju, proveri dali si stavio " ; " :) )
Za bazu ... koji je tip ta baza ... potreban ti je soodvetan "editor" za bazu
Pozdrav
[ --ja-- @ 31.01.2003. 18:07 ] @
Neznam točno kojeg je tipa baza, Access-ova možda? U njemu sam ju uspio otvoriti. Što se tiče onog errora, bio si u pravu. Zaboravio sam staviti ;. Sad mi se javlja nova greška. Izbildam aplikaciju i sve je ok, resource je ubačen u exe (provjerio sam Resource Hackerom) ali kad pritisnem button koji treba sad taj file izvući iz exe-a, izbaci mi Resource FILE not found.
[ --ja-- @ 02.02.2003. 21:59 ] @
Pa da nitko nezna? Dajte barem ono s bazom! Nešto sam ja tu i sam pokušavao ali nije išlo jer nikad s tim nisam radio prije.
[ Igor S @ 03.02.2003. 08:55 ] @
Uh, mora da gresis pri definiciju koji RESOURCE NAME stavljas ... proveri kako si stavio u .TXT fajllu ... isto ime moras upotrebiti i pri extrakciju .. ili pastaj ovde .TXT fajl i kod kako probujes da extraktujes iz EXE-a ...
[ Crazy Mix @ 03.02.2003. 18:02 ] @
Kad smo vec kod ovoga, za ovakvo ubacivanje u EXE znam odavno, ali mi treba to u runtime-u (ili tako nesto).
Pokusavam da napravim neki "Install Maker", kapirate?
Znaci ubacivanje u EXE bez Delphia?
[ --ja-- @ 03.02.2003. 23:03 ] @
[ --ja-- @ 03.02.2003. 23:16 ] @
Našao sam! Ti si napisao:
MojStream := TResourceStream.Create(HInstance,'ANIM','MYFILE');
a trebalo je;
MojStream := TResourceStream.Create(HInstance,'MYFILE','ANIM');
Citat: Igor S:
Procedure TForm1.EkstraktujMojResource;
var
MojStream : TResourceStream;
begin
MojStream := TResourceStream.Create(HInstance,'ANIM','MYFILE');
MojStream.SaveToFile('C:\FajleExtractovanIzExea.avi');
MojStream.Free;
end;
Sad radi ok. Hvala na pomoći, još ako netko zna ono s bazom, ili bar neki link s primjerom... To je obična Accessova baza sa ekstenzijom .mdb (koju je netko iz nepoznatih razloga promijenio u .dat)
[ brenas @ 28.05.2007. 22:27 ] @
Ja imam jos jedan banalniji problem:
Ono sto se odnosi na command prompt(brcc32 C:\MojResource.txt), kod mene ne prolazi. Javlja mi poruku: BRCC32 is not recognized as an internal or external command.
Sta ne radim dobro?
[ --ja-- @ 28.05.2007. 22:38 ] @
brcc32 ti nije u PATH-u. Postavi se u mapu u kojoj se dotična datoteka nalazi, i onda će radit. U slučaju npr. Delphija 6 kucaj:
cd "C:\Program Files\Borland\Delphi6\Bin"
[ brenas @ 28.05.2007. 22:47 ] @
Hvala -TI- .
[ Miloš Baić @ 29.05.2007. 10:13 ] @
Citat: --ja--:
Imam jednu bazu s ekstenzijom .dat. i sad ju trebam otvorit i izmjenit jedno određeno polje (jel se tak zove??) i tako spremiti. Baza je zaštićena (meni poznatom) lozinkom. Kako to izvesti?
Za početak, extenziju .dat sam viđao u kombinaciji sa SQLite -om. Dalje, to ne mora biti baza uopšte, može biti textualni fajl u koji se unose podaci, koristeći slogove(records) npr.. Kako prikazuješ podatke iz .dat?
[ --ja-- @ 29.05.2007. 13:50 ] @
Citat: Miloš Baić: Za početak, extenziju .dat sam viđao u kombinaciji sa SQLite -om. Dalje, to ne mora biti baza uopšte, može biti textualni fajl u koji se unose podaci, koristeći slogove(records) npr.. Kako prikazuješ podatke iz .dat?
Zahvaljujem, ali ako u ove 4 godine (koliko je prošlo od mog pitanja) nisam našao rješenje, teško da bi mi sad pomoglo. Inače to je bila obična Access baza, mada to sad nije bitno...
Anyway, hvala :)
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|