توليد بشكل عشوائي
#1
كيف لي أن أظهر قيم بينات سجل في قاعدة بيانات أكسس بشكل عشوائي
يعني عند التنفيذ يظهر لي قيم بينات السجل 1 ثم 4 ثم 10 و هكذا
ثم عند التنفيذ مرة أخر يظهر لي قيم بينات السجل 5 ثم 3 ثم 7 مثلا....
الرد
#2
احفظ عدد السجلات في 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 .
الرد
#3
إقتباس :في الفنكشن تجي ال value1 و ال value2 بوقت مثلا value1 = 03:30 و ال value2=04:00 الفنكشن يحسب كم بينهم من دقيقه و بعد ذلك يختار زمن عشوائي بين ال 3:30 و الساعه 4 .

أخي أتنا لم أحتج لحساب الأوقات أنا أعمل مسابقة مخزنة أسإلتها بقاعدة بيانات فيجب أن أظهر الأسئلة بشكل عشوائي
استخدمت التابع Randome ولكنه في كل مرة تنفيذ يقوم بالتوليد بنفس المرة السابقة فأين الخطأ فلذا أنا أبحث عن ما هو مختلف
الرد
#4
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; 
الرد
#5
إقتباس :استخدمت التابع Randome ولكنه في كل مرة تنفيذ يقوم بالتوليد بنفس المرة السابق

قبل استخدام Random استدعي Randomize مرة واحدة تكفي
;والسلام عليكم
الرد
#6
ألف شكر لك أخي فالتوليد العشوائي سيتم استخدامه في مشروع الذاكر
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم