cxGridde Yapılan değişiklikleri Registrye yazdırma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

cxGridde Yapılan değişiklikleri Registrye yazdırma

Mesaj gönderen naile »

Kullandığım cdGridde kullanıcının yaptığı birtakım değişiklikleri (mesela belli bir alana göre sıralatma veya kolanların yerini değiştirme v.b.) cxPropertiesStore ile yaptırıyorum. Ancak Filitreleme yapıldığında bunu registrye kaydetmiyor. Bunla daha önce uğraşan, bilen var mı?
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2381
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

Kod: Tümünü seç

Viw.StoreToIniFile(File_Name, False, [gsoUseFilter, gsoUseSummary]);

Viw.RestoreFromIniFile(File_Name, False,False, [gsoUseFilter, gsoUseSummary]);
Summary yi kullanmak pek mantıklı gelmiyor bana

Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Teşekkürler, çalıştı.
freeman35 yazdı: Summary yi kullanmak pek mantıklı gelmiyor bana
Neden mantıklı gelmiyor, istediğim işlemi başka türlü yapabilirmiyiz (ini file yerine regitry)
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Kod: Tümünü seç

  cxGDSLdb.RestoreFromRegistry('Software\Acik Faturalar',True,False,[gsoUseFilter, gsoUseSummary],'');

  cxGDSLdb.StoreToRegistry('Software\Acik Faturalar',True,[gsoUseFilter, gsoUseSummary],'');
Yapınca da registry e kaydediyor :D
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2381
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

Row adediyle yaptırılacak tüm işlemler performans kabına sebep oluyor. Kendi kullandığım yöntemi söyliyeyim. Kuyumculuk için program yazıyorum halende devam etmekte, sadece bir şubede 5000 e yakın stok adedi var, bunların altın ağırlıkları gruplanırsa ayrıca vs gibi zaten zorunlu olanlar var, dolayısıyla bu işlemi yani sum vs gibi işlemleri form açılışında yapınca, çünkü bu grid özelliklerini yükleme form show da olabilir mantıken, formun açılışını acaip yavaşlatıyor. Bana mantıklı gelmeme sebebi kullanıcı yaptığı ayarları unutuyor, ilk başlarda çok karşılaştım, kullaıcı filtre koymuş, diyelim pırlanta kaydı yapıyor ama Altınları filtrelemiş, Kaydı yapıyor kayıt dedikten sonra tabiki filtre çalışıyor ve pırlanta kaydı görünmüyor, yada kasa işlemlerinde travelcheck leri filtrelemiş nakit giriyor görünmüyor, görünmüyor diye arka arkaya 3-5 kayıt yapıyor sonra kasaya bakıyor kasa fırlamış tabi :) açıyor telefon kardeşim bu fişe kaydetmiyor ama kasamda görünüyor, hadi koşup gidiyorsun, ilkinde beninde jeton düşmedi bi 10 dakka uğraştım :P sonra bi baktım filtre varmış :lol: :lol:
birde sum vs tarafında bir bug var yada ben üzerine düşmediğim için göremedim, kullanıcının verdiği summary alanlara format verilmiyor, hatta verdiğiniz bir alada değişiklik yapınca mesela sum ı count a çevirip sonra tekrar sum a çevirin format uçuyor, ben bu yüzden Summary yi önermiyorum.
Hatta ilk 1 ay kadar Filtreleride kaydettiriyordum yukarıdaki hatalar yüzünden kullanıcılar filtreleri kaydetme işini iptal etmemi kendileri istediler.

Bir önerim daha olucak size, registry ye kaydetmeyin, nedeni şu, salak M$ registry dosyasını flash lamıyor dolayısıyla habire şişiyor. Bu yüzdende m$ 98 xp gibi standart olan programların 6 ay gibi bir sürede sıfırlamak gerekiyor yoksa sapıtıyor. Ben kendi makinama kolay kolay bir program yüklemem en uzun 1 yıl oldu sistem kurmadan çalışmam.
ayrıca kullanıcılar mutlaka bu gridin görsel ayarlarını öyle bi yapacaklar ki bu ayarları resetlemeniz gerekecek, yada aslında bug denemez buna ama, prog çalıştı registry ye yazdınız ayarları, daha sonra o gird alanlarından bir kaçının Field isimlerini değiştirin yeni eklenen alanlara çevirin, olabilirya prog gelişiyor sonra kullanıcıya yükleyin o alan var ama boş geliyor :P Bu gridin in ayarlarını resetlemeniz gerekecek, eğer uzaktaysanız bunu kullanıcıya yaptırmanız gerekir, registry yide hiç bilmeyen birine tel ile silme işlemi yaptırmak hiç prtaik değil. Amam bunu file olarak kaydettirirseniz, ve diskte sabit bir yere toplarsanız, mesela exe nin olduğu DIR içine "Views" gibi, kullanıcıya kısa yol üzerinde sağ kilk ordan hedef bul ordan sunun üzerinde sil olay bitti :)

Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

