PDA

نسخه کامل مشاهده نسخه کامل : چطور ميتوان به ركوردهاي خروجي يك adoqry به صورت random دسترسي داشت؟



manzare
14-08-2008, 11:59
چطور ميتوان به ركوردهاي خروجي يك adoqry به صورت random دسترسي داشت؟
من اين كد را براي گرفتن خروجي نوشتم


کد:

with ADOQuery1 dobeginClose;SQL.Clear;SQL.Text:= 'select qtext , ta,tb,tc,td from qtable inner join atable on (atable.qcode=qtable. qcode ) and (qtable.type=:t) and (qtable.degree=:d)';Parameters.ParamByName('d').Va lue :=1;Parameters.ParamByName('t').Value :=1;Open;SQL.Text ;memo1.Text:=ADOQuery1.Fields.Fields[0].AsString;RadioGroup3.Items.Clear ;RadioGroup3.Items.Insert(0,ADOQuery1.Fields.Field s[1].AsString);RadioGroup3.Items.Insert(1,ADOQuery1.Fi elds.Fields[2].AsString);RadioGroup3.Items.Insert(2,ADOQuery1.Fi elds.Fields[3].AsString);RadioGroup3.Items.Insert(3,ADOQuery1.Fi elds.Fields[4].AsString);end;


ميتوان با next به بعدي رفت اما چطور ميتوان به n(يك عدد تصادفي) بعدي پريد ؟


اگر بخوام اين كار را باكرسر انجام بدم چه كد نويسي داره؟

مرد مباح
15-08-2008, 12:27
1. اگه تعداد ركوردت رو بدست بياري كرت حل شده. ميتوني با فرمان MoveBy به اون مقدار كه ميخواي جلو يا عقب بري.
2. فكر كنم اگه توي OnKeyPress كدهاشونو تعريف كني به نتيجه برسي.

delphianddotnet
19-08-2008, 08:31
تعداد رکوردها رو مشخص کن و بعد بوسیله تابع random و بوسیله متد mov by بنا به گفتی دوستمون به رکورد تصادفی حرکت کن


count:=Quer1.RecordCount ;
rnd:= Random(count);
Quer1.MoveBy(rnd)