cxgrid renklemdirmeyi txt 'den okuma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Ahmet ALTUNTAŞ
Üye
Mesajlar: 94
Kayıt: 10 Tem 2010 08:05
Konum: TEKİRDAĞ

cxgrid renklemdirmeyi txt 'den okuma

Mesaj gönderen Ahmet ALTUNTAŞ »

merhaba arkadaşalar
cxgrid renklendirme ile ilgili bir sorum olacak.
bir tablo var ve bu tabloda isim ve mevcut sayı var.
altsınıra geldiginde renginin sarı olması için sınır belirlenen isimleri başka bir tabloya yazdım.
sonra bu tablodakileri bir txt 'ye export eettim amacım buradan okutturmak.
txt 'nin içerigi bu

Kod: Tümünü seç

if (ARecord.Values[3] <=2) and (ARecord.Values[1] = 'ALCAİNE DAMLA') then AStyle:=Renk1;
if (ARecord.Values[4] <=6) and (ARecord.Values[1] = 'CALPOL 6 PLUS ŞURUP') then AStyle:=Renk1;
şimdi bu içerigi cxgride nasıl okutturabilirim.txt içerisinde 100'den fazla bu şekilde kauot olacak.
cxgrid'in OnContentStyle özelliğine txt'deki, degerleri sıra sıra nasıl yazabilirim.
cxgrid 'in OnContentStyle özelliğine kod alanında if (ARecord.Values[4] <=6) and (ARecord.Values[1] = 'CALPOL 6 PLUS ŞURUP') then AStyle:=Renk1; kendim bu kodu yazarsam sıkıntı yok ama kullanıcı altsınır degerlerini kendisi belirleyeceği için aklıma bu şekile yapmak geldi.
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S

Başarı Bir Yolculuktur, Varış Noktası Değil...!
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: cxgrid renklemdirmeyi txt 'den okuma

Mesaj gönderen unicorn64 »

madem altsınır listeni bir tabloda tutmuşsun, neden text dosyaya bunu yazıp ordan okumaya çalışıyorsun ki?
OnContentStyle olayında tablodan değerleri çeksen, döngü içinde if kontrollerini yapsan yeterli olur sanırım...

Kod: Tümünü seç

var
    miktar:integer;
    adi:string;
begin
   query.sql.text='SELECT ADI,ALTSINIR FROM ALTMIKTARTABLOM'';
   query.open;
  
   while not query.eof do
   begin
      adi:=query.FieldByName('ADI').asstring;
      miktar:=query.FieldByName('ALTSINIR').asstring;

      if (ARecord.Values[3] <=miktar) and (ARecord.Values[1] = adi) then 
            AStyle:=Renk1;
   end; 

end;
gibi bir yapı kursan olmaz mı?
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Kullanıcı avatarı
Ahmet ALTUNTAŞ
Üye
Mesajlar: 94
Kayıt: 10 Tem 2010 08:05
Konum: TEKİRDAĞ

Re: cxgrid renklemdirmeyi txt 'den okuma

Mesaj gönderen Ahmet ALTUNTAŞ »

merhaba
bu şekilde denedim aslında ama olmamıştı.
sizin yazdığınız kodlarla tekrar denedim fakat yine olmadı.renklendirme işlemi gerçekleşmiyor.

Kod: Tümünü seç

procedure TForm1.cxGrid1DBTableView1StylesGetContentStyle(
  Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
  AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
 var
altsinir:integer;
begin

while not Sorgula.eof do
 begin
altsinir:=Sorgula.FieldByName('Sinir').AsInteger;

if (ARecord.Values[1] <=altsinir) then
AStyle:=Renk1;
Sorgula.next;
end;
end;
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S

Başarı Bir Yolculuktur, Varış Noktası Değil...!
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: cxgrid renklemdirmeyi txt 'den okuma

Mesaj gönderen unicorn64 »

cxGridin özelliklerini tam hatırlamıyorum ama prosedür tanımına bakınca sanırım şöyle bir durum var, GetContentStyle olayı her bir hücre için (yada kolon/satır da olabilir emin değilim) tek tek çalıştırılıyor. ve döngüden dolayı her seferinde en son kaydın durumuna göre bir renklendirme oluşmuş oluyor.. sanırım ARecord yada AItem parametreleri üzerinden değere uaşıp ona göre bir işlem yapmanız gerek... prosedürün başına bir breakpoint koyup bu parametrelerin içeriklerini (varsa içerdikleri nesnelerin içeriklerini) bir kontrol edin derim ben....
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Kullanıcı avatarı
Ahmet ALTUNTAŞ
Üye
Mesajlar: 94
Kayıt: 10 Tem 2010 08:05
Konum: TEKİRDAĞ

Re: cxgrid renklemdirmeyi txt 'den okuma

Mesaj gönderen Ahmet ALTUNTAŞ »

procedure başına break point koyunca orada duraksamıyor.Peki dbgrid ile bu işinasıl yaparız acaba ondada aynı sorun olurmu?
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S

Başarı Bir Yolculuktur, Varış Noktası Değil...!
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: cxgrid renklemdirmeyi txt 'den okuma

Mesaj gönderen unicorn64 »

breakpoint koyunca durmuyorsa zaten ordaki kodlar çalışmıyor demektir......?
datagride bu prosedür atanmış durumda dimi? gridi silip forma yeniden falan eklediysen belki prosedürü belirtmemişsindir?
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Kullanıcı avatarı
Ahmet ALTUNTAŞ
Üye
Mesajlar: 94
Kayıt: 10 Tem 2010 08:05
Konum: TEKİRDAĞ

Re: cxgrid renklemdirmeyi txt 'den okuma

Mesaj gönderen Ahmet ALTUNTAŞ »

eklenmiş durumda hocam silme işlemi yapmadım.Procedur başında durmuyor fakat döngü başında duruyor.
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S

Başarı Bir Yolculuktur, Varış Noktası Değil...!
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: cxgrid renklemdirmeyi txt 'den okuma

Mesaj gönderen unicorn64 »

ya kardeş ben de illaki prosedür başında dursun demedim ki :) prosedür içinde bi yerde durdur, ARecord yada AItem parametrelerine bi bak bakalım işe yarar bişey var mı demek istemiştim :)
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Kullanıcı avatarı
Ahmet ALTUNTAŞ
Üye
Mesajlar: 94
Kayıt: 10 Tem 2010 08:05
Konum: TEKİRDAĞ

Re: cxgrid renklemdirmeyi txt 'den okuma

Mesaj gönderen Ahmet ALTUNTAŞ »

http://img833.imageshack.us/i/cxgrid.jpg/
hocam resmi inceleyebilirmisiniz.degerleri resim olarak ekledim.
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S

Başarı Bir Yolculuktur, Varış Noktası Değil...!
Cevapla