Jak wczytac pare wierszy z pliku txt do ListBox

0

Jak wczytac do LisBoxa pare linijek z pliku txt (np od 10 do 15 linijki) przez wcisniecie buttona.

Bardzo prosze o pomoc, pisze program na zaliczenie i nie moge go przez to dokonczyc, brakue mi tylko tej jednej rzeczy.

0

Co ty robiłeś na wykładach? :]

var
  i: Integer;
  StringList: TStringList;
begin
  StringList := TStringList.Create;
  StringList.LoadFromFile('c:\plik.txt');
  for i := x to y do ListBox1.Items.Add(StringList.Strings[i]);
  // x - od ktorej linijki
  // y - do ktorej linijki
  StringList.Free;
end;
0

Dzieki wielkie :) takie proste :) Wisze ci browarka

A jeszcze jedno, jak sprawdzic ilosc wierszy w tym pliku?

0

Powtórzę wypowiedź przedmówcy: "Co robiłeś na wykładach?". Moja metoda rozwiązywania takich problemów jest następująca: w delphi można zauważyć konwencję, która zwykła liczby elementów w zbiorach nazywać Count lub podobnie np. StringGrid.ColCount. Liczbę elementów w kolekcji StringList ustala wartość Count. Teraz jak do tego doszedłem:

  1. Odpaliłem delphi
  2. W Formate zadeklarowałem zmienną var StringList :TStringList;
  3. Po Słowie begin napisałem StringList. i czekałem aż zapali się lista, przejrzałem ją i ot, patrzę, jest Count (można też przez F1). Przeczytałem opis i mam. Komputer nie zwalnia od myślenia.
0

nie chce zliczac tak, w pliku mam 2 646 848 wierszy, wiec nie chce zadna petla tego zliczac, moze jest jakis inny sposob, ktory by mi nie zliczal po kolei wszystkich linijek. za pomoca fora potrafie ale moze istnieje jakis szubszy sposob. Wiec dlatego sie pytam.

0
PiXel napisał(a)

Co ty robiłeś na wykładach? :]

var
  i: Integer;
  StringList: TStringList;
begin
  StringList := TStringList.Create;
  StringList.LoadFromFile('c:\plik.txt');
  for i := x to y do ListBox1.Items.Add(StringList.Strings[i]);
  // x - od ktorej linijki
  // y - do ktorej linijki
  StringList.Free;
end;

jak już tak to po co ten for???
ListBox.Items.Assign(StringList.Strings); i masz wszystkie przepisane ze StringList do ListBox, a najlepiej to samemu zacząć patrzeć jakie właściwości mają komponenty i dać
ListBox.Items.LoadFromFile();

0
Misiekd napisał(a)

jak już tak to po co ten for???
ListBox.Items.Assign(StringList.Strings); i masz wszystkie przepisane ze StringList do ListBox, a najlepiej to samemu zacząć patrzeć jakie właściwości mają komponenty i dać
ListBox.Items.LoadFromFile();

Czytając początek jego pytania pomyślałem dokładnie o tym samym :) Chyba nie końca skoro nie wiesz, że to ma byc wybrany fragment pliku. ;-)

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