Yorumları: 401
Konuları: 66
Kayıt Tarihi: 18-02-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 818 Acemi
Merhaba kolay gelsin,
Amacim offline olarak fdmemtable kullanmak kod ile yeni column acmak ve verileri kod ile eklemek bunu nasil yaparim
@"Fesih ARSLAN" hocamin kitabinda bind visually ile yapilmis fakat kod ile yapmam gerek kayit islemlerini
Muharrem ARSLAN
Yorumları: 757
Konuları: 39
Kayıt Tarihi: 11-11-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.716 Uzman
10-07-2019, Saat: 12:14
(Son Düzenleme: 10-07-2019, Saat: 12:27, Düzenleyen: hi_selamlar.)
(10-07-2019, Saat: 11:59)arsl01 Adlı Kullanıcıdan Alıntı: Merhaba kolay gelsin,
Amacim offline olarak fdmemtable kullanmak kod ile yeni column acmak ve verileri kod ile eklemek bunu nasil yaparim
@"Fesih ARSLAN" hocamin kitabinda bind visually ile yapilmis fakat kod ile yapmam gerek kayit islemlerini
Merhabalar,
Aşağıdaki link'lerde bir kaç örnek mevcut.
İncelemenizi öneririm.
http://codeexamplecenter.blogspot.com/2018/11/delphi-how-work-with-memory-table.html
http://delphi.org/2015/03/firedac-in-mem...dmemtable/
http://docwiki.embarcadero.com/RADStudio..._Questions
Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Yorumları: 401
Konuları: 66
Kayıt Tarihi: 18-02-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 818 Acemi
Tesekkurler
Muharrem ARSLAN
Yorumları: 230
Konuları: 5
Kayıt Tarihi: 22-10-2018
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.2
- Delphi 10.1
- Delphi 7
- Lazarus / FPC
Rep Puanı: 1.793 Programcı
26-07-2019, Saat: 18:32
(Son Düzenleme: 27-07-2019, Saat: 13:54, Düzenleyen: SimaWB.)
(10-07-2019, Saat: 11:59)arsl01 Adlı Kullanıcıdan Alıntı: Merhaba kolay gelsin,
Amacim offline olarak fdmemtable kullanmak kod ile yeni column acmak ve verileri kod ile eklemek bunu nasil yaparim
@"Fesih ARSLAN" hocamin kitabinda bind visually ile yapilmis fakat kod ile yapmam gerek kayit islemlerini
Boş bir form üzerine bir DBGrid, bir DataSource, bir FDMemTable ve bir de Button koyarsanız şu kodlar çalışır...
procedure TForm1.btnBuildTableClick(Sender: TObject);
var f : TField;
begin
f := TIntegerField.Create(FDMemTable1);
f.FieldName := 'SiraNo';
f.DataSet := FDMemTable1;
f := TStringField.Create(FDMemTable1);
f.FieldName := 'AdıSoyadı';
f.DataSet := FDMemTable1;
f := TStringField.Create(FDMemTable1);
f.FieldName := 'Adres1';
f.Size := 50;
f.DataSet := FDMemTable1;
f := TStringField.Create(FDMemTable1);
f.FieldName := 'Adres2';
f.Size := 50;
f.DataSet := FDMemTable1;
f := TStringField.Create(FDMemTable1);
f.FieldName := 'Sehir';
f.Size := 30;
f.DataSet := FDMemTable1;
f := TStringField.Create(FDMemTable1);
f.FieldName := 'Ulke';
f.Size := 30;
f.DataSet := FDMemTable1;
FDMemTable1.Open;
DataSource1.DataSet := FDMemTable1;
DBGrid1.DataSource := DataSource1;
end;
Yorumları: 1.571
Konuları: 88
Kayıt Tarihi: 09-08-2016
Rep Puanı: 13.829 Üstad
bilgilendirme için teşekkürler @ mustafaozpinar .
Yeni Field eklemek için her seferinde değişken tanımlayıp, create etmektense şu yöntem de kullanılabilir:
with FDMemTable1.FieldDefs.AddFieldDef do
begin
Name := 'SiraNo';
DataType := ftInteger;
end;
with FDMemTable1.FieldDefs.AddFieldDef do
begin
Name := 'AdSoyad';
DataType := ftString;
Size := 50;
end;
There's no place like 127.0.0.1
Yorumları: 230
Konuları: 5
Kayıt Tarihi: 22-10-2018
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.2
- Delphi 10.1
- Delphi 7
- Lazarus / FPC
Rep Puanı: 1.793 Programcı
(27-07-2019, Saat: 14:00)SimaWB Adlı Kullanıcıdan Alıntı: bilgilendirme için teşekkürler @mustafaozpinar .
Yeni Field eklemek için her seferinde değişken tanımlayıp, create etmektense şu yöntem de kullanılabilir:
with FDMemTable1.FieldDefs.AddFieldDef do
begin
Name := 'SiraNo';
DataType := ftInteger;
end;
with FDMemTable1.FieldDefs.AddFieldDef do
begin
Name := 'AdSoyad';
DataType := ftString;
Size := 50;
end;
SimaWB, sanırım bu daha doğru bir kod olur. Ancak iki yöntem de aynı sonucu vermesine karşın işlemler hayli farklılık gösteriyor. Birincide siz field'leri kendiniz yaratıyorsunuz, ikincide ise "şu fieldler var, tabloyu açınca onları yarat" diye bir komut veriyorsunuz. İkisi de seçilebilir, Fakat eğer statik tanımlı field'ler kullanmanız gerekiyorsa, yani özellikle toplu işlemlerde FindField (ya da FieldByName)'in önemli derecede zaman kaybına yol açması durumunda, birinci yöntem tercih edilebilir.
Yorumları: 120
Konuları: 3
Kayıt Tarihi: 10-11-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.701 Programcı
(28-07-2019, Saat: 17:56)mustafaozpinar Adlı Kullanıcıdan Alıntı: (27-07-2019, Saat: 14:00)SimaWB Adlı Kullanıcıdan Alıntı: bilgilendirme için teşekkürler @mustafaozpinar .
Yeni Field eklemek için her seferinde değişken tanımlayıp, create etmektense şu yöntem de kullanılabilir:
with FDMemTable1.FieldDefs.AddFieldDef do
begin
Name := 'SiraNo';
DataType := ftInteger;
end;
with FDMemTable1.FieldDefs.AddFieldDef do
begin
Name := 'AdSoyad';
DataType := ftString;
Size := 50;
end;
SimaWB, sanırım bu daha doğru bir kod olur. Ancak iki yöntem de aynı sonucu vermesine karşın işlemler hayli farklılık gösteriyor. Birincide siz field'leri kendiniz yaratıyorsunuz, ikincide ise "şu fieldler var, tabloyu açınca onları yarat" diye bir komut veriyorsunuz. İkisi de seçilebilir, Fakat eğer statik tanımlı field'ler kullanmanız gerekiyorsa, yani özellikle toplu işlemlerde FindField (ya da FieldByName)'in önemli derecede zaman kaybına yol açması durumunda, birinci yöntem tercih edilebilir.
Merhaba,
Ben @ SimaWB'nin yöntemini kesinlikle tavsiye etmiyorum. With deyimini kullanmak debug işlemlerini düşündüğünüzden daha fazla zorlaştırıyor. Yazarken kolay gibi geliyor (ki bence bir fark yok) ama çalışma sırasında debuggerdan değerlerine bakmak istediğinizde (örneğin kodda yazmıyor ama StringField'in Display Size'ına bakmak istediniz) inanılmaz zahmetli. Üstelik bir değişken tanımlamak dışında size herhangi bir avantajı yok (derleyici seviyesinde var diye okumuştum bir yerde ama detaylarını bilmiyorum. Günümüz bilgisayarlarında ciddi bir fark yaratacağını sanmıyorum). Ayrıca kodu sonradan değiştirmek istediğinizde de ciddi sıkıntılar çıkarıyor. O yüzden with kullanılmayan sürümü tavsiye ederim.
İyi çalışmalar
Yorumları: 1.571
Konuları: 88
Kayıt Tarihi: 09-08-2016
Rep Puanı: 13.829 Üstad
29-07-2019, Saat: 11:08
(Son Düzenleme: 29-07-2019, Saat: 11:13, Düzenleyen: SimaWB.)
(28-07-2019, Saat: 17:56)mustafaozpinar Adlı Kullanıcıdan Alıntı: SimaWB, sanırım bu daha doğru bir kod olur. Ancak iki yöntem de aynı sonucu vermesine karşın işlemler hayli farklılık gösteriyor. Birincide siz field'leri kendiniz yaratıyorsunuz, ikincide ise "şu fieldler var, tabloyu açınca onları yarat" diye bir komut veriyorsunuz. İkisi de seçilebilir, Fakat eğer statik tanımlı field'ler kullanmanız gerekiyorsa, yani özellikle toplu işlemlerde FindField (ya da FieldByName)'in önemli derecede zaman kaybına yol açması durumunda, birinci yöntem tercih edilebilir.
Haklısınız. Alternatifleri sunalım; okuyanlarda farklı bakış açıları oluşsun. Gerisi programcıya kalmış
(29-07-2019, Saat: 06:58)Bahadir.Alkac Adlı Kullanıcıdan Alıntı: Merhaba,
Ben @SimaWB'nin yöntemini kesinlikle tavsiye etmiyorum. With deyimini kullanmak debug işlemlerini düşündüğünüzden daha fazla zorlaştırıyor. Yazarken kolay gibi geliyor (ki bence bir fark yok) ama çalışma sırasında debuggerdan değerlerine bakmak istediğinizde (örneğin kodda yazmıyor ama StringField'in Display Size'ına bakmak istediniz) inanılmaz zahmetli. Üstelik bir değişken tanımlamak dışında size herhangi bir avantajı yok (derleyici seviyesinde var diye okumuştum bir yerde ama detaylarını bilmiyorum. Günümüz bilgisayarlarında ciddi bir fark yaratacağını sanmıyorum). Ayrıca kodu sonradan değiştirmek istediğinizde de ciddi sıkıntılar çıkarıyor. O yüzden with kullanılmayan sürümü tavsiye ederim.
İyi çalışmalar
Sayfa linkini bulamadım ama forumda daha önce with kullanımından mümkün olduğunca kaçınmakta fayda olduğundan konuşmuştuk. Ama bundan "hiç kullanmayın" anlamı çıkmamalı. Yukarıdaki tarzda basit kısımlarda kullanıyorum ve bir mahsur da görmüyorum.
Sizin de belirttiğiniz gibi; "tavsiye"
There's no place like 127.0.0.1
Yorumları: 116
Konuları: 21
Kayıt Tarihi: 01-09-2019
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 78 Başlangıç
(10-07-2019, Saat: 11:59)arsl01 Adlı Kullanıcıdan Alıntı: Merhaba kolay gelsin,
Amacim offline olarak fdmemtable kullanmak kod ile yeni column acmak ve verileri kod ile eklemek bunu nasil yaparim
@"Fesih ARSLAN" hocamin kitabinda bind visually ile yapilmis fakat kod ile yapmam gerek kayit islemlerini
Bu bileşeni bilmiyorum ama anladığım kadarıyla bildiğimiz memory table. Eğer öyle ise bildiğimiz tablolara nasıl kayıt yapıyorsan aynen öyle yapacaksın. Farklı bir şey düşünmeni gerektirecek bir şey yok.
Dosyalarınızı kendi bulutunuza yedekleyin. Yandex Disk
Eyvallah..
|