Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 3.559 pregleda

Najnovija ↓

provera ekstenzije fajla 15.10.2010. u 06:17 · pre 195 meseci #1
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
Re: provera ekstenzije fajla 15.10.2010. u 07:14 · pre 195 meseci #2
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 ( ... ) ).

Re: provera ekstenzije fajla 15.10.2010. u 08:25 · pre 195 meseci #3
Hvalati XFiles kao mnogo puta do sada :) A koja bibljoteka treba za LastChar() cim sam pito vec pa da znam :)
Re: provera ekstenzije fajla 15.10.2010. u 10:28 · pre 195 meseci #4
Nisam ni znao da postoji ta funkcija.

Poslednju pojavu nekog karaktera mozes proveriti i sa: StrRScan
Re: provera ekstenzije fajla 01.11.2010. u 17:16 · pre 195 meseci #5
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

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;

Potpis
Tko leti vrijedi
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme