View Full Version : دو سوال مهم در مورد ادیت و کامبوباکس
farzane_fn
شنبه 18 مهر 1388, 19:11 عصر
سلام به دوستای خوب خودم. دو تا سوال داشتم یکی در مورد ادیت و یکی در مورد کامبوباکس . اول سوال در مورد ادیت: اگه توجه کرده باشین توی گوگل یک ادیت هست که وقتی مثلا حرف "ب" رو وارد می کنین تمام جملاتی که با "ب" شروع می شن و قبلا وارد شدن رو می یاره وقتی "با" می نویسین اونایی که با "با" شروع می شن و الی اخر . می خواستم بدونم توی دلفی چطوری می شه این ادیت رو ایجاد کرد و ازش استفاده کرد دقت کنید با کامبوباکس می شه شبیهش رو ایجاد کرد. منظورم دقیقا مثل ادیت گوگل هست. و سوال دوم من کامبوباکسی توی برنامم دارم که style اون csdropdownlist هست. چی کار کنم که text اون تهی بشه یعنی درون کامبوباکس خالی بشه . اینم مشکل دومم هست. ممنون می شم اگه کمک کنین...
amir_ir
شنبه 18 مهر 1388, 20:15 عصر
سلام به فرزانه خانوم عزیز
امیدوارم درست منظورتو فهمیده باشم. چک کن ببین این همون چیزی هست که لازم داری؟
DataModule.ADOQuery1.Active:=false;
DataModule.ADOQuery1.SQL.Clear;
DataModule.ADOQuery1.SQL.Add('select * from TableName where Field1 like ' + '''' + TxtField1.Text + '% ''');
DataModule.ADOQuery1.SQL.Add('and Field2 like ' + '''' + TxtField2.Text + '%''');
DataModule.ADOQuery1.SQL.Add('and Field3 like' + '''' + TxtFiled3.Text + '%''');
DataModule.ADOQuery1.Active:=true;
DBGCar.DataSource.DataSet:=DataModule.ADOQuery1;
در مورد Combobox هم فکر کنم باید بنویسی :
ComboBox1.Items.Clear;
موفق باشی
merced
شنبه 18 مهر 1388, 20:44 عصر
براي قسمت دوم
Combo1.ItemIndex := -1
farzane_fn
یک شنبه 19 مهر 1388, 17:47 عصر
سلام به فرزانه خانوم عزیز
امیدوارم درست منظورتو فهمیده باشم. چک کن ببین این همون چیزی هست که لازم داری؟
DataModule.ADOQuery1.Active:=false;
DataModule.ADOQuery1.SQL.Clear;
DataModule.ADOQuery1.SQL.Add('select * from TableName where Field1 like ' + '''' + TxtField1.Text + '% ''');
DataModule.ADOQuery1.SQL.Add('and Field2 like ' + '''' + TxtField2.Text + '%''');
DataModule.ADOQuery1.SQL.Add('and Field3 like' + '''' + TxtFiled3.Text + '%''');
DataModule.ADOQuery1.Active:=true;
DBGCar.DataSource.DataSet:=DataModule.ADOQuery1;
در مورد Combobox هم فکر کنم باید بنویسی :
ComboBox1.Items.Clear;
موفق باشی
سلام به ساراجان بهترین دوست اینترنتی من:چشمک:
سارا جان ازت خواهش دارم عملکرد قسمت اول رو توضیح بدی یه کم برام گنگه ..
amir_ir
دوشنبه 20 مهر 1388, 21:51 عصر
سلام فرزانه جان
متوجه نشدم منظورت از قسمت اول چیه. این کد رو به صورت آزمایش خطا بدست آوردم . اول کد رو به صورت زیر نوشتم:
DataModule.ADOQuery.Active:=false;
DataModule.ADOQuery.SQL.Clear;
DataModule.ADOQuery.SQL.Add('select * from tablename where FeildName like :x');
DataModule.ADOQuery.Parameters.ParamByName('x').Va lue:=TxtFeild1.text+' %';
DataModule.ADOQuery.Active:=true;
متغیر تعریف کرده بودم. ولی ناقص جواب می داد. به این صورت که اگر در دیتابیس a و aa و aaa وaaaa و aaaaa رو وارد می کردیم و جستجو را با کد بالا انجام می دادیم ، اگر aaa رو جستجو کنیم قائدتا باید aaa وaaaa و aaaaa جزو نتیجه ظاهر بشه ولی فقط خود aaa رو به عنوان نتیجه نشون می داد یا در حالت هایی هم مثلا aaaa .
مجبور شدم syntax زیر رو بنویسم . و این error رو گذاشتم به حساب Bug این ADO :لبخندساده:
DataModule.ADOQuery1.SQL.Add('select * from TableName where fieldname like' + ''''+TxtField1.Text + '%''');
فرزانه جان بعد از کد بالا مثل زیر از showmessage استفاده کن ، متوجه میشی کد خروجی چیه.
showmessage(datamodule.adoquery1.sql.text)
اگر هم جای دیگه رو مد نظرت بود که توضیح بدم لطف کن بگو اگر بدونم جواب میدم .
اگر هم دوستان علت رو میدونن که من هم خوشحال میشم متوجه بشم و علت رو بدونم .
می بخشید که نتونستم توضیح مناسبی بدم .
شاد و پیروز
farzane_fn
سه شنبه 21 مهر 1388, 10:29 صبح
سلام فرزانه جان
متوجه نشدم منظورت از قسمت اول چیه. این کد رو به صورت آزمایش خطا بدست آوردم . اول کد رو به صورت زیر نوشتم:
DataModule.ADOQuery.Active:=false;
DataModule.ADOQuery.SQL.Clear;
DataModule.ADOQuery.SQL.Add('select * from tablename where FeildName like :x');
DataModule.ADOQuery.Parameters.ParamByName('x').Va lue:=TxtFeild1.text+' %';
DataModule.ADOQuery.Active:=true;
متغیر تعریف کرده بودم. ولی ناقص جواب می داد. به این صورت که اگر در دیتابیس a و aa و aaa وaaaa و aaaaa رو وارد می کردیم و جستجو را با کد بالا انجام می دادیم ، اگر aaa رو جستجو کنیم قائدتا باید aaa وaaaa و aaaaa جزو نتیجه ظاهر بشه ولی فقط خود aaa رو به عنوان نتیجه نشون می داد یا در حالت هایی هم مثلا aaaa .
مجبور شدم syntax زیر رو بنویسم . و این error رو گذاشتم به حساب Bug این ADO :لبخندساده:
DataModule.ADOQuery1.SQL.Add('select * from TableName where fieldname like' + ''''+TxtField1.Text + '%''');
فرزانه جان بعد از کد بالا مثل زیر از showmessage استفاده کن ، متوجه میشی کد خروجی چیه.
showmessage(datamodule.adoquery1.sql.text)
اگر هم جای دیگه رو مد نظرت بود که توضیح بدم لطف کن بگو اگر بدونم جواب میدم .
اگر هم دوستان علت رو میدونن که من هم خوشحال میشم متوجه بشم و علت رو بدونم .
می بخشید که نتونستم توضیح مناسبی بدم .
شاد و پیروز
سارا جان سلام.به خاطر کدی که نوشتی ازت صمیمانه تشکر می کنم. شاد و پیروز باشی:قلب:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.