naile yazdı:

Kod: Tümünü seç

  cxGDSLdb.RestoreFromRegistry('Software\Acik Faturalar',True,False,[gsoUseFilter, gsoUseSummary],'');

  cxGDSLdb.StoreToRegistry('Software\Acik Faturalar',True,[gsoUseFilter, gsoUseSummary],'');
Yapınca da registry e kaydediyor :D
Bu şekilde yapınca Alanların Caption'ları kaydedilmiyor peki buyöntemle alanların Captions larını nasıl kaydedebiliriz.

Saygılarımla
Teşekkürler.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Ben şuanda projelerin çoğunda ini dosyaya kaydediyorum. Onda kontrol ettim captionlar yazılı, sonra hala registrye kaydeden bir programın kaydına baktım onda da kaydetmiş captionu. Yani bu koda göre sorun olmaması lazım.
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

naile yazdı:Ben şuanda projelerin çoğunda ini dosyaya kaydediyorum. Onda kontrol ettim captionlar yazılı, sonra hala registrye kaydeden bir programın kaydına baktım onda da kaydetmiş captionu. Yani bu koda göre sorun olmaması lazım.
Bende bahsettiğiniz şekilde gelmiyor naile hanım.

Kod: Tümünü seç

[GridView: TcxGridDBTableView]
=
Footer="False"
GroupByBox="True"
GroupFooters=0
NewItemRow="False"
FilterActive="False"
Filter="Hex:FFFFFFFF0000000000"

[GridView/0: TcxGridDBColumn]
=
GroupIndex=-1
Width=34
AlignmentHorz=0
Index=0
Visible="True"
SortOrder="soNone"
SortIndex=-1

[GridView/1: TcxGridDBColumn]
=
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=1
Visible="True"
SortOrder="soNone"
SortIndex=-1
Bu şekilde ini dosyasındaki bilgiler...

Saygılarımla
Teşekkürler.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Bendeki dosya içeriği:
[FAcikFuturaRaporu/0: TcxGridDBColumn]
=
Index=0
Visible=True
Caption=Sehir
SortOrder=soNone
SortIndex=-1
GroupIndex=-1
Width=71
FieldName=Sehir

[FAcikFuturaRaporu/1: TcxGridDBColumn]
=
Index=1
Visible=True
Caption=Firma Kodu
SortOrder=soNone
SortIndex=-1
GroupIndex=-1
Width=79
FieldName=FirmaKodu
Sebep ne olabilir acaba? Bende ki cxgridin versiyonu 4.2.1 görünüyor.
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Naile hanım bendeki 5.2 versiyonu.

Hiçbir ayar yapmadan yeni bir projede direk denedim ama sonuç yine ayunı belki şu şu özellikler tutulsun diyebildiğimiz biryer vardır ama ben bulamadım !


Saygılarımla
Teşekkürler.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Kayıt ve okuma kodlarını vereyim.

Kod: Tümünü seç

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  var
  aINIFileName2 : string; //grid kayıt
begin
  // grid kayıt+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  aINIFileName2 := ExtractFilePath(Application.ExeName)+
  '_STKList.INI';
  STKListDBTableView.StoreToIniFile
  (aINIFileName2, TRUE, [gsoUseFilter, gsoUseSummary], 'GridView');

end;

Kod: Tümünü seç

procedure TForm1.FormCreate(Sender: TObject);
var
  aINIFileName2: string; //grid ayar.
begin;
///gridayar +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
aINIFileName2 := ExtractFilePath(Application.ExeName)+
'_STKList.INI';
if FileExists(aINIFileName2) then STKListDBTableView.RestoreFromIniFile
(aINIFileName2, TRUE, TRUE, [gsoUseFilter, gsoUseSummary], 'GridView');
end;

Bu şekilde yapıyorum ama caption bilgileri kayıt edilmiyor.

Saygılar.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba;

Manuel olarak ini dosyalarına Caption="xxxxx" yazdığımda yüklerken sorunsuz yüklüyor fakat kayıtta sorun var sanırım çünki kayıt ederken Caption satırını siliyor yani bir sonraki okumada tekrar başa dönüyor...

Çok enteresan bir durum sürümlemi ilgili acaba. Hangi bilgilerin ini dosyasına kayıt edileceği bilgisini nerede tutuyor olabilr acaba.

Saygılarımla
Teşekkürler.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Versiyon farkından kaynaklanıyor diye biliyorum. Zira ben de Naile Hanım gibi captionları da direk kaydediyorken sonradan versiyonu değiştirince captionları kaydetmediğini farkedip ayrıyeten kaydetmeye başladıydım.

Helpine bakınca Caption da kaydediliyor anlaşılan. Belki de bir bug. Ama sonuçta 5 ve 6 versiyonlarında kaydetmiyor.

DevExpress'in firmasına sormakta da fayda var.
Cevapla