tihiy_don
Старожил
В продолжении сообщения audiofeel...
Необходимо при изменении текста в едит изменить и combobox (его айтемы уже успешно заполнены названиями томов). Сейчас, при выборе тома в комбобоксе меняется и едит, но если обратно изменить едит выбором папки, то комбобок не изменяется. Работает только с одним диском.
Что сейчас имеется:
Необходимо при изменении текста в едит изменить и combobox (его айтемы уже успешно заполнены названиями томов). Сейчас, при выборе тома в комбобоксе меняется и едит, но если обратно изменить едит выбором папки, то комбобок не изменяется. Работает только с одним диском.
Что сейчас имеется:
Код:
//получить все диски системы
procedure GetDisks;
var
w: dword;
Root: string;
i, DiskType: integer;
begin
{диск А это привод гибких дисков,если он не нужен то
цикл до 24 и
Root[1]:= Char(Ord('B') + i); }
w:= GetLogicalDrives;
Root:= '#:\';
for i:= 0 to 24 do
begin
Root[1]:= Chr(Ord('A') + i);
if (W and (1 shl i)) > 0 then
if (GetDriveType(PAnsiChar(Root)) = DRIVE_FIXED) then
Edit1Combo.AddItem(Root);
end;
Edit1Combo.SetItemIndex(0);
end;
code_language.pascal:
//изменение пути
procedure Edit1ComboOnChange(Sender: TObject);
var
s, s1: string;
i: integer;
begin
i:= 0;
s:= copy(Edit1.GetText, 1, 3);
s1:= '';
for i:= 0 to Edit1Combo.GetItemIndex - 1 do
begin
s1:= Edit1Combo.GetItem(i);
if s1 = s then
Edit1Combo.SetItemIndex(i);
Edit1Combo.Repaint;
end;