Wczytywanie plików INI z FileListBox?

0

#Delphi /Witajcie forumowicze,

Sprawa wygląda następująco. Tworzę prosty program, który wczytuje z pliku INI tekst do kilku TEdit.
Chciałbym wrzucić na formę komponent TFileListBox. Czy możecie mi pomóc jak za pomocą kliknięciu w przycisk przy zaznaczonym pliku na liście wywołać reakcję? Umiem zapisywać i wczytywać pliki INI, jednak tylko za pomocą przycisku z ustaloną ścieżką ^^

Jestem "Newbie" do czego się całkowicie przyznaję, nakierujcie mnie koledzy na dobry tok myślenia, dajcie wskazówki! ;)

0

Czy możecie mi pomóc jak za pomocą kliknięciu w przycisk przy zaznaczonym pliku na liście wywołać reakcję?

Ale z czym konkretnie masz problem? Z tego co podałeś, nic nie można wywnioskować... Jaką reakcję?
Napisz po ludzku co chcesz zrobić;

Nazwa pliku zawarta jest we właściwości FileName, w Directory jest ścieżka katalogu zawierającego pliki do wyświetlenia w komponencie, a w Mask ustalasz sobie maskę do filtrowania plików według rozszerzenia.

0

"Reakcję" - Chciałbym aby po zaznaczeniu nazwy pliku z listy i kliknięciu w przycisk, program wczytywał go. Teraz mam kod, w którym z góry określam nazwę pliku, co ma zostać wczytany. Jak podłączyć pod to wszystko komponent TFileListBox?

var
i, Liczba_linii: integer;
begin
  INI:=TINIFile.Create(ExtractFilePath(Application.ExeName)+'/system.ini');
  Liczba_linii := Ini.ReadInteger('memo1', 'Liczba', 0);
for i := 0 to Liczba_linii - 1 do
 Memo1.Lines.Add(Ini.ReadString('memo1', 'linia' + IntToStr(i), ''));
  INI.Free;

Pozdrawiam!

1

Toż Ci napisałem - nazwa aktualnie zaznaczonego pliku w komponencie kryje się pod właściwością FileListBox.FileName, więc wykorzystaj tę właściwość do określenia nazwy pliku, który będzie ładowany przez klasę TINIFile;

Czyli zamiast tej linii:

INI:=TINIFile.Create(ExtractFilePath(Application.ExeName)+'/system.ini');

stwórz klasę w ten posób:

INI := TIniFile.Create(FileListBox.FileName);

i ustaw sobie właściwość Mask na *.ini - dzięki temu w komponencie pokażą się nazwy jedynie plików konfiguracyjnych (z rozszerzeniem .ini).

0

Dziękuję bardzo furious programming, problem rozwiązany!

Pozdrawiam!

1 użytkowników online, w tym zalogowanych: 0, gości: 1