Toon posts:

[delphi] probleem met doorgeven van bestandsnaam *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.filename(Sender: TObject);
var
 I: Integer;
begin

 with Frame21.ShellListView1 do

   for I := 0 to (Items.Count - 1) do

     if Items[I].Selected then  Frame31.Memo1.Lines.Add(Items[I].Caption);

end;


Ik ben een beginner in delphi en ik heb een probleempje met dit scriptje
ik zou namelijk willen dat alle namen van de geselecteerde bestanden bijgevoegd worden in memo1. Nu, Items[I].Caption is telkens leeg waardoor er telkens een lege regel word toegevoegd in memo1. Wanneer ik de I (i) verander door bv 0 of 1 blijft de string leeg, weet er iemand wat ik fout doe ? Ahja, deze procedure is gekoppeld aan het OnClick Event...
Alvast bedankt

update: Ik heb een FAQ hier op het forum gelezen dat het niet de bedoeling is om je probs hier te droppen, dat probeer ik hier ook niet te doen he, ik heb namelijk de bovenstaande code zelf gaan opzoeken en heb er reeds langere tijd mee geprutst zonder resultaat, ik blijf echter verder zoeken en mss/ hopelijk kunne jullie me helpen

[ Voor 20% gewijzigd door Verwijderd op 16-05-2005 22:03 ]


Verwijderd

Volgens mij werkt het gewoon... (bij mij in ieder geval wel, alleen zonder frames).

Verwijderd

Topicstarter
kk, ben er reeds achter gekomen dat deze code idd wel werkt op een normale listbox, maar ik zou hem willen doen werken op een shelllistbox, da is een filelistbox maar dan in xp-style, je vind hem terug onder Samples bij de objecten... Ik zou graag de bestandsnamen van de geselecteerde items hebben in die memo en dan liefst met die Shelllistbox omdat dat wat moderner oogt dan die oude filelistbox ...
Ik zoek alvast verder...

Verwijderd

Ah, ik ging er van uit het een TListView was...

Voor een ShellListView blijkt het volgende te werken... (het werkt met Folders[i].DisplayName ipv Items[i].caption ).

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.filename(Sender: TObject);
var
 I: Integer;
begin
  for I := 0 to (ShellListView1.Items.Count - 1) do
    if ShellListView1.Items[I].Selected then
      Memo1.Lines.Add(ShellListView1.Folders[i].DisplayName);
end;

Of nog sneller:

  for i:=0 to ShellListView1.SelCount-1 do
  begin
     Memo1.Lines.Add(ShellListView1.Folders[i].DisplayName);
  end;

Verwijderd

Topicstarter
De bovenste oplossing werkt, de onderste enkel als je alle files wilt selecteren (en als je begin ertussenuit haalt) toch erg bedankt, nu kan ik ook weer verder doen :*)

slotje erop...

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

offtopic:
Waarom? Net alsof topics de een oplossing hebben voor de topicstarter (jou in dit geval) op slot moeten. Alleen slechte/foute topics gaan op slot... Nu kan er eventueel nog doorgegaan worden over andere mogelijkheden etc....

Het zou hier leuk worden als users konden bepalen waar wel en waar niet een slot op moest :P

[ Voor 13% gewijzigd door Creepy op 17-05-2005 09:05 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 04-05 13:09
Creepy schreef op dinsdag 17 mei 2005 @ 09:04:
[...]

offtopic:
Waarom? Net alsof topics de een oplossing hebben voor de topicstarter (jou in dit geval) op slot moeten. Alleen slechte/foute topics gaan op slot... Nu kan er eventueel nog doorgegaan worden over andere mogelijkheden etc....

Het zou hier leuk worden als users konden bepalen waar wel en waar niet een slot op moest :P
offtopic:
Zou best democratisch zijn 8)

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


Verwijderd

Topicstarter
ah nee, voor mij is het allemaal gelijk hoor...
Maar ik heb de indruk dat op topics als deze meestal wel vrij snel een slotje komt ;)
m'n excuses dan maar he :P
Pagina: 1