Stringgrid out of index hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

Stringgrid out of index hatası

Mesaj gönderen cfyasar »

Stringgrid ilk açıldığında seçili satır olmasın diye şu kodu kullanıyorum.

Kod: Tümünü seç

   Rect.Left:=-1;
   Rect.Right:=-1;
   Rect.Top:=-1;
   Rect.Bottom:=-1;
   Stringgrid1.Selection:=Rect;
Bu kod bir süre sonra out of indeks hatası veriyor. Neden olabilir. Stringgrid satır sayısını ben atıyorum ve bu sayısı 1000 i hiç geçmiyor.
öğrenmek, zorlukları yenmektir.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Bir süre sonra derken neyi kasdediyorsunuz? Örnekler misiniz?
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

Mesaj gönderen cfyasar »

Stringgridin bulunduğu forma girmeden önce gridin içini dolduruyorum. Ve bu bilgiler giriş amacına göre değişiriyor. Girerken belirli bir değer arayarak giriyorsam o değere konumlanması için bir kod çalıştırıyorum. Eğer bir değer aramadan giriyorsam yukarıdaki kodu çalıştırıp seçili bir değerin olmamasını sağlıyorum. Aynı forma 5-10 kere girip çıktıktan sonra eğer değer aramadan girersem yukarıdaki kod out of index hatası veriyor. Formu açarken gridin içini doldurduğum bilgi genelde 100-150 satırlık bir bilgi. Çıkarken gridi temizlemiyorum. Girişte önce temizleyip sonra bilgileri sıralıyorum.
Kodu şimdilik şu şekilde kullanıyorum. Hata vermiyor ama görüntü hoş değil.

Kod: Tümünü seç

  Rect.Left:=0;
  Rect.Right:=0;
  Rect.Top:=0;
  Rect.Bottom:=0;
  Stringgrid1.Selection:=Rect;
[quote][/quote]
öğrenmek, zorlukları yenmektir.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selam,

Stringgrid kullanmadım ama muhtemelen ClearSelection gibi birşeyler olması lazım. Buna benzer, SelectionClear, Clear gibi birşeyleri vardır.

Eğer oda olmaz ise sadece Bottom'unu -1 yapıp dener misiniz.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

Mesaj gönderen cfyasar »

Helpine de baktım ama clear ile ilgili bişey yok. Sadee bottom ı -1 yaparak denedim yine olmadı. Cxgrid bileşeni bulup birde ona bakayım. Belki daha kullanışlıdır.
öğrenmek, zorlukları yenmektir.
a_o
Üye
Mesajlar: 84
Kayıt: 18 Eki 2005 04:41
Konum: Tekirdağ

Mesaj gönderen a_o »

mrb ben stringgridi şu şekilde temizliyordum genelde;

Kod: Tümünü seç

  for i:=0 to StringGrid1.RowCount do
  begin
    for j:=0 to StringGrid1.ColCount do
      StringGrid1.Cells[i,j]:='';
  end;
  stringgrid1.rowcount:=1;
bu şekilde işini görür umarım
ii çalışmalar
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

merhaba..

Burada bir stringgrid ile ilgili faydalı bir unit var.İçinde kullanışlı fonksiyonlar var,sıralama dahi yapıyor..Faydası olabilir...

viewtopic.php?t=5840&highlight=adssgrid
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

a_o yazdı:mrb ben stringgridi şu şekilde temizliyordum genelde;

Her bir hücreyi silmene gerek yok..Bu daha uzun sürer..Satırları silsen yeterli, ben böyle kullanıyorum..

Kod: Tümünü seç

  for i := 1 to StringGrid1.RowCount do
    StringGrid1.Rows[i].Text := '';
  StringGrid1.RowCount := 2;
iyi günler..
Cevapla