Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Urgent Help on VB6 chr$() to C#

Posted on 2004-10-15
7
Medium Priority
?
2,460 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
6 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
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

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

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an anti-spam), the admin…
Is your data getting by on basic protection measures? In today’s climate of debilitating malware and ransomware—like WannaCry—that may not be enough. You need to establish more than basics, like a recovery plan that protects both data and endpoints.…

824 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