在CBB 10

时间:2015-10-13 18:00:18

标签: clipboard c++builder c++builder-10-seattle

我希望当用户点击该按钮时,只有Clipboard上的包含网址(以http://开头)的文字会自动粘贴到TEdit

我尝试过以下代码,但根本不起作用。

#include <Clipbrd.hpp>

void __fastcall TForm1::Button1Click(TObject *Sender)
{
String Text = "http://";

  if (Clipboard()->HasFormat(CF_TEXT))
  {
    Edit->Text = ContainsText(Clipboard()->AsText, Text);
    // Clipboard()->Clear();
  }
}

1 个答案:

答案 0 :(得分:1)

ContainsText()返回bool,表示是否找到了子文本。您将结果直接分配给TEdit,而不是使用它来决定是否将剪贴板文本分配给TEdit

请改为尝试:

#include <Clipbrd.hpp>
#include <StrUtils.hpp>

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    if (Clipboard()->HasFormat(CF_TEXT))
    {
        String CBText = Clipboard()->AsText;
        if (ContainsText(CBText, "http://"))
        {
            Edit->Text = CBText;
            // Clipboard()->Clear();
        }
    }
}

BTW,http://并不是唯一广泛使用的URL方案。至少,还要考虑查找https://