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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2010, 17:05   #1
Dj_SheLL
Форумчанин
 
Аватар для Dj_SheLL
 
Регистрация: 14.10.2009
Сообщений: 128
Вопрос Имена всех секций всех ini-файлов (DELPHI)

Пытаюсь прочитать все имена всех ini-файлов в текущей папке,делаю вот так
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, inifiles;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    ListBox2: TListBox;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
Var SR:TSearchRec;
    FindRes,i:Integer;
    Ini:TIniFile;
    dir:string;
begin
ListBox1.Clear;
FindRes:=FindFirst('*.ini',faAnyFile,SR);
While FindRes=0 do
   begin
      ListBox1.Items.Add(SR.Name);
      FindRes:=FindNext(SR);
   end;
FindClose(SR);

for i:=0 to ListBox1.Items.Count-1 do
begin
GetDir(0,dir);
Ini:=TIniFile.Create(dir+'\'+ListBox1.Items.Strings[i]);
Ini.ReadSections(ListBox2.Items);
Ini.Free;
end;
end;

end.
Проблема в том,что читаются только секции последнего найденного файла из списка ListBox1.
И посоветуйте,как можно минимизировать всё,что я наваял.ListBox-ы я заменю позже на StringList.
Dj_SheLL вне форума Ответить с цитированием
Старый 10.10.2010, 17:20   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Читаются все файлы. Только секции текущего файла заменяют в ListBox2 считанные на предыдущем шаге.
Здесь без еще одного цикла не обойтись.
А минимизировать в коде нечего. Он и так крошечный.
Прик вне форума Ответить с цитированием
Старый 10.10.2010, 17:23   #3
Dj_SheLL
Форумчанин
 
Аватар для Dj_SheLL
 
Регистрация: 14.10.2009
Сообщений: 128
По умолчанию

Цитата:
Сообщение от Прик Посмотреть сообщение
Читаются все файлы. Только секции каждого файла в ListBox2 заменяют уже считанные на предыдущем шаге.
Здесь без еще одного цикла не обойтись.
А можно пожалуйста пример небольшой?
Dj_SheLL вне форума Ответить с цитированием
Старый 10.10.2010, 17:26   #4
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Прошу прощения, не понял. Пример чего?
Прик вне форума Ответить с цитированием
Старый 10.10.2010, 17:32   #5
Dj_SheLL
Форумчанин
 
Аватар для Dj_SheLL
 
Регистрация: 14.10.2009
Сообщений: 128
По умолчанию

Пример доп.цикла,если не затруднит.
Dj_SheLL вне форума Ответить с цитированием
Старый 10.10.2010, 17:37   #6
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Так примерно:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  ...
  SL : TStringList;
  N : Integer;
begin

  ...
  SL := TStringList.Create;
  try
    ListBox2.Items.Clear;
    for i := 0 to ListBox1.Items.Count-1 do begin
      GetDir(0,dir);
      Ini := TIniFile.Create(dir+'\'+ListBox1.Items.Strings[i]);
      Ini.ReadSections(SL);
      for N := 0 to SL.Count-1 do
        ListBox2.Items.Add(SL[N]);
      Ini.Free;
    end;
  finally
    SL.Free;
  end;
end;
Прик вне форума Ответить с цитированием
Старый 10.10.2010, 17:42   #7
Dj_SheLL
Форумчанин
 
Аватар для Dj_SheLL
 
Регистрация: 14.10.2009
Сообщений: 128
По умолчанию

Работает!Огромнейшее спасибо!Весы "подкачал"
Dj_SheLL вне форума Ответить с цитированием
Старый 10.10.2010, 17:44   #8
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Благодарю Удачи!
Прик вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] Как получить имена всех файлов с опред. расширением. T-dayne Помощь студентам 1 26.03.2010 16:40
Получить имена всех листов в книге Temnota Microsoft Office Excel 6 26.12.2009 07:36
DOS команда для удаления всех файлов, имена которых содержат цифры Samopal Операционные системы общие вопросы 1 23.12.2008 21:12
Показ всех имен файлов в каталоге[Delphi] sergey31 Помощь студентам 2 27.07.2008 16:43
Получить имена всех файлов, которые были открыты с помощью приложения Kn793 Общие вопросы Delphi 9 10.07.2008 15:31