Kako proveriti koja je ekstenzija nekog fajla koi otvaram preko OpenDialog-u. Konkretno radi se o slici pa tako da filter je podesen na oni fajlovi koji bi trebalo da budu...al mene zanima tacna ekstenzija fajla koji je odaberen? Mislio sam da upotrebim for ciklus i da pretrazim "put"(da kaezemo da je neki string upitanju) do fajla i da provereim sve karaktere posle zadnje tacke al ne znam koju bibljoteku koristi funkcija LastChar() i dali je to dobro resenje? Radim u BCB.... Hvala
provera ekstenzije fajla
Zaključano
Zakačeno
Pogledaj VCL Help: ExtractFileExt
Treba ukljuciti i: SysUtils.hpp
Primeti da funkcija vraca i tačku. Takodje ne zaboravi "case-sensitivity" pa će možda pri upoređivanju trebati recimo i UpperCase( ExtractFileExt ( ... ) ).
Treba ukljuciti i: SysUtils.hpp
Primeti da funkcija vraca i tačku. Takodje ne zaboravi "case-sensitivity" pa će možda pri upoređivanju trebati recimo i UpperCase( ExtractFileExt ( ... ) ).
Hvalati XFiles kao mnogo puta do sada :) A koja bibljoteka treba za LastChar() cim sam pito vec pa da znam :)
Nisam ni znao da postoji ta funkcija.
Poslednju pojavu nekog karaktera mozes proveriti i sa: StrRScan
Poslednju pojavu nekog karaktera mozes proveriti i sa: StrRScan
Uvek je lepo koristiti ono sto dolazi uz default framework bilo kog radnog okruzenja, ali moj stav je da treba ici na kod koji je u neku ruku portabilniji.
C RTL kod CodeGear/Embarcadero/Borland i MSVC nudi funkcije _splitpath/_wsplitpath koje rade upravo to:
http://msdn.microsoft.com/en-us/library/e737s6tf%28VS.80%29.aspx
C RTL kod CodeGear/Embarcadero/Borland i MSVC nudi funkcije _splitpath/_wsplitpath koje rade upravo to:
http://msdn.microsoft.com/en-us/library/e737s6tf%28VS.80%29.aspx
Code:
#include <stdlib.h>
#include <iostream>
const char* path = "nekifajl.ext";
char drive[_MAX_DRIVE] = {0};
char dir [_MAX_DIR ] = {0};
char fname[_MAX_FNAME] = {0};
char ext [_MAX_EXT ] = {0};
_splitpath(path, &drive[0], &dir[0], &fname[0], &ext[0]);
std::cout << "ekstenzija je " << ext << std::endl;
#include <stdlib.h>
#include <iostream>
const char* path = "nekifajl.ext";
char drive[_MAX_DRIVE] = {0};
char dir [_MAX_DIR ] = {0};
char fname[_MAX_FNAME] = {0};
char ext [_MAX_EXT ] = {0};
_splitpath(path, &drive[0], &dir[0], &fname[0], &ext[0]);
std::cout << "ekstenzija je " << ext << std::endl;
Potpis
Tko leti vrijedi