DriveComboBox - kolejne starcie?

0

Witam Wszystkich!

To moj pierwszy post na tym forum. Rozpoczynam dopiero swoja przygode z Delphi, wiec pls o wyrozumialosc. Pracuje w D2 - ktos jeszcze w tym pracuje? ;).
Przegladalem FAQ i szukalem na forum rozwiazania swego problemu ale nie znalazlem jednoznacznej propozycji.

Tak jak w temacie problem dotyczy DriveComboBox'a, a mianowicie:
Jak w DriveComboBox'ie wyswietlic tylko dyski twarde? Tzn. jak usunac cala reszte? Zalezy mi na tym, aby same dyski twarde byly wyswietlane w identyczny sposob, jak ma to miejsce, gdy DriveComboBox funkcjonuje standardowo (uklad: litera dysku/ikona/etykieta dysku).
Pragne raz jeszcze zaznaczyc, ze pracuje w D2.

Czy ktos jest w stanie podac gotowca (nie bijcie... ;) ?

Pozdrawiam...

0

sprawdzic a pozniej usunac, ktorych nie chcesz

http://4programmers.net/view_faq.php?id=325

0

Jak juz mowilem jestem poczatkujacy - wiem jednak jak sprawdzic napedy nie wiem tylko jak usunac niechciane z DriveCobmoBox (nie ComboBox or ListBox). Czy w D2 jest to w ogole mozliwe?
No i co wazniejsze usunac tak, aby dyski twarde, ktore zostana, posiadaly identyczny opis/ikonki jak w normalnym DriveComboBox'ie.

Moze jednak ktos posiada gotowca? ;)

0

jesli nie wiesz, jak to zrobic to najpierw zajrzyj do helpa,
przejrzyj wszystko o DriveComboBox, zobacz przykłady, a dopiero później pytaj

jesli naprawde nie wiesz to daj znac - podam Ci kod

a jesli chodzi o ikonki to szukaj komponentu TNewDriveComboBox lub
sciagnij komponenty JEDI

albo zmien ikonki w Restoratorze lub ResHaskerze

[dopisane]

a co mi tam zalezy:

procedure TForm1.Button1Click(Sender: TObject);
var
I : integer;
begin
DriveComboBox1.ItemIndex := -1;
for I := 0 to DriveComboBox1.Items.Count -1 do // przeszukaj wszystko...
begin
if DriveComboBox1.Items[i] = lowercase('a:') then
begin
DriveComboBox1.ItemIndex := I;
DriveComboBox1.Items.Delete(DriveComboBox1.ItemIndex);
end;
end;

0

Rozumiem Wasze podirytowanie, ale roznie to bywa na poczatku... Helpa poczytalem raz jeszcze, przesledzilem to co napisaliscie (thx) i sklecilem wlasna procedure, ktora spelnia wszystkie moje wymagania. :)
No moze paza jednym malym ale: mam 3 partycje i wlasnie trzecia rozpozawana jest jako typ "1" (na urzadzeniu nie istnieje katalog zrodlowy?) - hmmm dziwne... czego to moze byc wina? To juz moje ostatnie pytanie w tej sprawie ;)

Thx za wypowiedzi - pozdrawiam...
Ponizej kod procedury...

procedure TForm1.Button1Click(Sender: TObject);
var i, j, Typ: Integer;
Dysk: String;
begin
i := 0;
j := 0;
repeat
j := DriveComboBox1.Items.Count - 1;
Dysk := Copy(DriveComboBox1.Items[i], 0, 2);
Typ := GetDriveType(PChar(Dysk));
if Typ Drive_Fixed then DriveComboBox1.Items.Delete(i)
else i := i + 1;
until i = j;
DriveComboBox1.ItemIndex := 0;
{mozna rowniez dodac (wrecz wskazane) jesli na formie jest DirectoryListBox:
DirectoryListBox1.Directory := Copy(DriveComboBox1.Items[0], 0, 2) + '';}
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1