Solved

How to replace LENB Function in VB .net

Posted on 2004-08-24
8
4,395 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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
This is used to tweak the memory usage for your computer, it is used for servers more so than workstations but just be careful editing registry settings as it may cause irreversible results. I hold no responsibility for anything you do to the regist…

920 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

14 Experts available now in Live!

Get 1:1 Help Now