Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2010, 11:22   #1
Maxvella
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 16
По умолчанию Загрузка имени файла в combobox

Друзья всем привет!
Вопрос как всегда....
Эта строчка выполняет загрузку всех имен файлов из папки в listbox
SendMessage(ListBox1.Handle,LB_DIR, 0,integer(pchar('c:\'+'*.')));
Заметим, что файлы загружаемые в listbox без расширения.

Как сделать в combobox таким же образом.
Вот код как сделано у меня, но почему то загружаются какие-то строки см.рисунок.
Код:
var
F: TSearchRec;
  mydir,Path: string;
  Attr: Integer;
begin
ComboBox1.Items.Clear;
ComboBox1.Text:='<Сделайте выбор>';
MyDir:=ExtractFilePath(Application.ExeName);
  
  Path := mydir+'\base\'+'*.';
  FindFirst(Path, Attr, F);
 
  if F.name <> '' then
  begin
    ComboBox1.Items.Add(F.FindData.cFileName);
    while FindNext(F) = 0 do
          ComboBox1.Items.Add(F.Name);
  end;
  FindClose(F);
 end;
From Stilet: В следующий раз если код тегом не выделишь тему удалю без сожаления
Изображения
Тип файла: jpg точка.JPG (8.5 Кб, 159 просмотров)

Последний раз редактировалось Stilet; 08.12.2010 в 13:32.
Maxvella вне форума Ответить с цитированием
Старый 08.12.2010, 14:35   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Нужно пропустить F.Name='.' OR F.Name='..'. , Attr-ом мжно отрегулировать выбор только файлов, опуская подкаталоги
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.12.2010, 14:36   #3
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
    SR:TSearchRec;
    Path:string;
begin
 Path:=ExtractFilePath(Application.ExeName)+'base\*.*';
 i:=FindFirst(Path,faAnyFile,SR);
 while i = 0 do
  begin
   if (SR.Name <> '.')and(SR.Name <> '..') then
   combobox1.Items.Add(Copy(SR.Name,1,Pos('.',SR.Name)-1));
   i:=FindNext(SR);
  end;
 FindClose(SR);
end;
SERG1980 вне форума Ответить с цитированием
Старый 08.12.2010, 14:38   #4
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Так, файлы нужны или директории? В строке
FindFirst(Path, Attr, F); чему равно Attr?
Сделай что-то типа
Код:
procedure TForm1.RzBitBtn5Click(Sender: TObject);
var
  F: TSearchRec;
  mydir, Path: string;
  Attr: Integer;
begin
  ComboBox1.Items.Clear;
  ComboBox1.Text := '<Сделайте выбор>';
  MyDir := ExtractFilePath(Application.ExeName);

  if FindFirst(Path + '*.*', faAnyFile, F) = 0 then
   begin
     repeat
       if (F.Attr <> faDirectory) then
       begin
         ComboBox1.items.Add(F.Name);
       end;
     until FindNext(F) <> 0;
     FindClose(F);
   end;
end;
_SERGEYX_ вне форума Ответить с цитированием
Старый 10.12.2010, 14:58   #5
Maxvella
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 16
Хорошо

Зачет!!! Все получилось..... Спасибо Вам друзья которых не знаю!!!
Maxvella вне форума Ответить с цитированием
Старый 01.08.2013, 13:49   #6
psoi
Новичок
Джуниор
 
Регистрация: 01.08.2013
Сообщений: 1
По умолчанию

Код:
var
 dir:string;
 dir:=ExtractFilePath(Application.ExeName)+'\*.txt';
 ComboBox1.Perform(CB_DIR,0,LParam(Pchar(dir)));
Если, как в моем случае, найдя один файл, при раскрытии список бокса немного не правильно отобразился, то я решил проблему таким костылем:

Код:
ComboBox1.Items.Add('');
ComboBox1.Perform(CB_DIR,0,LParam(Pchar(dir)));
ComboBox1.Irems.Delete(0);
psoi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
random в имени файла Mihanches Общие вопросы Delphi 3 23.10.2010 10:20
Корректность имени файла Altera Общие вопросы Delphi 6 30.05.2009 08:31
Проблема такова: язык:Delphi7; сохранения файла; загрузка файла в String Grid lightdevil Общие вопросы Delphi 3 06.03.2009 23:10
Копирование имени файла greengeneral Общие вопросы Delphi 3 10.09.2007 14:11
Массив в имени файла LeoN Общие вопросы Delphi 3 01.01.2007 14:24