PDA

View Full Version : انتخاب یک گزینه از چند گزینه؟



abedi vida
جمعه 19 تیر 1383, 14:59 عصر
50 تا image دارم می خوام هر دفه یک از اونهاره به طور اتفافی نشون بده

سار
جمعه 19 تیر 1383, 15:31 عصر
یه عدد رندوم بین 1 تا 50 تولید کن.
بعد تصویر متناظرش رو نشون بده.

abedi vida
شنبه 20 تیر 1383, 20:33 عصر
ینعی چی؟ می خوام بطور اتفاقی وقتی فرم باز میشه یکی از عکس ها رو انتخاب کنه ؟ رندوم یعنی چه؟ ببخشید من یه زره دیر میفهمم :oops:

nasr
شنبه 20 تیر 1383, 21:29 عصر
رندوم یعنی یه عدد تصادفی Random
مثالهایی درHelp دلفی وجود داره کلمه Randomرا بنویس و در حالیکه کرسر روی اون کار می کنه F1 را فشار بده بهت کمک می کنه

موفق باشید

abedi vida
یک شنبه 21 تیر 1383, 00:16 صبح
من serch کردم

x0,y0,x1,y1 : Double;
begin
ArrowSeries1.StartXValues.DateTime:=False;
ArrowSeries1.EndXValues.DateTime:=False;
ArrowSeries1.Clear;
x0 :=Random( 1000 );
y0 :=Random( 1000 );
x1 :=x0 + Random( 1000 ) - 500 ;
y1 :=y0 + Random( 1000 ) - 500 ;
ArrowSeries1.AddArrow( x0, y0, x1, y1, '', clBlue);
x0 :=Random( 1000 );
y0 :=Random( 1000 );
x1 :=x0 + Random( 1000 ) - 500 ;
y1 :=y0 + Random( 1000 ) - 500 ;
ArrowSeries1.AddArrow( x0, y0, x1, y1, '', clYellow);

end;
ArrowSeries این یعنی چه؟ واقعا من خیلی همه چیز رو دیر می گیرم :oops:

hotice
یک شنبه 21 تیر 1383, 00:36 صبح
سلام
Random یعنی تصادفی یا ناگهانی.در برنامه تون اگر بخواهی به تنهایی بکار ببری عددی را تولید میکند بین 0 و 1 البته بطور تصادفی.
اگر بخواهی در برنامه خود استفاده کنی بهتر است قبل از بکار بردن این دستور دستور Randomize را بدون هیچ چیزی اجرا کنی یعنی فقط بنویسی

Randomize;
این دستور دستور random را مقدار دهی میکند.
بعد برای بکار بردن بعدی در برنامه از دستور Random استفاده کنی .
مثلا اگر میخواهی بین 1 تا 500 یک عدد بطور تصادفی ایجاد بشه میتونی از دستور زیر استفاده کنی.

a:=random(500);
موفق باشی. :)

abedi vida
یک شنبه 21 تیر 1383, 13:27 عصر
سلام من اگه بخوام با هر بار باز شدن
فرم از 50 تا ایمج یکی رو به طور تصاذفی به من نشون بده باید این دستور رو کجا بنویسم
این دستور رو داخل onsohw فرم نوشتم ولی بازم همه ایمج ها رو با هم نشون میده؟؟؟؟؟؟؟؟؟

hotice
یک شنبه 21 تیر 1383, 15:29 عصر
سلام
بهتره سورس اون قسمت رو بنویسی تا بهتر برسی کنیم.
فرض کنیم که شما اگر چنین چیزی را نوشته باشی به مشکلی بر نخوری:

var
pic:array [1..50] of TPicture ;
begin
.
.
.
pic[1].LoadFromFile('c:\exam1.bmp');
.
.
pic[2].LoadFromFile('c:\exam2.bmp');
.

image1.Picture :=pic[random(50)];
موفق باشی. :)

abedi vida
یک شنبه 21 تیر 1383, 22:09 عصر
من این سورس رو نوشتم ولی از آدرس ایراد میگیره
من نمیدونم این سورس رو کجا بنویسم ولی هم داخلonshoe form همonclick image نوشتم ولی جواب نداد
1سوال من باید چند تا image کار بزارم؟(من یکی کار گذاشتم ، موقع اجرا برنامه هیچ چیز رو فرم نشون داده نمیشه)
اینم سورس برنامه برای 3تا عکس

