|
| God ide til "Directory Tree" søges Fra : Thomsen |
Dato : 25-10-01 22:44 |
|
Hej ng,
Jeg sidder her og bikser med et lille problem, som jeg ikke rigtigt kan
finde nogen smart løsning på.
Jeg har en StringList med en masse biblioteksstier:
(af frygt for sagsanlæg vil jeg påpege, at følgende eksempel på disse
strenge er fiktive : )
....
c:\mp3\albums\Mark Knopfler
c:\mp3\albums\TV-2\Bag duggede ruder
c:\mp3\albums\TV-2\Manden der ønskede sig en havudsigt
c:\mp3\oldies\Elvis Priestly
e:\mp3\Medleys
....osv
Jeg vil nu gerne stoppe alle drev og biblioteker ind i et tree:
c:\
mp3
albums
Mark Knopfler
TV-2
Bag dukkede ruder
Manden der...
oldies
Elvis Priestly
e:\
mp3
Medleys
....osv
Jeg skal gerne have lavet en hamrende hurtig metode til dette, jeg kan bare
ikke lige komme på hvordan.
Nogen foreslag?
Mvh,.
Anders Thomsen
| |
Stig Johansen (26-10-2001)
| Kommentar Fra : Stig Johansen |
Dato : 26-10-01 07:53 |
|
Hej.
"Thomsen" <andersthomsen@mobilixnet.dk> wrote in message
news:eH%B7.1400$qJ.318944432@news.orangenet.dk...
> Hej ng,
>
> Jeg sidder her og bikser med et lille problem, som jeg ikke rigtigt kan
> finde nogen smart løsning på.
>
> Jeg har en StringList med en masse biblioteksstier:
> (af frygt for sagsanlæg vil jeg påpege, at følgende eksempel på disse
> strenge er fiktive : )
> ...
> c:\mp3\albums\Mark Knopfler
> c:\mp3\albums\TV-2\Bag duggede ruder
> c:\mp3\albums\TV-2\Manden der ønskede sig en havudsigt
> c:\mp3\oldies\Elvis Priestly
> e:\mp3\Medleys
> ...osv
>
> Jeg vil nu gerne stoppe alle drev og biblioteker ind i et tree:
> c:\
> mp3
> albums
> Mark Knopfler
> TV-2
> Bag dukkede ruder
> Manden der...
> oldies
> Elvis Priestly
> e:\
> mp3
> Medleys
> ...osv
>
> Jeg skal gerne have lavet en hamrende hurtig metode til dette, jeg kan
bare
> ikke lige komme på hvordan.
>
> Nogen foreslag?
Treeview.
Er det et problem?
mvh
Stig Johansen.
| |
Thomsen (26-10-2001)
| Kommentar Fra : Thomsen |
Dato : 26-10-01 12:00 |
|
Det er jeg godt klar over : )
Men jeg skal på en eller anden måde have tilføjet nodes'ene så de ligner et
"rigtigt" directory tree...
-Thomsen
"Stig Johansen" <e08@oes.dk> wrote in message
news:9rb1de$b77$1@sunsite.dk...
> Hej.
>
> "Thomsen" <andersthomsen@mobilixnet.dk> wrote in message
> news:eH%B7.1400$qJ.318944432@news.orangenet.dk...
> > Hej ng,
> >
> > Jeg sidder her og bikser med et lille problem, som jeg ikke rigtigt kan
> > finde nogen smart løsning på.
> >
> > Jeg har en StringList med en masse biblioteksstier:
> > (af frygt for sagsanlæg vil jeg påpege, at følgende eksempel på disse
> > strenge er fiktive : )
> > ...
> > c:\mp3\albums\Mark Knopfler
> > c:\mp3\albums\TV-2\Bag duggede ruder
> > c:\mp3\albums\TV-2\Manden der ønskede sig en havudsigt
> > c:\mp3\oldies\Elvis Priestly
> > e:\mp3\Medleys
> > ...osv
> >
> > Jeg vil nu gerne stoppe alle drev og biblioteker ind i et tree:
> > c:\
> > mp3
> > albums
> > Mark Knopfler
> > TV-2
> > Bag dukkede ruder
> > Manden der...
> > oldies
> > Elvis Priestly
> > e:\
> > mp3
> > Medleys
> > ...osv
> >
> > Jeg skal gerne have lavet en hamrende hurtig metode til dette, jeg kan
> bare
> > ikke lige komme på hvordan.
> >
> > Nogen foreslag?
>
> Treeview.
> Er det et problem?
>
> mvh
> Stig Johansen.
>
>
>
>
| |
Stig Johansen (26-10-2001)
| Kommentar Fra : Stig Johansen |
Dato : 26-10-01 15:37 |
|
"Thomsen" <andersthomsen@mobilixnet.dk> wrote in message
news:%kbC7.1416$5O1.330648748@news.orangenet.dk...
> Det er jeg godt klar over : )
>
> Men jeg skal på en eller anden måde have tilføjet nodes'ene så de ligner
et
> "rigtigt" directory tree...
>
Det var ligeså meget for at spørge til, om det var hastigheden, der var
problemet.
Overordnet skal du huske at starte med en ..beginupdate, og slutte med en
...endupdate.
Dernæst er det en absolut fordel, at have listen sorteret i den rigtige
rækkefølge. Det har stor betydning for hastigheden.
Så skal du have etableret et loop, der løber gennem din strengliste, og for
hver af dem, skal finde aktuel 'level'.
Altså noget med at 'flække' strengen med pos('\',..)
så:
Level[1] = 'c:'
Level[2] = 'mp3'
Level[3] = 'albums'
Level[4] = 'Mark Knopfler'
Undervejs skal du huske prev level.
Så kode:
IF Level[1] <> PrevLevel[1] THEN
Insert new node
ELSE
IF Level[2] <> PrevLevel[2] THEN
Insert new childnode under current root
ELSE
... osv
Hvis du har en markering af, om det er et dir eller en fil, sætter du så
imageindex, så du får de 'rigtige' ikoner.
Det er skrevet lidt hurtigt, og lidt ud af hovedet, men jeg håber du forstår
hvad jeg mener.
mvh
Stig Johansen.
| |
|
|