Solved

How to replace LENB Function in VB .net

Posted on 2004-08-24
8
4,344 Views
Last Modified: 2009-09-22
I have an VB6 program tha uses the function LENB
According to the Error Code I get from the VB.net enviroment
"The AscB, ChrB, InstrB, LeftB, LenB, MidB, and RightB functions in Visual Basic 6.0 were string-handling functions that returned their results in bytes. They were used primarily for converting strings for use by double-byte character set languages.
In Visual Basic .NET, encoding and decoding functions in the System.Text namespace replace this functionality. For more information, see Globalizing and Localizing Applications."
If I go to Globalizing and localizing applications
I have read  a lot of information and have not found out how to solve this particular Issue
The code in question is

ReDim arrData(LenB(blnData) - 1)

I'm very new at Vb.net and my training did not include a lot of information in upgrading  VB6 Apps


0
Comment
Question by:TOPIO
  • 4
  • 2
  • 2
8 Comments
 
LVL 18

Expert Comment

by:DotNetLover_Baan
ID: 11886273
Dim Len As Int32
Len = MyString.Length()

-Baan
0
 
LVL 3

Expert Comment

by:imu79
ID: 11886457
Length gives you the number of characters just like the Len( ) function and not the bytes.

You might want to try this:

Dim bLen as Integer

'per documentation, Marshal.SizeOf( ) returns the unmanaged size of an object in bytes.
bLen = System.InteropServices.Marshal.SizeOf(bInData)
ReDim arrData(bLen - 1)


hope this helps..
Imran.
0
 
LVL 10

Author Comment

by:TOPIO
ID: 11886542
Dotnetlover: as Imu mentioned Length gives you the number of characters

as far as your code imu79 I get the error
C:\My Documents\Visual Studio Projects\csocket\FTP_Client.NET\CSocket.vb(200):
'InteropServices' is not a member of 'System'.
0
 
LVL 18

Expert Comment

by:DotNetLover_Baan
ID: 11886547
Sorry about my post... I didn't read the question properly. you want the byte length.... mine will give you number of characters. you can ignore my post..
-Baan
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 10

Author Comment

by:TOPIO
ID: 11886552
I also tried
ReDim arrData(System.InteropServices.Marshal.SizeOf(bytData) - 1)
and I get the same error
0
 
LVL 3

Accepted Solution

by:
imu79 earned 500 total points
ID: 11886593
ooops sorry..its  System.Runtime.InteropServices.Marshal.SizeOf( )

or just include this line:

Imports System.Runtime.InteropServices

at the top of your code..

hope this helps..
Imran.
0
 
LVL 18

Expert Comment

by:DotNetLover_Baan
ID: 11886661
wait.. I got it...  LenB  is Len() in vb.net

-Baan
0
 
LVL 18

Expert Comment

by:DotNetLover_Baan
ID: 11886669
ohhh... I am late..  n e way... this link will be useful to you... :))
http://www.netcoole.com/asp2aspx/vbhtml/vbfuncs.htm

-Baan
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now