[Notes2-team] =?iso-8859-1?Q?Re:_=5BNotes2-team=5D_Re:_=5BNotes2-team=5D_Uma_=FAltima?= =?iso-8859-
Brought to you by:
andersonrb
From: Daniel R. <dan...@ya...> - 2003-12-04 17:50:55
|
Infelizmente anderson n=E3o tamos falando de 30 K... tamos falando de = uma DLL que j=E1 t=E1 com 166 Kb Sem Todo o c=F3digo implementado, e que = colocando o Clipbrd no uses pula pra 406Kb... mais que o dobro s=F3 por = causa dessa unit...=20 N=E3o me conformo de n=E3o conseguir uma solu=E7=E3o simples via API... = :( []=B4s Daniel Roma #Equipe do Notes - Desenvolvimento ----- Original Message -----=20 From: Anderson R. Barbieri=20 To: not...@li...=20 Sent: Wednesday, December 03, 2003 3:51 PM Subject: Re: [Notes2-team] Re: [Notes2-team] Uma =FAltima id=E9ia, = status, entrevista 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 = ele usa clipboard.open, etc... :) Precisamos de uma que use s=F3 APIs do Windows...=20 Thanks anyway! []=B4s Daniel ----- Original Message -----=20 From: Anderson R. Barbieri=20 To: not...@li...=20 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...=20 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 ---Verifica=E7=E3o de V=EDrus executada:Nenhum v=EDrus = encontrado!Sudeste Seguran=E7a e Transporte de ValoresDepartamento de = Tecnologia e Informa=E7=F5esChecked by AVG anti-virus system = (http://www.grisoft.com).Version: 6.0.547 / Virus Database: 340 - = Release Date: 2/12/2003 |