Ładowanie pliku tekstowego

Ładowanie pliku tekstowego
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,

jak zrobić aby załadować pliki tekstowe do memo z listy TListBox.

Np.
Mam w list boxie:
abc
deakd
asd

i pliki tekstowe
abc.txt
deakd.txt
asd.txt

Podsumowując: chciałbym załadować pliki tekstowe których nazwy (tylko bez rozszerzenia txt) znajdują się na liście załadować do memo?

Trochę pokrętnie to wytłumaczyłem ale nie udało mi się wytłumaczyć tego mniej pokrętnie ;)

Pozdrawiam Mikołaj.

pelsta
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 819
0

Mniej więcej tak

Kopiuj
procedure TForm1.ListBox1Click(Sender:TObject);
begin
  with ListBox1 do Memo1.Lines.LoadFromFile(Items[ItemIndex]);
end;
  • Rejestracja: dni
  • Ostatnio: dni
0

Dzięki za odpowiedz ale kod który podajesz działa tylko na zaznaczony element w ListBoxie a ja chce żeby ładowało wszystkie.

Pozdrawiam Mikołaj.

madmike
  • Rejestracja: dni
  • Ostatnio: dni
0

Do tego samego memo? to pętla for to po elementach listboxa. pelsta podał ci już jak wczytać, a jak napisać pętlę znajdziesz tutaj: Rozdział 2

  • Rejestracja: dni
  • Ostatnio: dni
0

Na szybko, cos w tym stylu powinno pomoc.

Kopiuj
 var
i: integer;
tf: textfile;
s: string;
begin
  for i := 0 to listbox1.Items.Count -1 do
    begin
      assignfile(tf, listbox1.Items[i] + '.txt')
      while not eof(tf) do
        begin
          readln(tf, s);
          memo1.lines.add(s);
        end;
      closefile(tf);
    end;
end;
  • Rejestracja: dni
  • Ostatnio: dni
0

**Wielkie dzięki ** Gaski. Lekko zmodyfikowałem tylko, pod moje potrzeby i działa, jesteś wielki :)

Pozdrawiam Mikołaj.

olesio
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
  • Postów: 4191
0

@Mikołaj: zamiast TextFile, jeżeli piszesz pod VCL lepiej użyć niewizualnego obiektu typu
TStringList, który też ładuje pliki albo dodwać do Memo.Text. Więcej informacji w google.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.