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

Problem sa FindFirst funkcijom.

[es] :: C++ programiranje :: Problem sa FindFirst funkcijom.

[ Pregleda: 541 | Odgovora: 6 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

maximus_1
Max Maximus

Član broj: 46848
Poruke: 273
193.198.27.*



Profil

icon Problem sa FindFirst funkcijom.08.10.2006. u 15:40

Napisao sam funkciju koja mi ubaciva extenzije u ListBox. Kada odaberem folder c:\ onda je sve ok ali ako odaberem folder npr. c:\Windows onda mi ne ubaci niti jednu funkciju. Evo funkcije:

Code:
BOOL __fastcall TfrmMain::Fill_lstExtensions(TListBox *lst, String Directory) {
    lst->Clear();
    TSearchRec file;
    BOOL AlreadyExists = FALSE;

    if (FindFirst(Directory + "*.*", faAnyFile, file) == 0) {
        do {
            AlreadyExists = FALSE;
            if (!(file.Attr & faDirectory) > 0) {
                for (int i = 0; i < lst->Items->Count; i++) {
                    if (lst->Items->operator [](i) == ExtractFileExt(file.Name)) {
                        AlreadyExists = TRUE;
                        break;
                    }
                }
                if (!AlreadyExists) {
                    lst->Items->Add(ExtractFileExt(file.Name));
                }
            } else {
                for (int i = 0; i < lst->Items->Count; i++) {
                    if (lst->Items->operator [](i) == ExtractFileExt(file.Name)) {
                        AlreadyExists = TRUE;
                        break;
                    }
                }
            }
        } while (FindNext(file) == 0);
        FindClose (&file);
    }
    return TRUE;
}

08.10.2006. u 15:40 

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 2819
89.216.235.*

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: Problem sa FindFirst funkcijom.08.10.2006. u 17:24
Verovatno je problem do toga kako prosleđuješ "String Directory" argument.

Bitno je da bude u obliku X:\Folder\*.*

pa ako je kod tebe: C:\Windows*.*
...onda verovatno nece raditi.


Pogledaj ovde:
http://www.elitesecurity.org/t176155-0#1144651

P.S.

Takodje, TListBox::Strings (ako se ne varam) ima Sorted i Duplicates property-je
koji ti mogu rešiti problem pronalayenja duplikata.

FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
08.10.2006. u 17:24 

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 2819
89.216.236.*

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: Problem sa FindFirst funkcijom.08.10.2006. u 18:00
Proverio sam, morash da dodaš \ nakon foldera.

Postoji VCL funkcija: IncludeTrailingBackslash()

koj mozes iskoristiti kao:

IncludeTrailingBackslash( Directory )


... i ona ce ti sigurno postaviti \ ako treba.

FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
08.10.2006. u 18:00 

maximus_1
Max Maximus

Član broj: 46848
Poruke: 273
193.198.27.*



Profil

icon Re: Problem sa FindFirst funkcijom.08.10.2006. u 18:11
Koja j euopće razlika između Stringa i AnsiStringa?
08.10.2006. u 18:11 

maximus_1
Max Maximus

Član broj: 46848
Poruke: 273
193.198.27.*



Profil

icon Re: Problem sa FindFirst funkcijom.08.10.2006. u 18:14
Bio sam dodao samo jedan pa nije radilo. Tek sam kasnije skužio da sam se zeznuo jer idu dva \\ pa će biti: Directory + "\\*.*".
08.10.2006. u 18:14 

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 2819
89.216.236.*

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: Problem sa FindFirst funkcijom.08.10.2006. u 19:02
String je typedef za AnsiString.


FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
08.10.2006. u 19:02 

maximus_1
Max Maximus

Član broj: 46848
Poruke: 273
193.198.27.*



Profil

icon Re: Problem sa FindFirst funkcijom.09.10.2006. u 15:42
Ok, hvala
09.10.2006. u 15:42 

[es] :: C++ programiranje :: Problem sa FindFirst funkcijom.

[ Pregleda: 541 | Odgovora: 6 ]

Postavi temu Odgovori

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