PDA

View Full Version : سوال: چطور میشه که در یک فرم متن هایی رو بصورت راندووم با هر بار اجرای برنانه نشون داد ؟؟؟



mohsen gh
سه شنبه 23 شهریور 1389, 19:17 عصر
چطور میشه که در یک فرم متن هایی رو بصورت راندووم با هر بار اجرای برنانه نشون داد ؟؟؟

Saman_12
سه شنبه 23 شهریور 1389, 20:35 عصر
میتونی اول یک عدد راندم تا 255 ایجاد کنی بعد هم به حروف تبدیل کنی.

mohsen gh
سه شنبه 23 شهریور 1389, 20:50 عصر
میتونی اول یک عدد راندم تا 255 ایجاد کنی بعد هم به حروف تبدیل کنی.
دوست عزیز اگه امکانش هست بیشتر منو راهنمایی کن متنها درون یک فیلد هستند تعدادشون هم زیاده ممنون

MAHDIACTION
سه شنبه 23 شهریور 1389, 21:19 عصر
دوست عزیز اگه امکانش هست بیشتر منو راهنمایی کن متنها درون یک فیلد هستند تعدادشون هم زیاده ممنون
سلام دوست من
نظر من اينه كه اول يه فيلد به نام TAuto‌به جدولت اضافه كن و خاصيت Full-text Specification را برابر True قرار بديد تا Auto Number بشه .
بعد يه Count از ركورداتون بگيريد بين يك تا تعداد ركورد ها Random بگيريد، مقدار برگشتي رو با فيلد TAuto فيلتر كنيد .
متن رو برگردونيد.
اگه سوالي بود در خدمتم.

Saman_12
سه شنبه 23 شهریور 1389, 21:27 عصر
یک فانکشن برای این کار نوشتم شما از عدد 65 تا 90 رو بهش بده بعد هم تعداد حروف خودش برات میسازه :


Private Function MakeRndName(ByVal NStrStart As Integer, ByVal NStrFinish As Integer, Optional ByVal Count As Integer = 0) As String
Dim St As String
Dim Rand As New System.Random

If Count = 0 Then Count = CStr(Int(Rnd() * 255))

For IStr As Integer = 1 To Count
St &= Chr(Rand.Next(NStrStart, NStrFinish))
Next

Return St

End Function

این جوری استفاده کن :

MsgBox(MakeRndName(65, 90, 15))

mohsen gh
سه شنبه 23 شهریور 1389, 22:38 عصر
سلام دوست من
نظر من اينه كه اول يه فيلد به نام TAuto‌به جدولت اضافه كن و خاصيت Full-text Specification را برابر True قرار بديد تا Auto Number بشه .
بعد يه Count از ركورداتون بگيريد بين يك تا تعداد ركورد ها Random بگيريد، مقدار برگشتي رو با فيلد TAuto فيلتر كنيد .
متن رو برگردونيد.
اگه سوالي بود در خدمتم.

اگه میتونی یه نمونه بزار ممنون میشم

MAHDIACTION
پنج شنبه 25 شهریور 1389, 12:25 عصر
اگه میتونی یه نمونه بزار ممنون میشم
سلام دوست من


Imports System.Data.SqlClient
'Author By MahdiAction
Public Class frmShow
Dim objsqlCon As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=" & Application.StartupPath & "\Database1.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
Private Sub frmShow_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
Dim objDataTable As New DataTable
Dim objdataAdatper As New SqlDataAdapter()
Dim intCount As Integer
'
objdataAdatper.SelectCommand = New SqlCommand
objdataAdatper.SelectCommand.CommandType = CommandType.Text
objdataAdatper.SelectCommand.Connection = objsqlCon
objdataAdatper.SelectCommand.CommandText = "select * from table1"
objsqlCon.Open()
objdataAdatper.SelectCommand.ExecuteNonQuery()
objdataAdatper.Fill(objDataTable)
intCount = objDataTable.Rows.Count 'Record Count in Your Table
objsqlCon.Close()
Dim NumRand As New Random
Dim intResult As Integer
intResult = NumRand.Next(1, intCount) 'Random From 1 to Records Count
objDataTable = New DataTable
objdataAdatper.SelectCommand = New SqlCommand
objdataAdatper.SelectCommand.CommandType = CommandType.Text
objdataAdatper.SelectCommand.Connection = objsqlCon
objdataAdatper.SelectCommand.CommandText = "select * from table1 where Tauto=" & intResult
objsqlCon.Open()
objdataAdatper.SelectCommand.ExecuteNonQuery()
objdataAdatper.Fill(objDataTable)
Label1.Text = objDataTable.Rows(0).Item(0).ToString 'Show Your Text IN Table
objsqlCon.Close()

Catch ex As Exception
MsgBox(ex)
End Try
End Sub

ديتابيس داخل ضميمه هست

nima898
جمعه 26 شهریور 1389, 20:46 عصر
یک فانکشن برای این کار نوشتم شما از عدد 65 تا 90 رو بهش بده بعد هم تعداد حروف خودش برات میسازه :


Private Function MakeRndName(ByVal NStrStart As Integer, ByVal NStrFinish As Integer, Optional ByVal Count As Integer = 0) As String
Dim St As String
Dim Rand As New System.Random

If Count = 0 Then Count = CStr(Int(Rnd() * 255))

For IStr As Integer = 1 To Count
St &= Chr(Rand.Next(NStrStart, NStrFinish))
Next

Return St

End Function

این جوری استفاده کن :

MsgBox(MakeRndName(65, 90, 15))

کدی که شما نوشتید متن تصادفی ایجاد میکنه منظور mohsen gh این بود که از یک لیست به طور رندوم انتخاب کنه