Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> добавление ресурса 
:(
    Опции темы
Михалыч
Дата 29.8.2011, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Подскажите как правильно можно сделать следующее:
Программа работает с ресурсами ,в данном случае с dll , в папке с программой лежат файлы с ресурсами .
В своей программе из  combobox я выбираю к какому ресурсу буду обращаться, в ресурсах лежат иконки ,
Нужно сделать так,что бы пользователи могли сами добавить файл с ресурсами в мою папку, но нужно что бы соответственно
в combobox появился items на данную папку


--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
sCreator
Дата 29.8.2011, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 20.8.2009
Где: Московская област ь

Репутация: 2
Всего: 5



При запуске программы просматриваешь папку по маске '*.dll' и формируешь из имен файлов список комбобокс ( расширение можно откинуть ).
PM   Вверх
Михалыч
Дата 29.8.2011, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Сформировал в combobox . 
например в папке были файлы :  1111.dll , 2222.dll ,3333.dll  в списке combobox они тоже появились , далее как правильно я понял в обрабтчике combobox  надо проверять по списку, как в списке называется файл,то к такому же и обращаться в папке?




--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
Михалыч
Дата 30.8.2011, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Ну подскажите кто нибудь ,как обрабатывать вызов файла из combobox под другим именем .
Вместо 1111.dll  например что бы было название  Windows


--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
superVad
Дата 30.8.2011, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 4
Всего: 15



Михалыч, Items в комбобоксе это что то вроде StringList. Т.е. к каждому элементу может крепиться еще и объект.
Сделай класс с одним полем - полный путь к файлу. Прикрепляй к каждому айтиму объект такого класса и задавай в поле полный путь к необходимому файлу. Текст к таком случае может быть любым.
PM MAIL   Вверх
Михалыч
Дата 30.8.2011, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Спасибо конечно большое, но в моем мега мозге все это не укладывается, если Вас не затруднит ,не могли бы Вы в поисковике
найти ссылку на данную тему ,я просто не знаю по каким запросам все это искать в поисковике, или может пример есть


--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
superVad
Дата 30.8.2011, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 4
Всего: 15



Михалыч
Набросал на коленке - но смысл, думаю, ясен.
Код

  //объект
  TPathObj = class(TObject)
  public
    path: string;
  end;

//процедура для добавления строчки в комбобокс
procedure TForm1.add_item(cmb_bx: TComboBox; screen_str, path_str: string);
var
  obj_id: Integer;
begin
  obj_id := cmb_bx.Items.AddObject(screen_str, TPathObj.Create);
  TPathObj(cmb_bx.Items.Objects[obj_id]).path := path_str;
end;

//так добавляем
procedure TForm1.Button1Click(Sender: TObject);
begin
  add_item(ComboBox1, 'item_' + IntToStr(ComboBox1.Items.Count), 'тут путь №' + IntToStr(ComboBox1.Items.Count));
end;

//так читаем
procedure TForm1.Button2Click(Sender: TObject);
begin
  ShowMessage(TPathObj(ComboBox1.Items.Objects[ComboBox1.ItemIndex]).path);
end;


Почитай про TStringList - ссылка.
PM MAIL   Вверх
Frees
Дата 30.8.2011, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



superVad, TPathObj утекет

Код

procedure TForm1.FormClose(Sender: TObject);
var
  i: Integer;
begin
  for i := 0 to cmb_bx.Items.Count - 1 do
    cmb_bx.Items.Objects[i].Free;
end;


Это сообщение отредактировал(а) Frees - 30.8.2011, 20:11


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
superVad
Дата 30.8.2011, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 4
Всего: 15



Цитата(Frees @  30.8.2011,  19:08 Найти цитируемый пост)
superVad, TPathObj утекет

Абсолютная правда smile

Добавлено через 6 минут и 42 секунды
О!
А если наследовать TPathObj от TComponent:
Код

  TPathObj = class(TComponent)
  public
    path: string;
  end;

procedure TForm1.add_item(cmb_bx: TComboBox; screen_str, path_str: string);
var
  obj_id: Integer;
begin
  obj_id := cmb_bx.Items.AddObject(screen_str, TPathObj.Create(cmb_bx));
  TPathObj(cmb_bx.Items.Objects[obj_id]).path := path_str;
end;

По идее тогда объекты автоматом уничтожатся. Но я не уверен, что это правильное решение smile
PM MAIL   Вверх
Frees
Дата 30.8.2011, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Цитата(superVad @  30.8.2011,  23:21 Найти цитируемый пост)
По идее тогда объекты автоматом уничтожатся. Но я не уверен, что это правильное решение

как то это сурова, ради строки Tcomponent создавать
а еще можно попробовать в Objects сразу string класть.

Это сообщение отредактировал(а) Frees - 30.8.2011, 20:46


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1953 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.