Solved

Urgent Help on VB6 chr$() to C#

Posted on 2004-10-15
7
2,384 Views
Last Modified: 2012-06-21
Dear all,

I'm using VB6 need to convert to C# for printing. In VB6 I will send some printer command into the printer as below:-

Printer.Print "TESTING LINE 1"
Printer.Print "TESTING LINE 2"
Printer.Print Chr$(&H1C); "(L"; Chr$(66); Chr$(49);
Printer.Print Chr$(&H1D); "V"; Chr$(49);
Printer.Print Chr$(&H1C); "(L"; Chr$(67); Chr$(50);

In C# I'm writing a text file and open LPT1 to print some lines, the problem is how to convert those VB6 codes into C# ?

I've try using some sample code as below :-

writer.WriteLine ("TESTING LINE 1" + ((char) 13));
writer.WriteLine ("TESTING LINE 2" + ((char) 13));
writer.WriteLine( ((char)&H1C) + "(L" + ((char)66) +  ((char)49));
writer.WriteLine( ((char)&H1D) + "V" + ((char)49));
writer.WriteLine( ((char)&H1C) + "(L" + ((char)66) +  ((char)49));


But there are errors on '&H1C', '&H1D' on the above codes.

If I use VB6 to print it will print the "(L" character out when I'm using VB6 to print. How to resolve this as well ?

Please provide solutions and examples.


Thanks in advance


Cheers,
yymae
0
Comment
Question by:yymae
7 Comments
 
LVL 4

Expert Comment

by:Tasneem
ID: 12317409
Casting does not work in all cases as C# uses Unicode! You need to be aware of this when using strings that were created in VB. Fortunately, MS included Microsoft.VisualBasic.Strings, which has the Chr() and Asc() function calls.
Something like
If e.KeyChar = Microsoft.VisualBasic.ChrW(13) Then
            e.Handled = False
            MsgBox("You pressed Enter.")
            Exit Sub
        End If

OR
Chr System.Char.GetNumericValue(char)
Asc System.Char.Parse(String)
 
 
0
 
LVL 10

Expert Comment

by:smegghead
ID: 12318606
Hello,

I wouldn't use the VisualBasic namespace, when C# can deal with this in it's own way.

Use

      Console.WriteLine("Hello\x41There");

This will produce the results

HelloAThere

Becuase hex 41='A'

\x is the escape sequence for hex

Smg.
0
 
LVL 14

Expert Comment

by:AvonWyss
ID: 12321774
&H1C is a hex constant in basic. 0x1C would be the same hex constant in C#. Just replace &H with 0x.
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 96

Expert Comment

by:Bob Learned
ID: 12339486
writer.WriteLine("TESTING LINE 1");
writer.WriteLine("TESTING LINE 2");
writer.WriteLine(Chr(28) + "(L" + Chr(66) + Chr(49));
writer.WriteLine(Chr(29) + "V" + Chr(49));
writer.WriteLine(Chr(28) + "(L" + Chr(67) + Chr(50));

Bob
0
 
LVL 10

Accepted Solution

by:
smegghead earned 100 total points
ID: 12339591
Or.. (without using the VB compatibility)

writer.WriteLine ("TESTING LINE 1\x0d");
writer.WriteLine ("TESTING LINE 2\x0d");
writer.WriteLine("\x1c(L\x42\x31");
writer.WriteLine("\x1dV\x31");
writer.WriteLine("\x1c(L\x42\x31");
0
 
LVL 10

Expert Comment

by:smegghead
ID: 12419558
Thanks for accepting my answer, but why just a grade 'C' ?? was the answer missing something ?

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

Title # Comments Views Activity
creating a flowchart from an algorithm 5 30
Calling stored proc in EDMX 11 23
Error in script 11 45
How useful is the free version of Selenium? 3 8
Summary: Persistence is the capability of an application to store the state of objects and recover it when necessary. This article compares the two common types of serialization in aspects of data access, readability, and runtime cost. A ready-to…
Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

910 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

20 Experts available now in Live!

Get 1:1 Help Now