View Full Version : سوال: ایراد این دستور چیه؟ دستور تبدیل به byte
baran_mehr
یک شنبه 16 خرداد 1389, 21:40 عصر
مشکل این دستور چیه؟
Dim b() As Byte =new CByte(st.Length)
Hossis
یک شنبه 16 خرداد 1389, 22:23 عصر
اولا که نوع Byte عددي هست و نمي تونه آرايه باشه
ثانيا: Byte از 0 تا 255 قبول مي کند و ممکن است سر ريز شود يعني Dt.lentgh بيش از 255 باشد.
بايد اين طور بنويسيد
dim b as Byte
if st.length<256 then
b=st.length
end if
Hossis
یک شنبه 16 خرداد 1389, 22:24 عصر
شايد هم اشکال از اين باشه که CByte روالي به نام New ندارد.
jahanmanesh
یک شنبه 16 خرداد 1389, 22:53 عصر
سلام
اولا new رو باید حذف کنی دوما همونطوری که گفتن cbyte مقداری یکتایی به ما میده و نمیتونه به آرایه تبدیل شه
baran_mehr
دوشنبه 17 خرداد 1389, 00:09 صبح
دوستان این یه کد سی شارپ هست که به ویبی میخوام تبدیلش کنم .
byte [] b=new byte[st.lenght]
sari-1369
دوشنبه 17 خرداد 1389, 00:12 صبح
دوستان این یه کد سی شارپ هست که به ویبی میخوام تبدیلش کنم .
byte [] b=new byte[st.lenght]
Dim b(st.lenght - 1) As Byte
Dim b(st.lenght - 1) As Byte
salehbagheri
دوشنبه 17 خرداد 1389, 00:25 صبح
Dim b(st.lenght - 1) As Byte
فكر نميكنم اين روش درست باشه.
به اين صورت عمل كنيد:
Dim B As Byte() = CType(St.Lenght, Byte())
sari-1369
دوشنبه 17 خرداد 1389, 00:43 صبح
این دوتا کد که شما با هم مقایسه کردی 2 تا کار مختلف رو انجام میدن .
کدی که من گزاشتم یه آرایه از نوع byte به طول st تعریف میکنه . اما کد شما طول St که یک عدد هستش رو توی حافظه b قرار میده .
اگر به کد C# اون دوستمون دقت کنید ، متوجه میشید که مقصودشون گزینه اول بود .
موفق باشید
salehbagheri
دوشنبه 17 خرداد 1389, 14:22 عصر
این دوتا کد که شما با هم مقایسه کردی 2 تا کار مختلف رو انجام میدن .
کدی که من گزاشتم یه آرایه از نوع byte به طول st تعریف میکنه . اما کد شما طول St که یک عدد هستش رو توی حافظه b قرار میده .
بله، بنده در اين مورد اشتباه كردم.
چون براي خواندن تصاوير از ديتابيس، از اين روش استفاده ميكردم به اشتباه فكر كردم در اين مورد هم جواب گو هست.
با تشكر
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.