Listviewe dosya adı çekme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Listviewe dosya adı çekme

Mesaj gönderen dogan »

İyi akşamlar.

Open dialog ile çoklu olarak seçtiğim resimlerin adı ve bulunduğu klasör yolunu almaya çalışıyorum, 10 kayıtta seçsem sadece bir tanesinin adını ve klasör yolunu listview 10 tane olarak alıyor. acaba nerede hata yapıyorum :oops:

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
begin
  try
    ListView1.Items.Clear;
    With OpenDialog do
    begin
      if Execute then
      begin
        for I := 0 to Files.Count - 1 do
        begin
          with ListView1.Items.Add do
          begin
            Caption := IntToStr(ListView1.Items.Count);
            SubItems.Add('');
            SubItems.Add(ChangeFileExt(ExtractFileName(FileName), '')); //-------------- DOSYA ADI
            SubItems.Add('');
            SubItems.Add('');
            SubItems.Add('');
            SubItems.Add('');
            SubItems.Add(FileName); //-------------- KLASÖR YOLU
            SubItems.Add('');
            SubItems.Add(FormatDateTime('dd.mm.yyyy', Now));
            SubItems.Add(FormatDateTime('hh:mm:ss', Now));
            Next;
          end;
        end;
      end;
    end;
  except
  end;
end;
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Listviewe dosya adı çekme

Mesaj gönderen thelvaci »

Files içindeki item sayısı kadar dönmüşsünüz ama, Files olarak kullanmamışsınız ;)
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: Listviewe dosya adı çekme

Mesaj gönderen dogan »

Yok olmadı, yapamadım...

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
begin
  try
    ListView1.Items.Clear;
    With OpenDialog do
    begin
      if Execute then
      begin
        for I := 0 to Files.Count - 1 do
        begin
          with ListView1.Items.Add do
          begin
            Caption := IntToStr(ListView1.Items.Count);
            SubItems.Add('');
            SubItems.Add(ChangeFileExt(ExtractFileName(FileName[i]), '')); //-------------- DOSYA ADI
            SubItems.Add('');
            SubItems.Add('');
            SubItems.Add('');
            SubItems.Add('');
            SubItems.Add(FileName[i]); //-------------- KLASÖR YOLU
            SubItems.Add('');
            SubItems.Add(FormatDateTime('dd.mm.yyyy', Now));
            SubItems.Add(FormatDateTime('hh:mm:ss', Now));
            Next;
          end;
        end;
      end;
    end;
  except
  end;
end;
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Listviewe dosya adı çekme

Mesaj gönderen thelvaci »

Lütfen biraz daha dikkatli olalım kodlama yapar iken. FileName'e bakar mısınız kod editöründe iken veri tipi nedir ? Bir de Files'a bakarmısınız veritipi nedir ?
Kullanıcı avatarı
ovural
Üye
Mesajlar: 167
Kayıt: 22 Eki 2003 10:20
İletişim:

Re: Listviewe dosya adı çekme

Mesaj gönderen ovural »

Filename yerine Files.Strings kullanacaksın
procedure TForm1.Button2Click(Sender: TObject);
begin
try
ListView1.Items.Clear;
With OpenDialog do
begin
if Execute then
begin
for I := 0 to Files.Count - 1 do
begin
with ListView1.Items.Add do
begin
Caption := IntToStr(ListView1.Items.Count);
SubItems.Add('');
SubItems.Add(ChangeFileExt(ExtractFileName(Files.Strings), '')); //-------------- DOSYA ADI
SubItems.Add('');
SubItems.Add('');
SubItems.Add('');
SubItems.Add('');
SubItems.Add(Files.Strings); //-------------- KLASÖR YOLU
SubItems.Add('');
SubItems.Add(FormatDateTime('dd.mm.yyyy', Now));
SubItems.Add(FormatDateTime('hh:mm:ss', Now));
Next;
end;
end;
end;
end;
except
end;
end;
Kim ilim öğrenir sonra da onu gizlerse âhirette onun ağzına ateşten bir gem vurulur. (Hadis-i Şerif)
Cevapla