Solved

Urgent Help on VB6 chr$() to C#

Posted on 2004-10-15
7
2,423 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

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

We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
This video Micro Tutorial shows how to password-protect PDF files with free software. Many software products can do this, such as Adobe Acrobat (but not Adobe Reader), Nuance PaperPort, and Nuance Power PDF, but they are not free products. This vide…
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …

734 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