Re: [Notes2-team] Re: [Notes2-team] Uma =?ISO-8859-1?Q?=FAltima_?= =?ISO-8859-1?Q?id=E9ia=2C_status
Brought to you by:
andersonrb
|
From: Anderson R. B. <no...@ig...> - 2003-12-03 17:43:37
|
Putz! Naum vi direito, desculpa ae...
Daniel, vamos usar a porcaria da unit clipboard...
eu e tu naum conseguimos achar o bug e nos newgroups
naum tem nehuma informa=E7=E3o de como usar a clipboard
diretamente por API. Deve ser poss=EDvel, claro, mas n=E3o
vamos morrer por 30 kbs, eu acho...
Ab.
Anderson
Daniel Roma wrote:
> Valeu Anderson! Funciona Direitinho!
> A intens=E3o foi boa, mas precisa da unit clipbrd nesse c=F3digo, pq el=
e=20
> usa clipboard.open, etc... :)
> Precisamos de uma que use s=F3 APIs do Windows...
> =20
> Thanks anyway!
> =20
> =20
> []=B4s
> =20
> Daniel
>
> ----- Original Message -----
> *From:* Anderson R. Barbieri <mailto:no...@ig...>
> *To:* not...@li...
> <mailto:not...@li...>
> *Sent:* Wednesday, December 03, 2003 1:14 AM
> *Subject:* [Notes2-team] Re: [Notes2-team] Re: [Notes2-team] Re:
> [Notes2-team] Uma =FAltima id=E9ia, status, entrevista
>
> Daniel,
> n=E3o consegui achar o bug. N=E3o parece ter erro nehum...
>
> Dae fui at=E9 os newgroups da Borland (usando o maravilhoso google)
> e consegui achar c=F3digo pra fazer o que tu precisa fazer (depois
> de mais
> de 50 minutos de pesquisa, mas ao menos achei):
>
> Naum testei, mas =E9 de um membro do TeamB, ent=E3o vai funcionar =
:)
> Anderson
>
>{+------------------------------------------------------------
> | Unit ClipUtil
> |
> | Version: 1.0 Created: 05/05/96, 12:56:57
> | Last Modified: 05/05/96, 12:56:57
> | Author : P. Below
> | Project: Common Utilities
> | Description:
> | Routines to copy string lists and stream to and
> | from the clipboard.
> +------------------------------------------------------------}
>Unit ClipUtil;
>Interface
>
>Uses Classes;
>
> Procedure CopyStringsToClipboard( fmt: Cardinal; S: TStrings );
> Procedure CopyStreamToClipboard( fmt: Cardinal; S: TStream );
> Procedure CopyStringsFromClipboard( fmt: Cardinal; S: TStrings );
> Procedure CopyStreamFromClipboard( fmt: Cardinal; S: TStream );
>
>Implementation
>
>Uses WinTypes, WinProcs, SysUtils, Clipbrd;
>
>Procedure CopyStringsToClipboard( fmt: Cardinal; S: TStrings );
> Var
> MemStr: TMemoryStream;
> Begin
> MemStr :=3D TMemoryStream.Create;
> try
> S.SaveToStream(MemStr);
> CopyStreamToClipboard( fmt, MemStr );
> finally
> MemStr.Free;
> end;
> End; { CopyStringsToClipboard }
>
>Procedure CopyStreamToClipboard( fmt: Cardinal; S: TStream );
> Var
> hMem: THandle;
> pMem: Pointer;
> Begin
> S.Position :=3D 0;
> hMem :=3D GlobalAlloc( GHND or GMEM_DDESHARE, S.Size );
> If hMem <> 0 Then Begin
> pMem :=3D GlobalLock( hMem );
> If pMem <> Nil Then Begin
> try
> S.Read( pMem^, S.Size );
> S.Position :=3D 0;
> finally
> GlobalUnlock( hMem );
> end;
> Clipboard.Open;
> try
> Clipboard.SetAsHandle( fmt, hMem );
> finally
> Clipboard.Close;
> end;
> End { If }
> Else Begin
> GlobalFree( hMem );
> OutOfMemoryError;
> End;
> End { If }
> Else
> OutOfMemoryError;
> End; { CopyStreamToClipboard }
>
>Procedure CopyStringsFromClipboard( fmt: Cardinal; S: TStrings );
> Var
> MemStr: TMemoryStream;
> Begin
> MemStr:=3D TMemoryStream.Create;
> try
> CopyStreamFromClipboard( fmt, MemStr );
> MemStr.Position :=3D 0;
> S.LoadFromStream( MemStr );
> finally
> MemStr.Free;
> end;
> End; { CopyStringsFromClipboard }
>
>Procedure CopyStreamFromClipboard( fmt: Cardinal; S: TStream );
> Var
> hMem: THandle;
> pMem: Pointer;
> Begin
> hMem :=3D Clipboard.GetAsHandle( fmt );
> If hMem <> 0 Then Begin
> pMem :=3D GlobalLock( hMem );
> If pMem <> Nil Then Begin
> try
> S.Write( pMem^, GlobalSize( hMem ));
> S.Position :=3D 0;
> finally =20
> GlobalUnlock( hMem );
> end; =20
> End { If }
> Else
> raise Exception.Create(
> 'CopyStreamFromClipboard: could not lock global handle '+
> 'obtained from clipboard!');
> End; { If }
> End; { CopyStreamFromClipboard }
>
>End. { Unit ClipUtil }
>
>---
>Verifica=E7=E3o de V=EDrus executada:
>Nenhum v=EDrus encontrado!
>Sudeste Seguran=E7a e Transporte de Valores
>Departamento de Tecnologia e Informa=E7=F5es
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.545 / Virus Database: 339 - Release Date: 27/11/2003
>
--=20
Anderson Rodrigues Barbieri
--------------------------------------------
#Equipe do Notes - Coordenador/Desenvolvedor
{ TAndInfo }
ICQ #149391850 / no...@ig...
Notes - http://notes.codigolivre.org.br
NotesDev - http://notes2.sf.net/dev
F=F3rum - http://notes2.sf.net/forum
|