[ AlexK @ 07.02.2010. 21:50 ] @
Ljudi imam jedno pitanje.
Napravio sam jedan mali programcic koji radi na sledeci nacin.
Ucitavanje txt fajla u ListBox , zatim na button click iz ListBox-a ucitava prvih 5 redova u memo.
Moje pitanje je kako bih mogao da na sledeci klik u memo ucitavam sledecih 5 redova iz ListBox-a i kad stize na kraj , ide iz pocetka neka loop fora?

Evo programa:

procedure TForm1.Otvori_fajlClick(Sender: TObject);
begin
Open.Filter:='TXT Fajl|*.txt';
if Open.Execute then
begin
ListBox1.Items.LoadFromFile(Open.FileName);
end;
end;

procedure TForm1.Citaj_u_MemoClick(Sender: TObject);
Var
i:integer;
begin
for i := 0 to ListBox1.Items.Count - 5 do
begin
Memo1.Lines.Add(ListBox1.Items);
end;
end;


[ krle_zr @ 08.02.2010. 06:32 ] @
Citat:
AlexK:
Ucitavanje txt fajla u ListBox , zatim na button click iz ListBox-a ucitava prvih 5 redova u memo.

Moje pitanje je kako bih mogao da na sledeci klik u memo ucitavam sledecih 5 redova iz ListBox-a i kad stize na kraj , ide iz pocetka neka loop fora?

Evo programa:

procedure TForm1.Otvori_fajlClick(Sender: TObject);
begin
Open.Filter:='TXT Fajl|*.txt';
if Open.Execute then
begin
ListBox1.Items.LoadFromFile(Open.FileName);
end;
end;

procedure TForm1.Citaj_u_MemoClick(Sender: TObject);
Var
i:integer;
begin
for i := 0 to ListBox1.Items.Count - 5 do
begin
Memo1.Lines.Add(ListBox1.Items);
end;
end;


Ubaci neku promenljivu koja bi ti cuvala trenutnu poziciju u listi i proveravaj stalno da li je stigla do kraja liste. E sad, kazes prvih pet, medjutim tvoj kod ucitava sve sem poslednjih pet.

Pokusaj pa ako zapne javi.
[ AlexK @ 08.02.2010. 22:43 ] @
Hvala ti ali izgleda sam ja vec zapno - spetljao cim sam uradio da cita sve sem poslednjih pet redova.
Molim te otvori mi oci :-)
[ krle_zr @ 09.02.2010. 06:38 ] @
Meni ovako nesto pada na pamet

Imamo dve promenljive, Trenutno, koja je globalna i Dodato, koja je lokalna za nasu proceduru. Koristi se kako bi utvrdili koliko je trenutno stavki dodato, a u slucaju da dodje do kraja liste da krene od pocetka.

Code:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Trenutno := 0;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Dodato: Integer;
begin
  Dodato := 0;
  while Dodato < 5 do
  begin
    while Trenutno < ListBox1.Items.Count do 
    begin
      Memo1.Lines.Add(ListBox1.Items[Trenutno]);
      Inc (Trenutno);
      Inc (Dodato);
      if Dodato = 5 then 
      Break;
    end;
  if Dodato < 5 then
    Trenutno := 0;
  end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
 Memo1.Clear;
end;




Pozdrav
[ AlexK @ 10.02.2010. 16:34 ] @
Car si druze. Extra radi.
Hvala ti puno