Avatar billede Max Novice
13. april 2003 - 04:03 Der er 7 kommentarer og
1 løsning

Filnavne i en ShellListView.. eller mangel på samme!

Hej.
Dette spørgsmål består egentlig af to spørgsmål.

Nummer 1 :
Hvad er der galt i dette her? :
----------------------------------------------------------
procedure TFormNamer.changeQuickSelect;
var
  I      : Integer;
  Current : TListItem;
begin
  ComboBoxQuickSelect.Clear;
  ComboBoxQuickSelect.Items.Add('QuickSelect');
  for I:=0 to ShellListViewFiles.Items.Count-1 do begin
    Current:=ShellListViewFiles.Items[I];
    ComboBoxQuickSelect.Items.Add(Current.Caption);
  end;
  ComboBoxQuickSelect.ItemIndex:=0;
end;
----------------------------------------------------------
Meningen er at min lille procedure hér skal hælde alle filnavne fra ShellListViewFiles over i ComboBoxQuickSelect listen. Indholdet af ItemIndex[0] bliver godt nok også sat til 'QuickSelect', men resten er bare blankt... Hvad har jeg lige gjort galt?

Nummer 2 :
Jeg har også lidt problemer med at få ShellListViews til at forstå at en Shortcut (sådan én man laver i Windows, når man er for doven til at bruge DOS-boksen eller Exploreren) som fil hedder 'genvej.lnk' og IKKE 'genvej'. Er der en snedig måde at få en ShellListView til at vise "rigtige" filnavne på?

Håber I kan hjælpe
/Mnc
Avatar billede dkn Nybegynder
13. april 2003 - 05:56 #1
1)

procedure TFormNamer.changeQuickSelect;
var
  I      : Integer;
begin
  ComboBoxQuickSelect.Clear;
  ComboBoxQuickSelect.Items.Add('QuickSelect');

  for I := 0 to ShellListViewFiles.Items.Count-1 do
    ComboBoxQuickSelect.Items.Add(ShellListViewFiles.Items[I].Caption);

  ComboBoxQuickSelect.ItemIndex:=0;
end;

skulle virke
Avatar billede Max Novice
13. april 2003 - 17:20 #2
Jeps, det prøvede jeg også, men den gør nemlig det samme; sætter index[0] til 'QuickSelect' og fylder resten ud med blanke..

/Mnc
Avatar billede dkn Nybegynder
13. april 2003 - 18:12 #3
procedure TForm1.Button1Click(Sender: TObject);
var
  I      : Integer;
begin
  ComboBoxQuickSelect.Clear;

  ComboBoxQuickSelect.Items.Add('QuickSelect');

  for I := 0 to ShellListViewFiles.Items.Count-1 do
    ComboBoxQuickSelect.Items.Add(ShellListViewFiles.Folders[I].DisplayName);

  ComboBoxQuickSelect.ItemIndex := 0;
end;
Avatar billede Max Novice
13. april 2003 - 20:03 #4
Aha! DisplayName.. :) Jeps, kanon! Kan du svare på spm. 2 også??

/Mnc
Avatar billede dkn Nybegynder
13. april 2003 - 20:46 #5
hvorfor er det du vil vise den extension?
Avatar billede Max Novice
13. april 2003 - 20:53 #6
Tjah, der er ingen teknisk forklaring.. blot at have det absolutte filnavn. Jeg er f.eks. heller ikke nogen stor tilhænger af at windows skjuler - det dén mener er - betydningsfulde filer..

/Mnc
Avatar billede dkn Nybegynder
13. april 2003 - 20:56 #7
nej ok forstår.

Men tror ikke det er muligt at gøre så man kan få ink med.
Altså der er jo ingen source med til det component, og det er kun readonly når man skal have filen/mappens navn


Ved ikke om du måske skulle søge efter et andet component med source?
Avatar billede Max Novice
13. april 2003 - 21:03 #8
ok, tak for hjælpen. points kommer hér.. :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester