请问如何能从剪贴板中取得内容?(50分)

  • 主题发起人 主题发起人 retun
  • 开始时间 开始时间
R

retun

Unregistered / Unconfirmed
GUEST, unregistred user!
1。我想按CTRL+C就可以把剪贴板的内容付给 Edit1文本框
2。如何才能自动创建数据库!
请给出详细的代码和方法,谢谢!
 
1.
Edit1.Text:=Clipboard.AsText;
2.
创建数据库还是在数据库中创建表?具体有什么要求?请详细一点。
 
建立表
比如要建一个 abc.db
有字段如下:
FId 数字型 8
FName 字符型 8
FSex 字符型 2
FYN 逻辑型 1
FDate 日期型 10

 
第一题还是有问题,我要写在时钟控件中的!
第秒刷新一次EDIT1 ,请把代码写全点好吗?我还是菜鸟呀!
在学习阶段!
谢谢
 
如果用Paradox数据库,在建库时,建议你用TTable,可以先定义一个TTable类型的变量,
再对其FieldDefs进行赋值。
若用SQL Server或Oracle,你可以用SQL语句进行建库,如下:
Create table tablename (
fieldname1 fieldtype(fieldsize),
fieldname2 fieldtype(fieldsize),
fieldname3 fieldtype(fieldsize),
……
fieldnameN fieldtype(fieldsize)
)
 
如果你是为了监视剪贴版的话,
响应WM_DRAWCLIPBOARD消息,这样当剪贴版一改动,
你就会接到消息,然后用
ClipBoard.Open;
try
if ClipBoard.HasFormat(CF_TEXT) then
Edit1.Text:=ClipBoard.AsText
finally
ClipBoard.Close;
end;
就可以读入到Edit1中了。
别忘了Uses Clipbrd单元。
 
代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
Create Table abc(
FId Alpha(8),
FName Alpha(8),
FSex Alpha(2),
FYN Alpha(2));
end;

tuorx,不知我的写法是不是有问题,调试不过呀!
 
代码:
procedure TFrmThe9.Timer1Timer(Sender: TObject);
var
slFile :TStringList;
EdStr : String;
i,nLineNum: integer;
begin
  ClipBoard.Open;
  try
    if ClipBoard.HasFormat(CF_TEXT) then
      EdStr :=ClipBoard.AsText
  finally
    ClipBoard.Close;
  end;
        slFile:=TStringList.Create;
      try
       slFile.LoadFromFile('a.txt');    //打开要查找的文本文件
       nLineNum:=slFile.Count;
       for i:=0 to nLineNum-1 do
       begin
        if pos(EdStr,slFile[i])<>0 then
          Memo1.Lines.Add(slFile[i])
        else
        begin
        while not (nLineNum-1 = I) do
          continue;
          ClipBoard.Clear;
          exit;
        end;
        end;
      finally
        slFile.Free;
      end;
    end;

在这段代码中, 我只想从剪贴板中取一次字符,然后对A.TXT文件进行查找,
然后显示出来,但这个时钟是一秒取一次值!并进行查询和显示操作!请问
如何才能让其中止再次的循环,也就是清空剪贴板的内容,这样就不会再进
行查找显示,不知是否如此呢? 还是有更好的处理办法呢?
谢谢!
 
在clipboard.open之前,加上
timer1.enable:=false;
在取得clipboard的内容之后,
即edstr赋值之后
if edstr='' then
begin
timer1.enable:=true;
exit;
end;

至于timer1停了之后,我想加一个按钮吧,比如说“继续查找”这样子的,在click事件中
timer1.enable:=true;
这样也差不多了吧,:)


 
不行这样的话我又要去按按纽,
我之所以要用时钟就是不想去按按纽
所以我想只能是在查完这个文本文件后就清空
剪贴板!
 
1。我想按CTRL+C就可以把剪贴板的内容付给 Edit1文本框
查完这个文本文件后就清空剪贴板!
2。如何才能自动创建数据库!

这两题中,第一题基本上行了,但第二题还不行,难道没有
人做过这个吗?
 
虽然答案并不满意,不过Pan Ying 和 tuorx基本达到我的要求,
谢谢各位帮我的朋友,我用了一个时钟, 设了一个OLDEdStr变量,
如果不同就将现在的EdStr值付给OldEdStr , 否则的话就Exit;不
在进行显示, 这样就解决了时钟不断的刷新和查找显示的问题!



 
多人接受答案了。
 

Similar threads

后退
顶部