var
pic:array [1..50] of TPicture;
begin
;('pic[1].LoadFromFile('c:\1.bmp
;('pic[2].LoadFromFile('c:\2.bmp
;('pic[2].LoadFromFile('c:\2.bmp
;[(3 )image1.Picture :=pic[random
;end

مهدی کرامتی
دوشنبه 22 تیر 1383, 00:09 صبح
راه بهتر و خلاصه‌تر اینستکه اسم فایلهای تصویرتان را با ترتیبی بخصوص نامگذاری کنید. مثلا Image01.bmp تا Image50.bmp . فرض کنیم تصاویر شما در فولدر C:\My_Images قرار دارند. با این حساب چنین کدی میتواند کارساز باشد:

var I:Integer;
begin
Randomize;
I:=Random(50);
Image1.Picture.LoadFromFile('C:\My_Images\Image'+I ntToStr(I)+'.bmp');
end;

abedi vida
دوشنبه 22 تیر 1383, 16:39 عصر
راه بهتر و خلاصه‌تر اینستکه اسم فایلهای تصویرتان را با ترتیبی بخصوص نامگذاری کنید. مثلا Image01.bmp تا Image50.bmp . فرض کنیم تصاویر شما در فولدر C:\My_Images قرار دارند. با این حساب چنین کدی میتواند کارساز باشد:

var I:Integer;
begin
Randomize;
I:=Random(50);
Image1.Picture.LoadFromFile('C:\My_Images\Image'+I ntToStr(I)+'.bmp');
end;


دستتون درد نکنه جواب داد

abedi vida
دوشنبه 22 تیر 1383, 18:39 عصر
اگر بخواهیم از چند تا فرم یکی رو انتخاب کنیم باید چه دستوری بنویسیم
مثلا تا فرم 2 باز میشه یک إ,ففخد وجود داره که با فشردن اون از 10 تا فرم یکی از اونا رو انتخاب بکنه همین طور برای فرم های بعدی

مهدی کرامتی
دوشنبه 22 تیر 1383, 21:05 عصر
چرا چنین چیزی ممکنه بدرد بخوره؟ کاربرد این چی میتونه باشه؟

abedi vida
دوشنبه 22 تیر 1383, 23:20 عصر
چرا چنین چیزی ممکنه بدرد بخوره؟ کاربرد این چی میتونه باشه؟
سلام من دارم یک برنامه آموزشی کودکان می نویسم چند وقت ÷یش یکی از بر نامه هایی که تو بازار هست رودیدم اصلا تنوع نداشت میخوام با اجرا بر نامه ام برای هر موضوع چند تا شکل داشته باشم تا بچه ها بعد از چند بار بازی خسته نشن
مثلا برای قسمت آموزش جهت ها 10 تا فرم داشته داریم که با اجرا هر بار اون به طور اتفاقی فرم جدید با شکل جدید(البته تا 10 تا شکل) بیاد اول فکر کردم با image می شه اما حالا دیدم نمیشه چون هر image برنامه مخصوص به خودش داره :?:
اگه بتونین کمکم کنین ممنون میشم :)

مهدی کرامتی
سه شنبه 23 تیر 1383, 00:13 صبح
مانند مثال قبلی، با کمی تفاوت:

var I:Integer;
begin
Randomize;
I:=Random(10);
if I=1 then Form1.Show
else if I=2 then Form2.Show
else if I=3 then Form3.Show
else if I=4 then Form2.Show
...
...
else if I=10 then Form10.Show;
end;

abedi vida
شنبه 27 تیر 1383, 11:42 صبح
سلام
من این دستور را وقتی فرم هام خالی هست اجرا میشه ولی وقتی در فرم چند تا imageو media player این Errorمیده
Project poroject1.exe raised exception class emjdeviceError with message'the device name is already being used as an alias by this application. use a uniqe alias.' .proces stop or run to continue
وقتی ok می کنم از این قسمت ایزاد میگیره
Application.CreateForm(TForm4, Form4);
وقتی دوباره اجرا میکنم error 00056902 لطفا کمکم کنین