delphi4arab منتديات دلفي للعرب

نسخة كاملة : توليد بشكل عشوائي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .

علي

كيف لي أن أظهر قيم بينات سجل في قاعدة بيانات أكسس بشكل عشوائي
يعني عند التنفيذ يظهر لي قيم بينات السجل 1 ثم 4 ثم 10 و هكذا
ثم عند التنفيذ مرة أخر يظهر لي قيم بينات السجل 5 ثم 3 ثم 7 مثلا....
احفظ عدد السجلات في strings array و بعد ذلك اخلطهم او اعمل اختيار عشوائي
وهذا فنكشن استخدمه يسوي نفس العميله بس مع الوقت او الساعه .
كود :
function ShuffleTimeArray(Value1, Value2: string): string; var T1, T2: TTime; x: Integer; TimeArray: array of string; d: Double; begin Randomize; T1 := StrToTime(Value1 + ':00'); T2 := StrToTime(Value2 + ':00'); d := MinuteSpan(T1, T2); SetLength(TimeArray, Ceil(d) + 1); for x := 0 to Ceil(d) do begin TimeArray[x] := TimeToStr(T1); T1 := IncMinute(T1, 1); end; Result := TimeArray[Random(Ceil(d) + 1)]; end;

في الفنكشن تجي ال value1 و ال value2 بوقت مثلا value1 = 03:30 و ال value2=04:00 الفنكشن يحسب كم بينهم من دقيقه و بعد ذلك يختار زمن عشوائي بين ال 3:30 و الساعه 4 .

علي

إقتباس :في الفنكشن تجي ال value1 و ال value2 بوقت مثلا value1 = 03:30 و ال value2=04:00 الفنكشن يحسب كم بينهم من دقيقه و بعد ذلك يختار زمن عشوائي بين ال 3:30 و الساعه 4 .

أخي أتنا لم أحتج لحساب الأوقات أنا أعمل مسابقة مخزنة أسإلتها بقاعدة بيانات فيجب أن أظهر الأسئلة بشكل عشوائي
استخدمت التابع Randome ولكنه في كل مرة تنفيذ يقوم بالتوليد بنفس المرة السابقة فأين الخطأ فلذا أنا أبحث عن ما هو مختلف

علي

PHP كود :
function cpugettick:int64;
asm
   dw 310Fh 
// rdtsc Counter only for Pentim Processors and equivalents
end;

var
maxValue:integer;
Clock: Int64;
MyRandom: integer;
begin
maxValue
:=100;
Clock:= cpugettick;
// get a rundom number betwen 0 and maxvalue
MyRandom:= clock mod maxValue;
Label1.Caption:=inttostr(MyRandom);
end; 
إقتباس :استخدمت التابع Randome ولكنه في كل مرة تنفيذ يقوم بالتوليد بنفس المرة السابق

قبل استخدام Random استدعي Randomize مرة واحدة تكفي
;والسلام عليكم

علي

ألف شكر لك أخي فالتوليد العشوائي سيتم استخدامه في مشروع الذاكر