Конференция "FreePascal" » Функция считывания данных из буфера обмена [Win32]
 
  • s_t_d (13.02.06 19:04) [0]
    Уважаемые мастера, пожалуйста подскажите. Необходимо поместить, а затем считать переменную из буфера обмена. Перерыл имеющиеся учебники, но найти не смог. Благодарю за внимание и возможную помощь.
  • Иван Шихалев © (14.02.06 15:33) [1]
    Функциями WinAPI. Соответственно, функции в модуле Windows, а документация в MSDN.
  • z007 (20.02.06 01:01) [2]
    Строка читается так. Остальное по тому же принципу.

    procedure ReadVarFromClp;
    var s:string;
    begin
        s:=Clipboard2Text:
    end;
    {kol.pas}
    function Clipboard2Text: String;
    var gbl: THandle;
       str: PChar;
    begin
     Result := '';
     if OpenClipboard( 0 ) then
     begin
       if IsClipboardFormatAvailable( CF_TEXT ) then
       begin
         gbl := GetClipboardData( CF_TEXT );
         if gbl <> 0 then
         begin
           str := GlobalLock( gbl );
           if str <> nil then
           begin
             Result := str;
             GlobalUnlock( gbl );
           end;
         end;
       end;
       CloseClipboard;
     end;
    end;


    Можно зарегистрировать свой тип (но тогда скорее всего самому придется помещать туда значение переменной)

    var CF_OPCDATAID : integer=0;
    procedure RegisterClpFormat();
    begin
    CF_OPCDATAID:=RegisterClipboardFormat(pChar(CF_MYDATA));
    end;

 
Конференция "FreePascal" » Функция считывания данных из буфера обмена [Win32]
Есть новые Нет новых   [134430   +43][b:0][p:0.001]