Delphi Can
Edit'i Combobox gibi kullanmak - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: Edit'i Combobox gibi kullanmak (/showthread.php?tid=3948)



Edit'i Combobox gibi kullanmak - bünyamin68 - 09-09-2019

Arkadaşlar tekrardan merhaba projeme yeni bir boyut kazandırdım comboboxtan vazgeçtim işimi editle görmeye karar verdim kodlarıda yabancı bir siteden temin ettim güzelde çalışıyor buradaki sorunum şu.


FAutoComplete  := CreateComObject(CLSID_AutoComplete) as IAutoComplete2;
FStrings := TEnumString.Create(listbox5.Items) as IUnknown;
OleCheck(FAutoComplete.SetOptions(ACO_AUTOSUGGEST or ACO_UPDOWNKEYDROPSLIST));
OleCheck(FAutoComplete.Init(edit6.Handle, FStrings, nil, nil));


forma listbox ekliyorum veritabanından bilgileri  listboxa çekiyorum  listbox aracılığı ile de (listbox5.Items) bu kodla bilgileri edite çekiyorum sonuç olarak edit combobox gibi görev yapıyor ve yazıyı yazdığım anda filtreleme işlemi başlıyo fakat edit sayısınca listbox eklemem gerekiyor buda gereksiz kalabalığa neden oluyor. ben nasıl bir kod kullanmalıyım ki (listbox5.Items) bu kodla yazdığım yere koyduğumda listbox gibi araç kullanmadan veritabanındaki bilgileri direk edite çekebileyim. Birde bu kodların tümünü bir fonksiyon olarak kullanabilir miyim. her edite görev vermemde çok yer kaplıyor. Cevaplarınız için şimdiden teşekkür ediyorum.


Edit'i Combobox gibi kullanmak - SimaWB - 10-09-2019

Verilerinizi TStringList'e aktarıp listbox5.Items yerine bu StringList'i kullanabilirsiniz


Cvp: Edit'i Combobox gibi kullanmak - bünyamin68 - 10-09-2019

(10-09-2019, Saat: 13:30)SimaWB Adlı Kullanıcıdan Alıntı: Verilerinizi TStringList'e aktarıp listbox5.Items yerine bu StringList'i kullanabilirsiniz

Öncelikle cevabınız çok teşekkür ediyorum. bu verileri Tstringliste nasıl aktarmam konusunda epey araştırma yaptım ama sağlıklı bir sonuç alamadım her ne kadar delphide yol katetsemde çok eksiklerim var. Sizden ricam bana veri tabanındaki belirli bir sütunun verilerini Tstringliste nasıl aktaracağım konusunda bir örnek verebilir misiniz.


Cvp: Edit'i Combobox gibi kullanmak - SimaWB - 10-09-2019

(10-09-2019, Saat: 15:03)bünyamin68 Adlı Kullanıcıdan Alıntı: Öncelikle cevabınız çok teşekkür ediyorum. bu verileri Tstringliste nasıl aktarmam konusunda epey araştırma yaptım ama sağlıklı bir sonuç alamadım her ne kadar delphide yol katetsemde çok eksiklerim var. Sizden ricam bana veri tabanındaki belirli bir sütunun verilerini Tstringliste nasıl aktaracağım konusunda bir örnek verebilir misiniz.

Yol göstermesi açısından, şuna benzer bir şeyler olmalı:
SL := TStringList.Create;
DataSet.First;
while not DataSet.EOF do
begin
 SL.Add(DataSet.FieldByName('KolonIsmi').AsString);
 DataSet.Next;
end;



Edit'i Combobox gibi kullanmak - bünyamin68 - 11-09-2019

SİMAWB hocam teşekkür ediyorum cevabın için seni de gereksiz yere meşgul ediyorum kusuruma bakma affına sığınıyorum. Bir yerlerde hata yapıyorum ama nerede bilmiyorum çünkü dataset.fieldbyname özelliği bende gelmiyor query denedim table denedim ama .fieldbyname özelliği gelmiyor aceba uses kısmına birşeymi eklemem gerekiyor anlayamadım.


Edit'i Combobox gibi kullanmak - SimaWB - 11-09-2019

http://docwiki.embarcadero.com/Libraries/Rio/en/Data.DB.TDataSet.FieldByName

Şu linklerde de kullanım örnekleri var:
http://docwiki.embarcadero.com/RADStudio/Rio/en/Tutorial:_Connecting_to_a_SQLite_Database_Using_FireDAC
http://docwiki.embarcadero.com/CodeExamples/Rio/en/FishFacts_(Delphi)
http://docwiki.embarcadero.com/CodeExamples/Rio/en/DBBitType_(Delphi)


Cvp: Edit'i Combobox gibi kullanmak - bünyamin68 - 19-09-2019

(11-09-2019, Saat: 13:06)SimaWB Adlı Kullanıcıdan Alıntı: http://docwiki.embarcadero.com/Libraries/Rio/en/Data.DB.TDataSet.FieldByName

Şu linklerde de kullanım örnekleri var:
http://docwiki.embarcadero.com/RADStudio/Rio/en/Tutorial:_Connecting_to_a_SQLite_Database_Using_FireDAC
http://docwiki.embarcadero.com/CodeExamples/Rio/en/FishFacts_(Delphi)
http://docwiki.embarcadero.com/CodeExamples/Rio/en/DBBitType_(Delphi)

SimaWB hocam şehir dışında olduğum için önerinizi inceleyemedim. Bugün inceledim ve tavsiyeniz sayesinde sorunu çözdüm. Bu sorun hallolduğuna göre yeni soruya merhaba diyelim affınıza sığınarak.

Aşağıda yazmış olduğum kodlar sorunsuz çalışıyor Tstringliste veri tabanından bilgi almayı da başardım sayenizde. Sorun şu veri tabanına herhangi bir kayıt yaptığımda combobox gibi kullandığım edit içine gelen bilgiler güncellenmiyor yani veri tabanına kaydettiğim son bilgi gelmiyor gelmesi için run ettiğim projeyi durdurup tekrar çalıştırmam gerekiyor.Kaydet butonuna basıldığı anda güncellenmesi için ne yapmam gerekiyor yardımlarınızı bekliyorum. Zaman ayırıp her seferinde cevap verdiğiniz için ayrıca teşekkür ediyorum.


procedure TForm1.FormCreate(Sender: TObject);
var
SL:TStringlist;
begin
SL:= TStringList.Create;
adoquery1.First;
while not adoquery1.Eof do
begin
SL.Add(ADOQUERY1.fieldbyname('PLAKANO').AsString);
ADOQUERY1.Next;

FAutoComplete  := CreateComObject(CLSID_AutoComplete) as IAutoComplete2;
FStrings := TEnumString.Create(SL.Create) as IUnknown;
OleCheck(FAutoComplete.SetOptions(ACO_AUTOSUGGEST or ACO_UPDOWNKEYDROPSLIST));
OleCheck(FAutoComplete.Init(edit7.Handle, FStrings, nil, nil));



Edit'i Combobox gibi kullanmak - SimaWB - 19-09-2019

Bazı veri tabanlarında, bir tabloya yeni kayıt eklendiğinde vs. tüm client'ları bilgilendirme özelliği var. Forumda konuşulmuştu ama konuyu bulamadım Sad
Şurada detaylı bilgi var:
http://docwiki.embarcadero.com/RADStudio/Rio/en/Database_Alerts_(FireDAC)