Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ucitavanje fajla u memoriju (borland)

[es] :: C/C++ programiranje :: ucitavanje fajla u memoriju (borland)

[ Pregleda: 1883 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon ucitavanje fajla u memoriju (borland)14.11.2005. u 20:31 - pre 224 meseci
interesuje me kako uraditi da se npr. pri pokretanju aplikacije ucita neki fajl tj. vise nekih fajlova u memoriju i da tu stoje jer ce ih nekada neki dio nase aplikacije koristiti...
npr. neki .ini ili .txt fajlovi a sve radi brzeg, kasnije, rada same aplikacije...

jer ponekad vise vrijedi vrijeme odziva tog nekog dijela aplikacije nego tih nekoliko KB memorije koliko zauzima neki .ini ili .txt fajl....

ovo me sve interesuje i za .wav fajl...znaci kako i njega ucitati u memoriju (ali ne iskoristiti pri ucitavanju, nego samo ucitati...) , pa nek stoji dok ne zatreba....

i sad samo malo teorijske rasprave, jer mi nesto nije bas najjasnije:
ako nasa aplikacije koristi neki c:\WINDOWS\ini_fajl.ini ili c:\folder1\wav_fajl.wav i odatle ga pozivamo kada ga zatrebamo, ako odradimo ono zbog cega sam postavio temu, kako cemo ga onda pozivati nakon ucitavanja u RAM memoriju...(jer sjetite se-nismo jos upotrebili taj fajl, samo smo ga ucitali...)

mozda isto preko putanje, pa ce kompjuter "prepoznati" da je fajl ucitan vec??
pa?


there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.plus.com.



+4 Profil

icon Re: ucitavanje fajla u memoriju (borland)14.11.2005. u 22:21 - pre 224 meseci
Pa? U chemu je problem da uchitash bilo koji fajl pri startovanju programa, sachuvash pointer na taj blok i onda radish sa njim shta hocesh?

Shto se tiche WAV fajlova, Windows mozhe da ih pusti iz memorije, ne samo da strimuje iz fajla.
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: ucitavanje fajla u memoriju (borland)15.11.2005. u 19:41 - pre 224 meseci
ok...
a konkretno bi bilo....
:-)
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.ptt.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: ucitavanje fajla u memoriju (borland)16.11.2005. u 17:53 - pre 224 meseci
Citat:

interesuje me kako uraditi da se npr. pri pokretanju aplikacije ucita neki fajl tj. vise
nekih fajlova u memoriju i da tu stoje jer ce ih nekada neki dio nase aplikacije
koristiti...
npr. neki .ini ili .txt fajlovi a sve radi brzeg, kasnije, rada same aplikacije...


Velika vecina VCL standardnih komponenti ima metodu LoadFromStream(), sto dalje
znaci da mozes reci npr:

--- H ---

Code:

class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TButton *Button1;
        TMemo *Memo1;
        void __fastcall Button1Click(TObject *Sender);
private:    // User declarations

  TMemoryStream *MS;
  
public:        // User declarations
        __fastcall TForm1(TComponent* Owner);
        __fastcall ~TForm1();
};

--- CPP ---
Code:

__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
   MS = new TMemoryStream;
   MS->LoadFromFile("C:\\dogshow.txt");
}

__fastcall TForm1::~TForm1()
{
   delete MS;
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   Memo1->Lines->LoadFromStream( MS );
}


Dakle, nisam direktno sa diska uzitao fajl DOGSHOW.TXT i stavio ga u Memo1,
nego sam ga prvo stavio u TMemoryStream objekat.

Kasnije, kada mi je zatrebao taj tekst, ucitao sam ga iz RAM-a, tj MS-a.

Postoji puno vrsta STREAM-ova: Memory, File, Resource stream...


Citat:

jer ponekad vise vrijedi vrijeme odziva tog nekog dijela aplikacije nego tih nekoliko
KB memorije koliko zauzima neki .ini ili .txt fajl....

Razmisli o svom dizajnu! Resursi nisu beskonacni!

Citat:

ovo me sve interesuje i za .wav fajl...znaci kako i njega ucitati u memoriju (ali ne iskoristiti pri ucitavanju, nego samo ucitati...) , pa nek stoji dok ne zatreba....


E ovo bi mogla biti druga prica. Najbolje je taj zvuk staviti u tzv RESURSNI FAJL,
i kasnije ga iz njega pozvati, a to ti je isto iz RAM-a.

Napravi rucno jednu *.RC datoteku (Unit1.RC), i neka izgleda ovako:

Code:

#define IDW_ZVUK  1000

#ifdef RC_INVOKED

IDW_ZVUK WAVE "zvuk.wav"

#endif


Naravno, stavi je zajedno sa Unit1.cpp i Unit1.h (u isti folder). Takodje u isti folder
stavi i svoj zvuk.wav fajl (zbog kompajliranja). Kasnije pri izvrsavanju taj WAV ti
nece trebati...

Dodaj (Add to project...) taj Unit1.RC.

Kasnije, iz programa, zvuk reprodukujes ovako:

Code:

PlaySound( MAKEINTRESOURCE( IDW_ZVUK ), HInstance, SND_RESOURCE | SND_ASYNC );


Citat:

i sad samo malo teorijske rasprave, jer mi nesto nije bas najjasnije:
ako nasa aplikacije koristi neki c:\WINDOWS\ini_fajl.ini


Pogledaj gotovu VCL klasu: TMemIniFile. Vec su je ljudi smislili.

Citat:

mozda isto preko putanje, pa ce kompjuter "prepoznati" da je fajl ucitan vec??
pa?

Takav koncept ne postoji niti ce kada postojati ;)

 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: ucitavanje fajla u memoriju (borland)16.11.2005. u 20:54 - pre 224 meseci
x files, hvala ti na odgovoru...

ono za wav file preko resource fajla sam znao jer sam te negdje ranije vec pitao, ali svejedno hvala...

dobro, slazem se da resursi nisu bekonacni, ali u ovom slucaju kada trebam ucitati nekoliko KB pa cak i nekoliko desetina KB ini fajla u RAM da bi se dobio brzi odziv, opredjeljujem se za minimalno "razbacivanje" resursa...
jer ako ne grijesim, ovako spremljen ini fajl aplikaciji na koriscenje zapravo znaci brzi pristup njemu nego da ga svako malo pozivan za HDD-a?? mozda grijesim, i molim vas da me isparvite ako je tako...

i jos jedno mozda glupo pitanje, ali kako si ucitao onaj TXT fajl, tako sam isto mogao i ini fajl...zar ne? (i aplikacija bi onda citala neke podatke iz tog ini-a koji se nalazi u RAM-u....??)

[Ovu poruku je menjao fucking voodoo dana 16.11.2005. u 21:58 GMT+1]
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

[es] :: C/C++ programiranje :: ucitavanje fajla u memoriju (borland)

[ Pregleda: 1883 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.