Solved

How to replace LENB Function in VB .net

Posted on 2004-08-24
8
4,434 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
Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

 
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
 
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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

786 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