将某些剪贴板文本粘贴到 CBB 10 中的 TEdit

Paste Certain Clipboard Text into TEdit in CBB 10

我希望当用户单击按钮时,只有 Clipboard 上包含 URL(以 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();
  }
}

ContainsText() returns a 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();
        }
    }
}

顺便说一句,http:// 并不是唯一被广泛使用的 URL 方案。至少,还要考虑寻找 https://