PDA

View Full Version : سوال: دنبال هم قرار دادن تمامی خانه های یک Array



maminb
پنج شنبه 10 دی 1388, 14:08 عصر
چطور تمامی خانه های آرایه ی زیر رو که در حلقه ی زیر مقدار دهی میشه دنبال هم قرار بدم و در یک متغییر بریزم؟




Dim A(TextBox1.TextLength) As Integer
For i = 1 To TextBox1.TextLength
A(i - 1) = Asc(Mid(TextBox1.Text, i, 1))
Next

Computer.Programmer
پنج شنبه 10 دی 1388, 15:29 عصر
دوست عزیز من نمونه کدی قرار می دم که در این کد نام فرم به صورت آرایه ای از کاراکترها درون متغیری ذخیره میشه و سپس تمام اون متغیر ها کنار هم قرار می گیره. امیدوارم منظورت همین باشه.





Dim chrArr As Char() = Me.Text.ToCharArray()
Dim strText As String = chrArr
MsgBox(strText)



چون هر رشته درحقیقت همان آرایه ای از کاراکتر هاست پس با برابر قرار دادن متغیری از نوع رشته ای با آرایه ای از کاراکترها میشه اطلاعات اون آرایه رو کنار هم چید و نمایش داد.

امیدوارم منظورت همین باشه. اگه سوالی بود در خدمتم.

موفق باشی

maminb
پنج شنبه 10 دی 1388, 16:05 عصر
بله. اینم یه جوابه برام.

اما حالا چطوری کد اسکی این خونه هارو دنبال هم بذارم؟

یعنی چجوری نام فرمم اینطوری شه:



Asc(strText(0)) + Asc(strText(1)) + ....
یعنی هر چند تا کاراکتر که بود، کد اسکیشون رو پشت سر هم قرار بده. سوال من اینه.

Computer.Programmer
پنج شنبه 10 دی 1388, 16:30 عصر
Dim chrArr(Me.Text.Length - 1) As Byte
For i = 0 To Me.Text.Length - 1
chrArr(i) = Asc(Me.Text.Chars(i))
Next
Dim strResult As String = ""
For Each c In chrArr
strResult &= Chr(c)
Next
MsgBox(strResult)




موفق باشی

maminb
پنج شنبه 10 دی 1388, 16:57 عصر
Dim chrArr(Me.Text.Length - 1) AsByte
For i = 0 ToMe.Text.Length - 1
chrArr(i) = Asc(Me.Text.Chars(i))
Next
Dim strResult AsString = ""
ForEach c In chrArr
strResult &= Chr(c)
Next
MsgBox(strResult)


موفق باشی


داداش این کدی که دادی هم که فقط Form1 رو برمیگردونه! من میخوام کد اسکی همه ی کاراکتر ها رو برگردونه. مثلا که اینجا یعنی 7011111410949

میشه کدش رو بذاری؟!!:افسرده:

Computer.Programmer
پنج شنبه 10 دی 1388, 17:13 عصر
داداش این کدی که دادی هم که فقط Form1 رو برمیگردونه! من میخوام کد اسکی همه ی کاراکتر ها رو برگردونه. مثلا که اینجا یعنی 7011111410949

میشه کدش رو بذاری؟!!:افسرده:


خیلی ساده فقط کد بالا رو باید کمی تغییر بدی و به این صورت درش بیاری




Dim chrArr(Me.Text.Length - 1) As Byte
For i = 0 To Me.Text.Length - 1
chrArr(i) = Asc(Me.Text.Chars(i))
Next
Dim strResult As String = ""
For Each c In chrArr
strResult &= c.ToString
Next
MsgBox(strResult)




موفق باشی

naserrezaee
پنج شنبه 10 دی 1388, 17:57 عصر
دوست من اگر درست منظورتون رو متوجه شده باشم قطعه كد خودتون به اضافه يك خط برنامه همون كار رو انجام ميده.


Dim A(TextBox1.TextLength) AsInteger
For i = 1 To TextBox1.TextLength
A(i - 1) = Asc(Mid(TextBox1.Text, i, 1))
TextBox2.Text = TextBox2.Text & A(i - 1).ToString
Next

البته اين كد رو ميتوني بدون ارايه هم بنويسي يعني بصورت زير:



For i = 1 To TextBox1.TextLength
TextBox2.Text = TextBox2.Text & Asc(Mid(TextBox1.Text, i, 1)).ToString
Next

موفق باشي