请问谁可将 C++ 中的 Getch() 函数改成Delphi 5.x 可用方式[SOS](50分)

  • 主题发起人 主题发起人 hjandy
  • 开始时间 开始时间
H

hjandy

Unregistered / Unconfirmed
GUEST, unregistred user!
请问谁可将 C++ 中的 Getch() 函数改成Delphi 5.x 可用方式[SOS]
 
Getch()是不回显取字符吧,在DELPHI中你只需在OnKeyPress中把Char设为#0就行了。
 
可能跟你想的不一样,因我急需要将一个 C++ 程式改成 Delphi 5.x 内容主要部份如下
此系收费顾客显示屏的主要部份用于收费和找零,谁我可帮个忙改写一下?
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <dos.h>
#include <bios.h>
void init_port(code)
unsigned char code;
{
union REGS r;

r.x.dx = 0;
/* com1 */
r.h.ah = 0;
r.h.al = code;
int86(0x14,&amp;r,&amp;r);
}
void send_port(c)
char c;
{
union REGS r;
r.x.dx = 0;
/* com1 */
r.h.al = c;
r.h.ah = 1;
int86(0x14,&amp;r,&amp;r);
if (r.h.ah &amp;
128) {
printf("send error !/n");
exit(-1);
}
}
void cleardisplay()
{
send_port(12);
}
void cursorhome()
{
send_port(27);
send_port(91);
send_port(72);
}
void writestring(cc)
char *cc;
{
int i,len;
len=strlen(cc);
send_port(27);
send_port(81);
send_port(65);
for (i=0;i<=len;i++) {
send_port(toascii(cc));
}
send_port(13);
}
/***************/
void main()
{
int i;
init_port(251);
/*255 ff 251 f */
printf(" clear screen! press any key/n");
getch();
cleardisplay();
cursorhome();
printf("display '1.23456789013',press any key/n");
getch();
writestring("1.23456789013");
printf("display 'ABCDEFGHIJKLN',press any key/n");
getch();
writestring("ABCDEFGHIJKLN");
/* string */
printf("display 'QPQRSTUVWXYZ.+',press any key/n");
getch();
writestring("OPQRSTUVWXYZ.+");
/* string */
printf("display '-=QRSTUVWXYZ.+',press any key/n");
getch();
writestring("-=QRSTUVWZXYZ.+");
/* string */;
}
 
你那是DOS底下的程序吧?用DELPHI5你打算做成GUI界面的还是DOS底下的?
 
你好! 我想在 Window98 下执行.不想是在do
S 模式底下.
 
唔好意思打错字,改错!
你好! 我想在 Window98 下执行.不是在do
S 模式底下.
 
你的那个C程序应该是在DOS下的程序吧?在Windows底下如果要想截取按键信息就只有拦截
WM_CHAR消息了。
 
你好! 能否详细说明一下在 Delphi 5.x 中怎样使用. 举个例子如何 ? 多谢 !!
 
唔好意思,我已想到解决办法了。多谢各位关注!
 
多人接受答案了。
 
后退
顶部