[ sucur @ 22.10.2005. 21:33 ] @
Sta treba da uradim sa ovim drugim elementom OpenFile funkcije:
Evo primjera iz jednog API prirucnika.

opened = OpenFile("text.txt",OF,OF_READ);
Spominje se neka OFSTRUCT klasa, al' nezanm sta da uradim, stavljao sam da je OF izvod iz klase i da je pointer, kada je pointer prodje sve compiling i pokretanje, al' kad izvrsim akciju, prikaze ERROR skrin sa porukom da koristim OF a nije deklarisan ???
[ yooyo @ 22.10.2005. 22:47 ] @
Ta funkcija je ostala zbog kompatibilnosti sa 16bit Widowsima. Koristi funkciju CreateFile.

yooyo
[ sucur @ 23.10.2005. 00:28 ] @
ok
[ X Files @ 23.10.2005. 11:38 ] @
Savet: Uvek koristi *pune* putanje do fajla! Tako ces se resiti nekih problema
dok su jos mali :)

dakle, umesto:

"text.txt"

koristi:

"c:\\text.txt"

ili putanju napravi dinamicki (to je najbolje)

OPEN ( OdrediPutanjuDoFajla() + "text.txt" )

[ NrmMyth @ 23.10.2005. 12:18 ] @
Mozes pojasniti?
[ X Files @ 23.10.2005. 12:39 ] @
Kod Windows programiranja, tenutni folder moze biti promenjen (nenamerno)
raznim procesima, funkcijama ili internom implementacijom komponenti...

Na primer, napravis program koji otvara obican fajl:

Open("fajl.txt");

... i to fino radi!

Onda, nakon toga, pozoves na primer standardan Windowsov SaveFileDialog() ili
OpenFileDialog() radi neceg drugog - i to radi!


Onda se VRATIŠ na ono prvo (što je radilo!!!):

Open("fajl.txt");

... i ono više ne radi, jer ne neki proces promenio trenutni radni folder!!!

Pogledaj ovde neke od pritužbi, a imao samih i ja u praksi dosta ali na žalost
nisam zapisivao šta je bio razlog:

http://tinyurl.com/75y3h
http://tinyurl.com/9dqgy
http://tinyurl.com/b9qjw
http://tinyurl.com/co79d

[ yooyo @ 23.10.2005. 13:20 ] @
Da bi se resio tih malih problema koristi GetCurrentDirectory i SetCurrentDirectory pre i posle FileOpen dialoga.

yooyo
[ X Files @ 23.10.2005. 14:43 ] @
Citat:

Da bi se resio tih malih problema koristi GetCurrentDirectory i SetCurrentDirectory
pre i posle FileOpen dialoga.

Da, znam naravno za GetCurrentDirectory i SetCurrentDirectory :) Medjutim, ipak
mislim da je u Win programiranju dobra navika sastavljati cele putanje. Tako mi
je barem savetovano (od znacajno iskusnijih programera) na nekim forumima.

Na primer /kod BCB-a/:

Code:

Open( ExtractFilePath( ParamStr( 0 ) ) + "project1.ini" )
ili
Open( ExtractFilePath( Application->ExeName ) + "project1.ini" )


ili

Code:

Open ( GetWinSysDir() + "project1.ini" )

...
Code:

AnsiString GetWinSysDir()
{
   const DWORD dwLength = 255;
   char  pcSysDir[255];
   AnsiString RESULT;

   GetSystemDirectory( pcSysDir, dwLength );
   RESULT = AnsiString( pcSysDir );
   return ( IncludeTrailingBackslash( RESULT ) );
}



[Ovu poruku je menjao X Files dana 23.10.2005. u 15:43 GMT+1]
[ sucur @ 24.10.2005. 19:37 ] @
Jel problem nekom da napise jedan primjer koriscenja funkcije WriteFile ili ReadFile i odgovarajuci CreateFile i da samo napise tip varijabli koje je koristio u funkcijama.
Recimo:
char textzaupis[] = "dobrodosli";
...
CreateFile(--,--,--,--,--,--)
....
WriteFile/ReadFile(--,--,--,--,--,) itd.
[ X Files @ 24.10.2005. 20:11 ] @
Pogledaj ovde:
http://www.codersource.net/win32_file_sample.html
[ sucur @ 24.10.2005. 20:35 ] @
To je to, za*ebavao me ovaj DWORD za brojanje upisanih bajtova, nema ga u MSDN i uzimanje velicine(duzine) teksta. Hvala .