• 7 odgovora
  • 3.268 pregleda
Broj redova u TListBox? 16.06.2006. u 15:19 · pre 247 meseci #1
Kako bi mogao prikazati broj redova u TListBox, ali ne ukupan, nego svaki red da ima svoj broj? Npr.:
1. nesto
2. nesto
...
n. nesto
Re: Broj redova u TListBox? 16.06.2006. u 22:09 · pre 247 meseci #2
Pa mozes da kad dodajes item-e da dodas i redni broj,npr
Code:

ListBox1.Items.Add(IntToStr(ListBox1.Items.Count) + '  nesto');


Pozzz
Potpis
SERVIA NOSTRUM REGNUM!
Re: Broj redova u TListBox? 16.06.2006. u 22:50 · pre 247 meseci #3
OK je ovo, ali, kad ubacim nesto, npr.:
Code:
If OpenDialog1.Execute Then ListBox1.Items.Add(IntToStr(ListBox1.Items.Count)+'. '+OpenDialog1.FileName);

tad u TListBox1 to izgleda ovako:
0. D:\...
1. D:\...
10. D:\...
...
19. D:\...
2. D:\...

... itd.

Hteo bih da to izgleda ovako:

01. D:\...
02. D:\...
...
10. D:\...
11. D:\...
...
20. D:\...
...
i tako redom...
Re: Broj redova u TListBox? 16.06.2006. u 23:00 · pre 247 meseci #4
Code:

If OpenDialog1.Execute Then ListBox1.Items.Add(IntToStr(ListBox1.Items.Count+1) + '. ' + OpenDialog1.FileName);
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Re: Broj redova u TListBox? 16.06.2006. u 23:06 · pre 247 meseci #5
OK, to funkcionise tako, ali?!!!
Uzecu primer, na taj nacin ubacim pesmu i u TListBox-u bude ovako:
01. D:\Muzika\nesto.mp3!!!
Tad mi se prijavi greska da TMediaPlayer, verovatno i bilo koja druga komponenta, ne moze citati ('01. D:\Muzika\nesto.mp3')?!
A kad je bez 01, D:\Muzika\nesto.mp3 tad normalno cita i pokrece pesmu...? :(
Da li se moze napraviti da cita D:\Muzika\nesto.mp3, a da ispred bude redni broj koji nece smetati?
Re: Broj redova u TListBox? 16.06.2006. u 23:23 · pre 247 meseci #6
Da bi ti bilo 01 a ne samo 1 mozes da napises f-ju
koja ce da proveri dali je broj manji od 10,
ako je broj item-a u ListBox-u manji od 10 onda da stavi '0' +IntToStr(Broj item-a)
a ako nije onda samo IntToStr(Broj item-a).Kontas?
A sto se tice ovog drugog mozes da napise f-ju koja ce da ocece taj redni broj ispred pesme
npr. ovo 01. D:\Muzika\nesto.mp3 da ti ocece ono 01. pa da ostane samo putanja do pesme.Nisam siguran pogledaj u
help-u mozda ima vec neka gotova f-ja sto to radi.
Pozzz
Potpis
SERVIA NOSTRUM REGNUM!
Re: Broj redova u TListBox? 17.06.2006. u 00:34 · pre 247 meseci #7
Mogao bi se primeniti rad sa stringovima...
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Re: Broj redova u TListBox? 17.06.2006. u 12:02 · pre 247 meseci #8
evo funkcije, ako nisi vec sam iskuco:

Code:

function AddLeadingNumber(ImePesme: string;RedniBroj, BrojDecimala:integer):string;
var i:integer;
     a:string;
begin
  a:=IntToStr(RedniBroj);  
  for i:=length(a) to BrojDecimala-1 do
    a:='0'+a;
  a:=a+'.';
  Result:=a+ImePesme;
end;

function RemoveLeadingNumber(ImePesme: string):string;
begin
  Result:=copy(ImePesme, pos('.',ImePesme)+1, length(ImePesme))
end;



Pozdrav

Edit:
Sa prvom funkcijom mozes dodati nula koliko hoces, pa bi bilo dobro da proveris da li je broj veci od 9, 99, 999, pa onda dodajes koliko ti treba nula. Glupo je da imas nule ako imas samo 5 pesama u playlistu.
Prilikom dodavanja pesama proveri koliko je pesama pa ako je potrebno uradi:
Code:

for i:=0 to ListBox1.Items.Count-1 do
  ListBox1.Items[i]:=AddLeadingNumber(RemoveLeadingNumber(ListBox1.Items[i]),i+1,length(IntToStr(ListBox1.Items.Count)))


Valjda sam zatvorio sve zagrade.:)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme