Kullanıcı

Hoşgeldiniz Ziyaretçi. Lütfen giriş yapın veya kayıt olun.
E-posta adresinize aktivasyon iletisi gelmediyse lütfen buraya tıklayın.
30 Temmuz 2010 09:47:35

Kullanıcı adınızı, şifrenizi ve aktif kalma süresini giriniz

Sohbet Penceresi

Son 5 Notlar:

09 Temmuz 2010 15:09:00
merhaba arkadaÅŸlar ilk defa bi soru soracam
son olarak üzerinde çalıştığım bi proğramda sorun var
datadan belirli bi kritere göre arama yapıyor bunlardan çift olanları teke düşürüp gride nasıl yazdıra bilirim
örnek vererek anlatırsam daha sağlam olur sanırsam

datadan k
10 Temmuz 2010 03:07:46
GÜZEL SİTE SEVDİM ;D
14 Temmuz 2010 14:45:20
aloo nasılsınız...
15 Temmuz 2010 18:16:38
 maske msnden bi konuÅŸalım kanky.
17 Temmuz 2010 15:16:16
ınterbase procedure soruma cevap verecek sevgili bir kul yokmu arkadaşlar ?

Show 50 latest

Gönderen Konu: listbox DbClick  (Okunma sayısı 817 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı bymerag

  • Kıdemli Üye
  • *****
  • İleti: 296
  • Rep: +1/-1
  • Cinsiyet: Bay
listbox DbClick
« : 06 Mayıs 2009 21:47:33 »
Kod: (delphi) [Seç]
procedure TfrMain.ListBox1DblClick(Sender: TObject);
var SelectedFile : string;
    Rec          : TSearchRec;

begin
SelectedFile := ListBox1.Items.Strings[ListBox1.ItemIndex];
if FindFirst(SelectedFile, faAnyFile, Rec) = 0 then
 begin
 
  try
    lblFile.Caption:=SelectedFile;
    lblName.Caption:=rec.Name;
    lblSize.Caption:=Format('%d bytes',[rec.Size]);
    lblModified.Caption:=DateToStr(FileDateToDateTime(rec.Time));
    lblShortName.Caption:=rec.FindData.cAlternateFileName;
   
  finally
   
  end;
  FindClose(Rec)
 end;
end;


yukaridaki Kod listbox'un DbClick olayı ile çalışıyor görüldüğü gibi
Benimi stediğim bu kodu bir butona göre uyarlamak butonun oncilck olayına kodu kopyaladığımda hata veriyor.Bunun sebebide listbox ta herhangi bir satirin seçilmemiş olması
sebebi belli ama çözümü bulamadım.
Sözün özü  bu kodu buton'un  click olayında çalışması için deÄŸiÅŸtirmem lazım.

Yardımlarınızı bekliyorum..

Çevrimdışı barutali

  • Global Moderatör
  • *****
  • İleti: 1.316
  • Rep: +38/-0
  • Cinsiyet: Bay
  • Falan filan ...
Ynt: listbox DbClick
« Yanıtla #1 : 27 Haziran 2009 22:03:42 »
Kod: (delphi) [Seç]
SelectedFile := ListBox1.Items.Strings[ListBox1.ItemIndex];

yukarıda dediğin şeyi açıklayayım sana : selectedfile değişkenim listboxda hangi item seçiliyse onun değerini alsın
ama sen hiç bişey seçmediğin için selectedfile neyi alacak ?

*******************************************************
Kod: (delphi) [Seç]
SelectedFile := ListBox1.Items.Strings[0];

bende diyorumki selectedfile listbox da 1. sırada ne varsa onun deÄŸerini alsın... (0 1 2 3... die listeler ..  0 = 1. oluyor)

***************************************************************

aşağıdaki gibi düzenlersen sorun ortadan kalkıcaktır ....

Kod: (delphi) [Seç]

procedure TForm1.Button1Click(Sender: TObject);
var SelectedFile : string;
    Rec          : TSearchRec;

begin
SelectedFile := ListBox1.Items.Strings[0]; /// değişen satır...
if FindFirst(SelectedFile, faAnyFile, Rec) = 0 then
 begin

  try
    lblFile.Caption:=SelectedFile;
    lblName.Caption:=rec.Name;
    lblSize.Caption:=Format('%d bytes',[rec.Size]);
    lblModified.Caption:=DateToStr(FileDateToDateTime(rec.Time));
    lblShortName.Caption:=rec.FindData.cAlternateFileName;

  finally

  end;
  FindClose(Rec)
 end;

end;




En İyi Öğrenme Metodu Yaparak ve Yaşayaraktır.
M.Kemal ATATÜRK

Çevrimdışı Kocaturk

  • Administrator
  • *****
  • İleti: 2.474
  • Rep: +56/-5
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: listbox DbClick
« Yanıtla #2 : 27 Haziran 2009 22:35:58 »
Yada ListBox ta bir Item i seçime zorla,

Kod: (delphi) [Seç]
...
...
var SelectedFile : string;
    Rec          : TSearchRec;

begin

if listbox1.ItemIndex < 0 then listbox1.ItemIndex := 0;

SelectedFile := ListBox1.Items.Strings[ListBox1.ItemIndex];
if FindFirst(SelectedFile, faAnyFile, Rec) = 0 then
 begin
...
...

yada ListBox ın bulunduğu Form un OnShow olay işleyicisinde ListBox ın ItemIndex özelliğini sıfır a eşitleyerek formun her açılışında ListBox ta ilk ögenin seçili olmasını sağlayabilirsin.
Veya ListBox ı kod ile dolduruyorsan doldurma işleminin sonunda ItemIndex i sıfıra eşitleyebilirsin, böylece Button a basınca problem olmaz.

Çevrimdışı barutali

  • Global Moderatör
  • *****
  • İleti: 1.316
  • Rep: +38/-0
  • Cinsiyet: Bay
  • Falan filan ...
Ynt: listbox DbClick
« Yanıtla #3 : 27 Haziran 2009 22:37:34 »
Yada ListBox ta bir Item i seçime zorla,

Kod: (delphi) [Seç]
...
...
var SelectedFile : string;
    Rec          : TSearchRec;

begin

if listbox1.ItemIndex < 0 then listbox1.ItemIndex := 0;

SelectedFile := ListBox1.Items.Strings[ListBox1.ItemIndex];
if FindFirst(SelectedFile, faAnyFile, Rec) = 0 then
 begin
...
...

yada ListBox ın bulunduğu Form un OnShow olay işleyicisinde ListBox ın ItemIndex özelliğini sıfır a eşitleyerek formun her açılışında ListBox ta ilk ögenin seçili olmasını sağlayabilirsin.
Veya ListBox ı kod ile dolduruyorsan doldurma işleminin sonunda ItemIndex i sıfıra eşitleyebilirsin, böylece Button a basınca problem olmaz.


@kocatürk hocam işte bu yüzden program yazmayı seviyorum her programcının hayal gücü farklı :)
En İyi Öğrenme Metodu Yaparak ve Yaşayaraktır.
M.Kemal ATATÜRK

Çevrimdışı Kocaturk

  • Administrator
  • *****
  • İleti: 2.474
  • Rep: +56/-5
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: listbox DbClick
« Yanıtla #4 : 27 Haziran 2009 22:41:44 »
barutali haklısın, daha bir çok alternatif cevap olabilir. Bu arada cevaplar için teşekkürler.