Delphi 自动读取txt文档并将符合要求的内容复制到剪切版

我想做一个我游戏的答题机(游戏自动给出题目,本来需要手动答题),题目记录在一个txt文档中。题目是这个格式(记录在txt文档之后)[16:32:04]--->抢答[9积分... 我想做一个我游戏的答题机(游戏自动给出题目,本来需要手动答题), 题目记录在一个txt文档中。
题目是这个格式(记录在txt文档之后)[16:32:04] ---> 抢答 [9 积分]: {33CCFF}输入字符串 {33FF33}" i7uoPnsfW5 " {FFFF00}(没有双引号)
本来需要手动输入i7uoPnsfW5 ,现在我想用delphi做一个答题机,经过查阅,发现由于是3D全屏游戏,不能用sendmessage之类的输入不好解决,于是决定使用CopyToClipboard;将自动得到的答案复制到剪切版,然后自动声音提示,我可以按ctrl+V复制进对话框(复制可以的)(实用为主==)。

先看一下我目前的代码
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
f: TextFile;
s: string;
ts: string;
GameH: HWND;

implementation

{$R *.dfm}

Procedure Find;
begin
AssignFile(f, 'D:\360data\重要数据\我的文档\GTA San Andreas User Files\SAMP\chatlog.txt');
Reset(f);
try
while not eof(f) do
begin
readln(f, s);
ts := Copy(s,35,14);
if (FormatDateTime('hh.mm.ss',now-30/86400)>s)and(Pos(s, '输入字符串 {33FF33}') > 0) then
begin
ts := Copy(s, Pos(s, '输入字符串 {33FF33}')+15,10);
writeln(ts);
end;

end;
finally
Close(f);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Find;
Memo1.Text:=(ts);

Memo1.SelectAll;
memo1.CopyToClipboard;

end;

end.
游戏系统出题之后,然后如果1分钟之后无人答题(联机游戏),系统就自动pass,等待1分钟之后再次出题,如果有人答题,系统就在那个人答完题之后1分钟再出题。

请根据这个特性帮我写代码,谢谢!!!
我运行了我写的这个代码之后,发现查找的位置总是不对,怎么回事。。。求解
展开
 我来答
xtfnpgy
2014-08-22 · TA获得超过1784个赞
知道大有可为答主
回答量:1989
采纳率:76%
帮助的人:1104万
展开全部
难点在于从全屏游戏中获取问题内容吧,根据问题查找答案再复制到剪切板应当不难,直接查找文本文件就可以得到;如果只是查找的位置不对,找不到原因就更改pos,copy的位置慢慢调肯定可以调正确;
追问
我感觉查找位置已经正确了...2z5n4z6x0a4s2d8f4g6s,加我QQ吧,谢谢!说起来方便点,注明是百度和你的id(抱歉,把字母去掉,原因你懂得)
追答
已经加了,448-6-44-09-9
最爱呵呵21
2014-08-22
知道答主
回答量:4
采纳率:0%
帮助的人:2.6万
展开全部
你的代码有问题
追问
能说清楚200分就给你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式