PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : جستجوی پیشرفته در ComboBox



admin
16 / February / 1970, 11:36 AM
سلام و درود خدمت کاربران ایران دلفی.
یک از دوستان درخواست کدی جهت جستجوی پیشرفته در ComboBox در دلفی رو داشتند که لازم دونستم کد رو در اختیار کل کاربران قرار بدم .
اگه دوستان کد بهتری سراغ دارند در ذیل همین پست قرارش بدن.
موفق و موید باشید.
<span style="font-family: trebuchet ms"><font size="3"><font color="Indigo"><b><font color="red">[فقط اعضاء انجمن قادر به مشاهده لینکها و عکسها می باشند <a href="/reg_iran.php" target="_blank">برای عضویت در سایت کلیک کنید</a>]</font></b></font></font></span>
دانلود کد جستجوی پیشرفته (<span style="font-family: trebuchet ms"><font size="3"><font color="Indigo"><b><font color="red">[فقط اعضاء انجمن قادر به مشاهده لینکها و عکسها می باشند <a href="/reg_iran.php" target="_blank">برای عضویت در سایت کلیک کنید</a>]</font></b></font></font></span>)
اینم کد یونیت مورد نظر جهت دوستان




کد:




unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
ComboBox1: TComboBox;
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
fLastKey:word;
fsearchkeys:string;

implementation

{$R *.dfm}

procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
fLastKey := Key;

end;

procedure TForm1.ComboBox1Change(Sender: TObject);
var
SearchStr: string;
i,retVal,FoundIndex: integer;
ctrl:TComboBox;
begin
if fLastKey=VK_BACK then
exit;

// copy search pattern
ctrl := (Sender as TCombobox);
SearchStr := UpperCase(ctrl.Text);
FoundIndex := -1;
if SearchStr<>&quot;&quot; then
for i := 0 to ctrl.Items.Count-1 do begin
if Pos(SearchStr, UpperCase(ctrl.Items))>0 then
begin
FoundIndex := i;
fsearchkeys := ctrl.Text;
break;
end;
end;

if (FoundIndex>=0) then
begin
retVal := ctrl.Perform(CB_SELECTSTRING, 0, LongInt(PChar(ctrl.Items[FoundIndex]))) ;

if retVal > CB_Err then
begin


ctrl.ItemIndex := retVal;
ctrl.SelStart := Pos(SearchStr,UpperCase(ctrl.Text))+Length(SearchS tr)-1;
ctrl.SelLength := (Length(ctrl.Text) - Length(SearchStr));


end; // retVal > CB_Err

end; // lastKey <> VK_BACK


end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ComboBox1.AutoComplete := false;
loadkeyboardlayout(&quot;00000429&quot;,1);

end;

end.