重金转换C语言 (请c程序转换成Delphi)(200分)

  • 主题发起人 主题发起人 fsmchinese
  • 开始时间 开始时间
F

fsmchinese

Unregistered / Unconfirmed
GUEST, unregistred user!
请把下列c程序转换成Delphi
/*
Omr Operating Function FOR TURBO C 2.0
Copyright (c) 1994 Shando
ng University OME Inc. All rights reserved.
Use:
include "omrtc.c"
*/
#include <dos.h>
/************************************************************************/
/* */
/* FUNCTION: char * Omr (char *cmd) */
/* INPUT: char * cmd ---- command string to OMR */
/*  OUTPUT: return char * ---- return information from OMR */
/* */
/************************************************************************/
char * Omr (char *cmd);
char * Omr (char *cmd)
{
char * temp;
char far * buffer, far * tb;
int i;
buffer = MK_FP (peek (0, 0x7c * 4 + 2), peek (0, 0x7c * 4));
tb = buffer;
temp = cmd;
i = 0;
do
{
*tb++ = *temp;
i++;
} while (( *temp++ != 0) &amp;&amp;
(i < 254));
geninterrupt (0x7d);
tb = buffer;
temp = cmd;
i = 0;
do
{
*temp++ = *tb;
i++;
} while (( *tb++ != 0) &amp;&amp;
(i < 254));
}

 
dos的?难
 
peek?
interrupt?
It's hard.
Always follow Pipi. :-))
 
easy in Delphi 1
 
即使用delphi 1转了后恐怕也不能在95下用,nt就更没戏了
 
那请问
MK_FP
peek
geninterrupt
这三个函数是否有对应的Delphi函数?
Delphi 1编译的Dll文件能否在Winnt下调用?
 
把C语言的程序编译成Delphi的程序有些不太现实,因为TC2.0与Delphi的开发环境完全是两码事,所以TC写出来的东东最好不要用在Windows下。
 
即使转化成功,也只能在Win3.X下运行,在Win9X,Winnt下都不能运行。你的这些
指令都是操作系统保留使用的,除非使用VxD or WDM方法了!!!
 
那用VxD 或 WDM 又该怎样做呢?
其实这是一个读卡机(考试用的那种)驱动程序,请问各位用什么好办法
能在Win9x/NT下使用。或谁有该机的驱动程序。
机型是:S30+型半自动光学标记阅读机
 
用VxD,WDM就不是一两句话就说的清的。我只能编非常简单的VxD.
VxD可以使用Win98SDK,VxdWriter,VToolsD,VC++等工具,Delphi好象不行,但可调用
可以到电子科技大学FTP下载。
VxD源程序: www.sysinternals.com
BBS:华中理工大学BBS上有高手
WDM在电子科技大学FTP上有本CHM的书籍:
我已经下栽:其readme
"Programming the Microsoft Windows Driver Model"
Copyright(c) 1999 by Walter Oney,
index.txt this file
WaltOney.CHM Win98格式的帮助文件
WaltCD.ZIP 配套磁盘内容
cover.jpg 封面
wdm/ admin may delete this folder
这些都是好资料哇!!!
 
沈前卫:
那些书在哪个地址?
 
Pipi.
ftp.cs.uestc.edu.cn/incoming目录下的book文件夹,具体路径记不请,现在
有上不去。最好快点下载,因为FTP服务器空间不够,可能会被删除!
 
书店就有关于wdm的书电子工业出版社的.
 
我知道你想做什么,看程序你是想搞读卡机的东东了,
我解决方法发给你吧,我以前搞过。
 
问题解决了
 
后退
顶部