من چند تا فایل EXE در یک پوشه قرار دادم که می خوام وقتی برنامه م اجرا میشه به صورت اتفاقی و تصادفی یکی از اونا رو اجرا کنه ؟
خواهشا اگه تابع خاصی نیاز داره ، مثال هم بزنید .
قربان شما ...
خب بیا اول نام فایل های درون پوشه ها رو بگیر بعد یه آرایه بدون طول تعریف کن بعدش یه رندوم بزار تو برناه تا به اندازه تعداد فایل ها عدد تصادفی تولید کنه بعدش مصلا بگو اگر 1 بود نام فایل درون آرایه به شماره خانه 1 رو اجرا کن و اگر 2 بود نام فایل درون آرایه به شماره خانه 2 رو اجرا کن
ایتجوری ( شکلک خندان)
چیزی فهمیدی ؟ ( شکلک چشمک زن)
حامد . هایده
ba_maram_shiraz نوشته است:خب بیا اول نام فایل های درون پوشه ها رو بگیر بعد یه آرایه بدون طول تعریف کن بعدش یه رندوم بزار تو برناه تا به اندازه تعداد فایل ها عدد تصادفی تولید کنه بعدش مصلا بگو اگر 1 بود نام فایل درون آرایه به شماره خانه 1 رو اجرا کن و اگر 2 بود نام فایل درون آرایه به شماره خانه 2 رو اجرا کن
ایتجوری ( شکلک خندان)
چیزی فهمیدی ؟ ( شکلک چشمک زن)
حامد . هایده
آقا من هیـــــــــــــــــــــــــــــــــــــــــــچ نوفهمم !
اگه میشه یکی برام بنویسه ...
خودم کدهاشو میبینم همه چیز رو متوجه میشم !
ممنون .
منتظرم هاااااااااااااا
موفق باشید .
خوب يه عدد رندوم بگير اينتوري
Randomize
(a=fix(rnd()*10
اگه مثلا 10 تا فايل داري بعد شرط بزار
select case a
case 1
shell program1
case 2
shell program2
......
end select
;(
اینم کد
فقط چون من vb رو کامپیوترم نصب نیست نمیتونم اینو امتحان کنم
کد:
Private Sub Form_Load()
Dim CNT as integer
CNT=Int(File1.ListCount * Rnd)
Shell File1.path & “\” & File1.List(CNT)
End Sub
کد:
'Www.IranVig.com
Function choose_a_random_file(Path As String, Ext As String) As String
Dim FileName
Dim Files
Dim File
Dim RndNum
If Ext = "" Then Ext = "TXT"
If Right(Path, 1) <> "\" Then Path = Path & "\"
FileName = Dir(Path & "*." & Ext)
Do Until FileName = ""
If FileName <> "." And FileName <> ".." Then
Files = Files & FileName & "#"
End If
FileName = Dir
Loop
File = Split(Files, "#")
Randomize
RndNum = Int(Rnd() * (UBound(File)))
choose_a_random_file = Path & File(RndNum)
End Function
'Example :
Shell choose_a_random_file(App.Path & "\Folder", "EXE")
سلام
از عناصر Drive , Dir , filelist استفاده کن بعد یه عدد اتفاقی تولید کن و بگو
فایل شماره (همون عدد اتفاقی) اجرا بشه
amirjan نوشته است:کد:
'Www.IranVig.com
Function choose_a_random_file(Path As String, Ext As String) As String
Dim FileName
Dim Files
Dim File
Dim RndNum
If Ext = "" Then Ext = "TXT"
If Right(Path, 1) <> "\" Then Path = Path & "\"
FileName = Dir(Path & "*." & Ext)
Do Until FileName = ""
If FileName <> "." And FileName <> ".." Then
Files = Files & FileName & "#"
End If
FileName = Dir
Loop
File = Split(Files, "#")
Randomize
RndNum = Int(Rnd() * (UBound(File)))
choose_a_random_file = Path & File(RndNum)
End Function
'Example :
Shell choose_a_random_file(App.Path & "\Folder", "EXE")
ای رحمت به اون شیری که خوردی ...
آقا خیلی ممنوووووووووووووووووووووووووووووون !
از دیگر دوستان هم تشکر می کنم .
سلام به همه ی دوستان .
حالا یه ذره سوالم رو فنی می کنم ...
این کدی که شما دادید به صورت تصادفی فقط یک نوع پسوند رو اجرا می کنه !
حالا اگه من در پوشه ای چند تا فایل COM و چند تا EXE و نیز چند تا BAT داشتم و خواستم به صورت تصادفی یکی از این فایل ها اجرا بشه باید چه تغییری در کد بالا بدم ؟!
خلاصه بگم :
می خوام پسوندهای دیگه هم در اجرای تصادفی در نظر گرفته بشه ...
ممنون اگه کمکم کنید .
موفق و پیروز ...
سلام.
میتونی 1 لیست از فایل های تو فولدر بگیری. این جوری هر فایل 1 شماره به خودش میگیره. بعد با تابع rnd خیلی راحت میتونی به صورت رندم اجراشون کنی.
مرسی پیمان جان
همونی هست که من روش از همه بیشتر تاکید دارم