PDA

View Full Version : کامپوننت جستجو درون combobox



Batman
شنبه 12 آبان 1386, 08:06 صبح
با سلام
دوستان من مدتها قبل یه چنین سوالی رو پرسیده بودم که جناب خرسندی یه نمونه کد دادند اما موفق نشدم
حالا میخوام بدونم آیا کامپوننتی وجود داره که مثلا combobox توی internet explorer کار جستجو رو انجام بده (منظورم جستجو مثلا از شماره 10 به بعد), چون دارم یه webbrowser مینویسم
با تشکر

Batman
سه شنبه 15 آبان 1386, 14:08 عصر
دوستان کسی نظری یا حداقل کدی نداره؟

SYNDROME
سه شنبه 15 آبان 1386, 21:26 عصر
دوست عزیز Batman گل
مگر با روشی جستجو در بانک که به شما گفتم مشکلتان حل نشد؟
موفق باشید

vcldeveloper
جمعه 18 آبان 1386, 17:38 عصر
برای جستجو در یک رشته از کارکتری خاص به بعد (در مثال شما از کارکتر دهم به بعد)، از تابع PosEx در یونیت StrUtils.pas استفاده کنید. مثلا:


uses
StrUtils;

procedure TForm1.ComboBox1Change(Sender: TObject);
const
OmitableStr = 'http://www.';
var
i : integer;
StartingCharIndex : word;
begin
StartingCharIndex := Length(OmitableStr)+1;

with ComboBox1 do
begin
{Check each item in the combobox.}
for i := 0 to Items.Count-1 do
{If item is started with the typed phrase (Text), or
[Item - OmitableStr] is started with the typed phrase, then do
something.}
if (Pos(Text,Items[i]) = 1) or
(PosEx(Text,Items[i],StartingCharIndex) = StartingCharIndex+1) then
begin
{Do something}
end;
end;
end;

Batman
شنبه 19 آبان 1386, 13:54 عصر
با سلام
جناب کشاورز کدها رو دقیقا مثل شما نوشتم اما هیچ اتفاق خاصی نمی افتد

vcldeveloper
شنبه 19 آبان 1386, 14:28 عصر
جناب کشاورز کدها رو دقیقا مثل شما نوشتم اما هیچ اتفاق خاصی نمی افتد
اگر به اون کامنت Do Something دقت کنید، می بینید که قرار نیست اتفاق خاصی بیافته. شما گفتید در جستجو مشکل دارید، من هم یک نمونه کد براتون گذاشتم که چطور می تونید از کارکتر خاصی به بعد در Item های ComboBox جستجو کنید. کد را هم فقط برای اینکه ایده بدست شما بیاد نوشتم، خودم تستش نکردم.
دقت کنید که این کد فقط نشون میده چطور جستجو کنید، اینکه در صورت پیدا شدن کلمه مورد نظر چه اتفاقی باید بیافته، در این کد نوشته نشده.