ďťż

Ładny brzuch

Pracuje pod Borland C++ Builder 6. Mam problem z komponentem ImageList. Na dysku jest określony katalog, w którym znajdują się pliki o różnych rozszerzeniach. W jaki sposób - możliwie prosto - można zaladować wszystkie pliki .bmp do ImageList?
Zrobiłem już tak, że umieściłem w pliku tekstowym nazwy plików, które mają zostać odczytane, ale to niepraktyczne - aby dodać nowy element trzeba będzie nie tylko skopiować do katalogu bitmapę, ale też dopisać jego nazwę do pliku z listą. Z góry dzięki.



Nie wiem, jak jest w BCB, ale w Delphi jest (chyba) procedurka extractfileextension (czy coś takiego). Poza tym, taką procedurkę można bardzo łatwo napisać (pętla od tyłu i jedziesz ;) ).
A wyszukujesz te pliki tak (w Delphi, niedawno Cyrkiel dawał w C++, poszukaj):
var sc: TSearchRec; wynik: integer; begin wynik := FindFirst({nazwa Twojego katalogu}+'*.bmp', sc); while wynik=0 do begin {tu dodajesz do ImageList} end;
end;


extractfileextension
ExtractFileExt(nazwa_pliku);
Starałem się, aby coś z tego wyszło... Kod na dodawanie do listy...
1.Na formatkę utwórz TFileListBox.
2.Ustaw mu nazwę, np.:"FileList"
3.Ustaw właściwość "Visible" na False, aby TFileListBox nie zaśmiecał formatki
4.Ustaw właściwość "Mask" na "*.bmp", aby dodawać do ImageList tylko pliki bmp
5.Możesz jeszcze się pobawić z FileType, aby dodawać także pliki ukryte, systemowe, itp.
6.Oto kod dodawania wszystkich plików do ImageList(zastąp FileList nazwą Twojego FileListBox):
AnsiString nazwa_pliku; FileList->ApplyFilePath(<Nazwa katalogu>); //Otwieramy katalog for(int i = 0; i != FileList->Items->Count; i++){ TPicture* obraz = new TPicture(); //Tworzymy obraz... obraz->LoadFromFile(FileList->Items->Values[i]); //Otwieramy obraz z pliku... (nazwa_image_list)->Add(obraz->Bitmap, NULL); //Dodajemy go do listy }

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •