Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: CL | DM;

Вниз

Directory   Найти похожие ветки 

 
МегаПупс   (2006-01-23 14:59) [0]

Как сделать нечто, как в инталяторах выбор папки
с помощью компонентов suiDirectoryListBox и suiDriveComboBox
библиотеки suiPack. Надо чтоб при смене диска в КомбоБоксе открывался
этот диск в ЛистБоксе. Как это можно реализовать???


 
Джо ©   (2006-01-23 15:01) [1]

См. компоненты на вкладке Win 3.1.


 
Плохиш ©   (2006-01-23 15:16) [2]


> Надо чтоб при смене диска в КомбоБоксе открывался
> этот диск в ЛистБоксе. Как это можно реализовать???

"при смене диска в КомбоБоксе" говоришь "ЛистБоксу", что надо открыть список для такого-то Drive.


 
МегаПупс   (2006-01-23 15:16) [3]

Компоненты я уже нашел на вкладке SuiPack. Мне с ними надо работать.
Хотя в принцепи это одно и тоже. Как сделать как я сказал. Помогите пожа...


 
МегаПупс   (2006-01-23 15:17) [4]

To Плохишь
Да Именно!!


 
Джо ©   (2006-01-23 15:36) [5]

> [3] МегаПупс   (23.01.06 15:16)

У компонентов на вкладку Win 3.1 (TDirectoryListBox, TDriveComboBox) есть соответствующие свойста для установления связи между ними.
Например у компонента TDriveComboBox есть свойство DirList, ему назначаешь экз. TDirectoryListBox и происходит желаемое.
Насчет загадочных компонентов SuiPack ничего сказать не могу, я их в глаза не видел. Но вероятно, в них используется похожая схема.


 
МегаПупс   (2006-01-23 17:33) [6]

To: Джо
Спасибо! Все так, все так! :)


 
МегаПупс   (2006-01-23 18:35) [7]

Как по выбранному в этой системе адресу найти все mp3 файлы. А путь присвоить переменной SoundPath ??


 
МегаПупс   (2006-01-23 20:57) [8]

Как искать *.mp3 я уже в принципи знаю. Но как присвоить переменной SoundPath полный путь из DirectoryListBox.

На SoundPath := DirectoryListBox.Directory пишет Pascal Error

Может че посоветуете???


 
Плохиш ©   (2006-01-23 21:46) [9]


> Pascal Error

Это ещё, что за новая ошибка?


 
МегаПупс   (2006-01-23 22:02) [10]

[Pascal Error] UnitOBG.pas(1): Unable to invoke Code Completion due to errors in source code

В смысле вот полное название ошибки:(


 
МегаПупс   (2006-01-24 14:17) [11]

Я так понял что когда Лист и Комбо Боксы объединяншь, то происходит что-типа наследования классов (или как это называется на Паскале?) поэтому нужно менять обращение к компоненту. Но как?? Помогите !


 
МегаПупс   (2006-01-24 15:32) [12]

Извините за прошлый пост. Он был написан в порыве гнева. Там написана чушь, поэтому лучше его не читайте;)

Помогите в следующем. Надо по клику на кнопке сформировать ПлейЛист из найденных
мп3 файлов в директории указанной DirectoryListBox.

Почему не воспринимается код? В чем ошибка??

procedure TForm1.Button1Click(Sender: TObject);
var
 SearchRec: TSearchRec;
 SoundPath: String;
begin
 SoundPath := DirectoryListBox1.Directory;
 if FindFirst(SoundPath + "*.mp3", faAnyFile, SearchRec) = 0 then
   begin
     ListBox1.Items.Add(SearchRec.Name);
     while (FindNext(SearchRec) = 0) do
     begin
       ListBox1.Items.Add(SearchRec.Name);
     end;
   end;
end;


 
EvS   (2006-01-24 15:45) [13]

FindClose(SearchRec) забыл


 
Плохиш ©   (2006-01-24 15:56) [14]


>  SoundPath := IncludeTrailingPathDelimiter(DirectoryListBox1.Directory);


 
Джо ©   (2006-01-24 15:57) [15]

[12] МегаПупс  
> SoundPath + "*.mp3"


Кажись, слэш забыл.


 
МегаПупс   (2006-01-24 16:41) [16]

Не знаю что это и зачем и куда его вставлять (FindClose(SearchRec))  но у меня в принцепи работает моя процедура если ей адресс в начале задать,
а считывать путь с ЛистБокса не хочет. Почему??

Выкладываю полный код. Постарайтесь найти ошибку пожаловста:

procedure TForm1.PlayList(Path: string);
var
 SearchRec: TSearchRec;
begin
 ListBox1.Clear;
 if FindFirst(Path + "*.mp3", faAnyFile, SearchRec) = 0 then
   begin
     ListBox1.Items.Add(SearchRec.Name);
     while (FindNext(SearchRec) = 0) do
     begin
       ListBox1.Items.Add(SearchRec.Name);
     end;
   end;
 ListBox1.ItemIndex := 0;
 try
   MediaPlayer1.Play
 except
   lbFileName.Caption := "";
   MediaPlayer1.Stop;
   exit;
 end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 SoundPath := ExtractFilePath(ParamStr(0)) + "\Musik\";
 PlayList(SoundPath);
end;

procedure TForm1.btOkDirClick(Sender: TObject);
begin
 PlayList(DirectoryListBox1);
end;


Процедура ФормКреате список формирует, а
БатонКлик нет :( Почему???


 
Плохиш ©   (2006-01-24 16:45) [17]


> МегаПупс   (24.01.06 16:41) [16]

Читай два предыдущих поста до полного просветления.


 
Джо ©   (2006-01-24 16:45) [18]

> [16] МегаПупс   (24.01.06 16:41)

Ты вообще ответы читаешь?


 
МегаПупс   (2006-01-24 17:16) [19]

Да, ребят, извините! Спешил очень:)
Спасибо большое!!!

ЗЫ: А слеш там все таки не нужен :)


 
МегаПупс   (2006-01-24 17:16) [20]

Да, ребят, извините! Спешил очень:)
Спасибо большое!!!

ЗЫ: А слеш там все таки не нужен :)


 
МегаПупс   (2006-01-24 17:42) [21]

А как наложить защиту на открытие съемных дисков если они не вставлены,
что-то типа:

procedure TForm1.DriveComboBoxChange(Sender: TObject);
begin
 try
   --------<
 except
   BEEP;
   exit;
 end;
end;


Что писать в разделе "Попробуй"?



Страницы: 1 вся ветка

Текущий архив: 2006.02.12;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.03 c
2-1138188142
VitalikS
2006-01-25 14:22
2006.02.12
Invalid use of keyword


2-1138020724
md
2006-01-23 15:52
2006.02.12
Распечатать


8-1125484815
palgen
2005-08-31 14:40
2006.02.12
Как захватить кадр, используя DirectShow ?


15-1138027878
Kerk
2006-01-23 17:51
2006.02.12
В перл есть динамическая линковка модулей?


1-1137157199
manefesto
2006-01-13 15:59
2006.02.12
Создание объектов в dll и создание обработчиков для них.