PDA

View Full Version : DbLookUpCombobox با چندین Key Value و سیستم Like



Touska
چهارشنبه 04 مهر 1386, 11:17 صبح
با سلام ، عباداتتون مورد قبول

یک راه حل ساده می خواهم برای اینکه یک Edit یا یک DbLookUpCombobox را و طوری طراحی بکنم

که بتوان بر اساس نام فارسی و انگلیسی و عدد در آن Search کنم و در آخر سرچ من مثل Like عمل کنه.

اگر کامپپوننتی در این زمینه می شناسید چه بهتر ؟

موفق باشید :خجالت:

farhad110
جمعه 06 مهر 1386, 08:38 صبح
سلام
شما میتونی کد زیر رو در OnChange ادیت یا ComboBox قرار بدین:


Table1.Filtered:=true;
Table1.Filter:='field_name='+QuotedStr(edit1.Text+ '*');

البته پیشنهاد میکنم به جای این، از دستورات sql در query ها استفاده کنید. اگر نیازی هست تا دستورات رو هم بذارم

موفق باشید

SYNDROME
جمعه 06 مهر 1386, 09:26 صبح
با سلام


یک راه حل ساده می خواهم برای اینکه یک Edit یا یک DbLookUpCombobox را و طوری طراحی بکنم
که بتوان بر اساس نام فارسی و انگلیسی و عدد در آن Search کنم و در آخر سرچ من مثل Like عمل کنه.

دوست عزیز آیا می خواهد جستجو شما مانند یک Combobox عمل کند و یا نه در زمان جستجو اطلاعات در یک DBGrid نمایش داده شود.
موفق باشید

Touska
جمعه 06 مهر 1386, 22:46 عصر
با سلام

من فکر کنم شما منظور منو نگرفتید :

در حقیقت می خواهم اگر کاربر عدد وارد کرد بر اساس فیلد عددی Search کنه

و اگر فارسی تایپ کرد بر اساس فیلد دارای محتوای فارسی

و اگر انگلیسی تایپ کرد بر اساس فیلد دارای محتوای انگلیسی

و همه اینها در یک Edit یا DblookUpCombobox

موفق باشید :)

farhad110
جمعه 06 مهر 1386, 23:50 عصر
این کار با کد نویسی امکان پذیر هست، شما باید از OnKeyPress استفاده کنی و مشخص کنی که کلید فشرده شده از اعداد هست یا حروف انگلیسی و یا فارسی. برای بدست آوردن کد کلید از ord(key) استفاده کن.

Touska
یک شنبه 08 مهر 1386, 09:07 صبح
ممنون :


procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Case Key OF
#65..#90,
#97..#122 : Edit3.Text := 'English';
#48..#57 : Edit3.Text := 'Number';
#33..#47,
#58..#64,
#91..#96,
#123..#126 : Edit3.Text := 'Tools';
#8,#13 : ;
Else
Edit3.Text := 'Persian';
End;
end;

من به این روش کار کردم می خواستم ببینم راه ساده تری در این زمینه یا کامپوننتی به این شکل با چندین keyValue هست یا نه؟

farhad110
یک شنبه 08 مهر 1386, 11:28 صبح
فکر می کنم این کد مفیدتر باشه:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case key of
'a'..'z':Edit2.Text:='english lower case';
'A'..'Z':Edit2.Text:='english upper case';
'0'..'9':Edit2.Text:='Numeric';
else
Edit2.Text:='symbol and persian';
end;

end;