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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2015, 16:03   #31
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Спасибо Sibedir и Stilet
Два кода работают, и картинки выводит то что и хотел спасибо. Но добавляют только последний файл из .ini.
Вот добавил в код от Sibedir загрузку из .ini (Надеюсь правильно)
Код:
procedure TForm1.FormCreate(Sender: TObject);
const
  SectionName = 'Game';
var
  Keys: TStringList;
  Inifile: TMemIniFile;

  A: array [0..78] of Char;
  ic: TIcon;
  i: Integer;
  s, q: String;
begin
ListView1.ViewStyle := vsIcon;
Inifile := TMemIniFile.Create('Settings.ini');
Keys := TStringList.Create;
Inifile.ReadSection(SectionName, Keys);
 for I := 0 to Keys.Count - 1 do

    StrPCopy(A, Inifile.ReadString(SectionName, Keys[i], ''));
    ic := TIcon.Create;
    ic.Handle := ExtractIcon (HInstance, A, 0);
    i := ImageList1.AddIcon (ic);  

  with ListView1.Items.Add do begin
      Caption := Keys[i];
      ImageIndex := i;
     end;
  FreeAndNil(Keys);
  FreeAndNil(Inifile);
  ic.Free;  
end;
nefakt вне форума Ответить с цитированием
Старый 30.03.2015, 16:13   #32
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Надеюсь правильно
Смотрим в книгу - видим... что? Правильно - ничего.
Еще раз читай примеры. внимательно!!!. Дотошнопобуквенно.
Сравнивай со своим.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.03.2015, 21:14   #33
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

В общем не знаю как сделать
Вот немного изменил загрузку из .ini
Код:
begin
ListView1.ViewStyle := vsIcon;
Inifile := TMemIniFile.Create('Settings.ini');
Keys := TStringList.Create;
Inifile.ReadSectionValues(SectionName, Keys);
 for i := 0 to Keys.Count - 1 do

    q:= Keys.ValueFromIndex[i] ;

    ic := TIcon.Create;
    ic.Handle := ExtractIcon (HInstance, PChar(q), 0);
    i := ImageList1.AddIcon (ic);

  with ListView1.Items.Add do begin
      Caption := Keys[i];
      ImageIndex := i;
     end;
  FreeAndNil(Keys);
  FreeAndNil(Inifile);
  ic.Free;
end;
Если тут
Код:
q:= Keys.ValueFromIndex[i] ;
изменить i на 0 то считает первую строку и добавляет все как надо, если поставить 1 тоже самое все ок и т.д., если поставить i то если подумать логически то все должно работать при первом цикле 0 при втором 1 и т.д., но он не работает вернее добавляет только последнее. Я уже не знаю как написать... Логически если подумать то он должен работать, при каждом цикле добавлять 1 к переменной i .
nefakt вне форума Ответить с цитированием
Старый 30.03.2015, 21:23   #34
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Логически если подумать, да внимательнее посмотреть, то в тело цикла нужно
Код:
   ic.Handle := ExtractIcon (HInstance, PChar(q), 0);
    i := ImageList1.AddIcon (ic);

  with ListView1.Items.Add do begin
      Caption := Keys[i];
      ImageIndex := i;
     end;
добавить.
begin end забыл

А
Код:
ic := TIcon.Create;
нужно 1 раз делать.

Последний раз редактировалось Sibedir; 30.03.2015 в 21:26.
Sibedir вне форума Ответить с цитированием
Старый 31.03.2015, 07:51   #35
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Наконец то сделал, Sibedir спасибо за помощь.
Код:
i := ImageList1.AddIcon (ic);
присвоил вместо переменной i переменную w типа integer и добавил Begin end теперь все работает)
nefakt вне форума Ответить с цитированием
Старый 31.03.2015, 08:14   #36
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Цитата:
Сообщение от nefakt Посмотреть сообщение
Наконец то сделал, Sibedir спасибо за помощь.
Поняли чьи в хате тапки? А Stilet токма 3 страницы флудил зря


nefakt, спасибо, конечно. Но я вообщета взял уже готовые решения
Sibedir вне форума Ответить с цитированием
Старый 31.03.2015, 08:44   #37
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Ну почему зря он мне ShellListView показал, тоже хорошая библиотека. А я искал, не находил, видел примеры, по форумам лазил но не попадалась такая. Или может была, просто не заметил. Параллельно искал работу с джойстикам наверно и не углядел, хочу свою программу написанную на autoit перенести на Delphi тут функционала больше. Ну с теми примерами что есть для работы с джойстиками в autoit это было легче сделать. Я пока только сделал нажатия четырех кнопок A,B,X,Y нужно еще с крестовиной и стиком разобраться. Но все равно спасибо Sibedir и Stilet.
nefakt вне форума Ответить с цитированием
Старый 31.03.2015, 09:38   #38
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А Stilet токма 3 страницы флудил зря
Ну дык... У Ломастера уроки флуда беру, и судя по всему успешно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с иконками(ошибка с LPCTSTR) - №2 zipo666 Общие вопросы C/C++ 5 11.02.2012 01:16
Работа с иконками Aleksey1989 Помощь студентам 4 01.10.2010 17:25
IdFTP:получить список с иконками tiger Работа с сетью в Delphi 4 28.01.2010 12:01
Проблема с иконками в TreeView [Smarik] Общие вопросы Delphi 4 01.02.2009 21:02
Проблема с иконками в TActionToolBar и ActionMainMenuBar... kalexi Компоненты Delphi 0 28.04.2007 12:58