Re: [delphi-br] Ultimos lançamentos

2008-12-30 Por tôpico Paulo Coutinho
To SqlServer tem o TOP.

acho que é assim, mas Não tenho certeza: *SELECT TOP 100 * FROM tabela*

abs.

2008/12/29 Alisson Yahoo alss...@yahoo.com.br

 Nao sei a sintaxe no SQL server, mas no Firebird voce pode selecionar os
 100
 primeiros da seguinte forma:

 SELECT first 100 Campo1, Campo2, Campo3... FROM Tabela

 Voce pode também fazer a consulta e jogar os 100 primeiros registros para
 um
 clientdataset

 __
 Faça ligações para outros computadores com o novo Yahoo! Messenger
 http://br.beta.messenger.yahoo.com/

 

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 






-- 
Atenciosamente,
Paulo Coutinho.
Site: www.prsolucoes.com
Msn:  pa...@prsolucoes.com
Skype: paulo.prsolucoes


[As partes desta mensagem que não continham texto foram removidas]



Re: RES: [delphi-br] Dúvida com TStringList

2008-12-30 Por tôpico Moacir - GMail

Acredito que IndexOf seja mais adequado !!

Sucesso e Um Ano Novo de muita Paz e Prosperidade a Todos !!

Moacir


Juliano Silva - Yahoo escreveu:
  

 Outra alternativa, é antes de adicionar o texto no StringList você pode
 verificar se a função POS retornar maior que zero, caso sim é porque o texto
 já existe no StringList, então você não adiciona, o StringList tem a
 propriedade Text, então você faz o seguinte, 

  

 IF  Pos(Edit1.Text, StringList.text)  0 THEN

 Begin

   ShowMessage(Existe...)

 End;

  

  

  

 De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
 nome de Guionardo Furlan
 Enviada em: sábado, 27 de dezembro de 2008 11:15
 Para: delphi-br@yahoogrupos.com.br
 Assunto: Re: [delphi-br] Dúvida com TStringList

  

 Usar a propriedade Duplicates do TStringList não resolve teu problema?

 2008/12/15 deco0_07 andre.alme...@medicator.com.br
 mailto:andre.almeida%40medicator.com.br :
   
 Tem como eu descobrir o indice de um determinada linha do StringList?

 ex...

 tenho um edit com as linha que nao quero copiar
 usar um for pra percorrer todas as linhas e num if verificar se a linha
 que esta no stringlist é igual a que esta no edit

 o problema é que nao consigo pegar o indice dessa linha...
 ja usei indexof, mas se tenho linhas com valores repetidos ele ignora
 tbm...

 vlww's


 

   


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Re: Problema com Objetos da classe TInterfacedObject + uma interface

2008-12-30 Por tôpico Joao Morais
2008/12/30 Thales Eduardo Barros de Oliveira tebosoftw...@gmail.com:
 Pelo que entendi João, todas as classes, eu deveria mudar para esta que
 sugere e quando fosse apontado a uma variavel, ou adicionado a uma
 lista, deferia executar a função addRef, e quando não mais fosse usar,
 deveria executar o FreeInstance?

Executar .Free, normalmente, como se não houvesse contagem de
referência. Somente quando a contagem cair para zero é que o
FreeInstance libera a instância.

 um pouco diferente, mas muito interessante.

Diferente porque é uma solução que não existe no mundo Object Pascal =
misturar objetos e interfaces. Faltou acrescentar que, para
implementar alguma interface, basta implementar os seguintes métodos
na área protected:

function TIntfObj.QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
begin
  if GetInterface(IID, Obj) then
Result := 0
  else
Result := HResult($80004002);  // E_NOINTERFACE
end;

function TIntfObj._AddRef: Integer; stdcall;
begin
  Result := AddRef;
end;

function TIntfObj._Release: Integer; stdcall;
begin
  Result := Release;
  if Result = 0 then
try
  Finit;
finally
  inherited FreeInstance;
end;
end;

E ainda distinguir entre classes que criam a instância para um
ponteiro de objeto, e que criam a instância para um ponteiro de
interface. Para o primeiro caso, RefCount deve começar em um, e para o
segundo, deve começar em zero.

Tenho as duas classes implementadas, respectivamente
TPressManagedObject e TPressManagedIObject:

http://pressobjects.svn.sourceforge.net/viewvc/pressobjects/trunk/Source/Core/PressClasses.pas?revision=1034view=markup

 obrigado pela dica

Disponha.

--
Joao Morais


Re: [delphi-br] Re: Problema com Objetos da classe TInterfacedObject + uma interface

2008-12-30 Por tôpico Thales (Shubacca) - Tebo Software
Em Relação ao componente que comenta, o Press, não consegui instalar ele
nao, pois os pacotes estão ausentes. Tentei criá-los usando a idéia de
separação de packages desginer e runtime e somente o runtime roda, ainda
porque eu removo algumas units sobre oracle etc.

teria como me passar o esquema de instalação, pois no site não em.

grato

2008/12/30 Joao Morais jcmorai...@gmail.com

   2008/12/30 Thales Eduardo Barros de Oliveira 
 tebosoftw...@gmail.comtebosoftware%40gmail.com
 :
  Pelo que entendi João, todas as classes, eu deveria mudar para esta que
  sugere e quando fosse apontado a uma variavel, ou adicionado a uma
  lista, deferia executar a função addRef, e quando não mais fosse usar,
  deveria executar o FreeInstance?

 Executar .Free, normalmente, como se não houvesse contagem de
 referência. Somente quando a contagem cair para zero é que o
 FreeInstance libera a instância.

  um pouco diferente, mas muito interessante.

 Diferente porque é uma solução que não existe no mundo Object Pascal =
 misturar objetos e interfaces. Faltou acrescentar que, para
 implementar alguma interface, basta implementar os seguintes métodos
 na área protected:

 function TIntfObj.QueryInterface(const IID: TGUID; out Obj): HResult;
 stdcall;
 begin
 if GetInterface(IID, Obj) then
 Result := 0
 else
 Result := HResult($80004002); // E_NOINTERFACE
 end;

 function TIntfObj._AddRef: Integer; stdcall;
 begin
 Result := AddRef;
 end;

 function TIntfObj._Release: Integer; stdcall;
 begin
 Result := Release;
 if Result = 0 then
 try
 Finit;
 finally
 inherited FreeInstance;
 end;
 end;

 E ainda distinguir entre classes que criam a instância para um
 ponteiro de objeto, e que criam a instância para um ponteiro de
 interface. Para o primeiro caso, RefCount deve começar em um, e para o
 segundo, deve começar em zero.

 Tenho as duas classes implementadas, respectivamente
 TPressManagedObject e TPressManagedIObject:


 http://pressobjects.svn.sourceforge.net/viewvc/pressobjects/trunk/Source/Core/PressClasses.pas?revision=1034view=markup

  obrigado pela dica

 Disponha.

 --
 Joao Morais
 




-- 
Thales Eduardo Barros de Oliveira
Desenvolvedor Delphi / Firebird / Java
Emails:
tebosoftw...@gmail.com (GoogleTalk)
thales_...@hotmail.com (MSN)
Blog:
http://tebosoftware.blogspot.com/

Tente ser uma pessoa de valor, não de sucesso
Albert Einstein


[As partes desta mensagem que não continham texto foram removidas]



RE: [delphi-br] Ultimos lançamentos

2008-12-30 Por tôpico Wilson, Stephen
Eu uso SQL Server, e  voce tem razao com  'SELECT TOP 100 .' 

-Original Message-
From: delphi-br@yahoogrupos.com.br
[mailto:delphi...@yahoogrupos.com.br]on Behalf Of Paulo Coutinho
Sent: 30 December 2008 03:07
To: delphi-br@yahoogrupos.com.br
Subject: Re: [delphi-br] Ultimos lançamentos


To SqlServer tem o TOP.

acho que é assim, mas Não tenho certeza: *SELECT TOP 100 * FROM tabela*

abs.

2008/12/29 Alisson Yahoo alss...@yahoo.com.br

 Nao sei a sintaxe no SQL server, mas no Firebird voce pode selecionar os
 100
 primeiros da seguinte forma:

 SELECT first 100 Campo1, Campo2, Campo3... FROM Tabela

 Voce pode também fazer a consulta e jogar os 100 primeiros registros para
 um
 clientdataset

 __
 Faça ligações para outros computadores com o novo Yahoo! Messenger
 http://br.beta.messenger.yahoo.com/

 

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 






-- 
Atenciosamente,
Paulo Coutinho.
Site: www.prsolucoes.com
Msn:  pa...@prsolucoes.com
Skype: paulo.prsolucoes


[As partes desta mensagem que não continham texto foram removidas]




-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 





***
This e-mail and any files transmitted with it are confidential. If you are not 
the intended recipient, any reading, printing, storage, disclosure, copying or 
any other action taken in respect of this e-mail is prohibited and may be 
unlawful. If you are not the intended recipient, please notify the sender 
immediately by using the reply function and then permanently delete what you 
have received.
Content of emails received by this Trust will be subject to disclosure under 
the Freedom of Information Act 2000, subject to the specified exemptions, 
including the Data Protection Act 1998 and Caldicott Guardian principles.
This footnote also confirms that, unless otherwise stated, this email message 
has been swept by Sophos Anti-virus for the presence of computer viruses.
***



Re: [delphi-br] Re: Problema com Objetos da classe TInterfacedObject + uma interface

2008-12-30 Por tôpico Joao Morais
2008/12/30 Thales (Shubacca) - Tebo Software tebosoftw...@gmail.com:
 Em Relação ao componente que comenta, o Press, não consegui instalar ele
 nao, pois os pacotes estão ausentes. Tentei criá-los usando a idéia de
 separação de packages desginer e runtime e somente o runtime roda, ainda
 porque eu removo algumas units sobre oracle etc.

 teria como me passar o esquema de instalação, pois no site não em.

A parte de design ainda não está funcional. Instalar é meramente
colocar source\core e source\brokers no library path.

--
Joao Morais


[delphi-br] URGENTE: Configuração INTERBASE Dual Core

2008-12-30 Por tôpico Jorge Ericsson
Olá amigos Delphianos,

Procurei na lista e na NET mas não encontrei solução para o meu problema.

Tenho um aplicativo (ADMINISTRATIVO) que funciona em vários estados e
município usando IB 6.0.

Só que algumas máquinas com dual core (múltiplo processador) o interbase
fica lento do nada.

Alguém sabe de alguma configuração ou atualização (patch) que resolva esse
meu problema ?

Obs.: Não posso mudar a arquitetura de acesso ao banco no momento para
Firebird ou outro, tenho que manter por enquanto o IB 6.0.

Valew pessoal,

Jorge Ericsson


[As partes desta mensagem que não continham texto foram removidas]



RES: {Disarmed} [delphi-br] URGENTE: Configuração INTERBASE Dual Core

2008-12-30 Por tôpico Wellingthon Cristiano
A Versão 6.0 não é a versão base do Firebird?

Até onde lembro o Firebird não tinha suporte para multi-processamento...

Então, se for a mesma coisa... você estará usando um núcleo apenas do
processador...

 

Valei besteira?

 

Wellingthon Cristiano Alves de Araújo 
 http://www.upbrasil.com.br/ UpDate Tecnologia - (31) 3339- - BH-MG 
Desenvolvimento

  _  

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Jorge Ericsson
Enviada em: terça-feira, 30 de dezembro de 2008 15:42
Assunto: {Disarmed} [delphi-br] URGENTE: Configuração INTERBASE Dual Core

 

Olá amigos Delphianos,

Procurei na lista e na NET mas não encontrei solução para o meu problema.

Tenho um aplicativo (ADMINISTRATIVO) que funciona em vários estados e
município usando IB 6.0.

Só que algumas máquinas com dual core (múltiplo processador) o interbase
fica lento do nada.

Alguém sabe de alguma configuração ou atualização (patch) que resolva esse
meu problema ?

Obs.: Não posso mudar a arquitetura de acesso ao banco no momento para
Firebird ou outro, tenho que manter por enquanto o IB 6.0.

Valew pessoal,

Jorge Ericsson

[As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] Localizar - O Retorno

2008-12-30 Por tôpico Janise Dantas
Pelo jeito vou passar a virada do ano de cabeça virada com meu projeto.
Tenho pesquisado na net direto, mas como os filhos estão de férias meu tempo 
na net diminuiu bem.
Também sei que a gente só pede Ajuda aos Universitários em último caso, e 
acho que chegou a hora...

estou aloprando!!!

Meu trabalho não segue adiante ( choradeira rsrsrsr!!!)

Ainda não consegui localizar meus registros(fazer pesquisa). O mais perto 
que cheguei foi:

dmBaseDados.T_Assessoria.Locate('Nome',edtnome.Text,[]) ; (Não reconhece 
mais nada que eu acrescente, tipo: loPartialKey, locasesensitive... e sei lá 
mais o quê!!)


Mas é só clicar no ok que o bicho dá erro e sinto vontade de chorar!! (mas 
tô me segurando...)

E outra que descobri, afff!!! Que meu menu não está aparecendo, 
inclusive já refiz, mas ele resolveu que não quer fazer parte do meu projeto 
(caraca!!!)

Será que tem alguém, um abençoado aí que tem pena dos pobres e oprimidos??

Janise Dantas





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




[delphi-br] Multi-Thread

2008-12-30 Por tôpico Fabio Lima
Boa tarde pessoal!

Estou desenvolvento um sistema que trabalha com várias Threads.

O sistema tem a função de extrair dados dos servidores e geram um arquivo
.txt que é importado por outra Thread.

Lendo em alguns artigos vi que os métodos que não alteram algo dentro da VCL
não devem utilizar o Synchronize.

O sistema roda tranquilamente durante uns 4 minutos e log em seguida acaba
gerando vários Access Violation, para tentar encontrar o problema eu
utilizei o componen Expression Manager para gerar os logs incluisive o call
Stack.

Um exmeplo dos logs segue abaixo:

Tipo: EAccessViolation ( EExternal )

Unit: Classes

Linha   : Unknown

Classe  : Classes

Função  : TComponent.Notification

Endereço: 0x0042AA68

Sender Class: TTimer  TComponent  TPersistent  TObject

Sender Name : tmrPing

Ip  : 121.120.119.142

Mem Total(Kb)   : 515.180 Ko

Mem Disp(%) : 94 %

Mem Virtual(Kb) : 2.097.024 Ko

Mem Vir Disp(Kb): 2.064.796 Ko

Pag Total(Kb)   : 1.259.336 Ko

Pag Disp(Kb): 409.056 Ko

Mensagem: Access violation at address 0042AA68 in module
'Monitoramento.exe'. Read of address 0830

Call Stack  : U_XAM_Debug::U_XAM_Debug.TXAMDebug.GetCallStack

 
U_XAM_Debug::U_XAM_Debug.TXAMDebug.GetExceptionInfos

 
U_XAM_Debug::U_XAM_Debug.TXAMDebug.ProcessException

 
U_XAM_Debug::U_XAM_Debug.TXAMDebug.HandleException

 
Forms::Forms.TApplication.HandleException

 Classes::Classes.StdWndProc

 
Windows::Windows.HwndMSWheel

 
ActiveX::ActiveX.SafeArrayGetUBound

 SysConst::ActiveX.Succeeded

 SysConst::ActiveX.Succeeded

 
Variants::varian...@varfromlstr

 
Variants::varian...@vartoint64

 
Classes::Classes.TComponent.DestroyComponents

 
Classes::Classes.TThread.CheckThreadError

 
Menus::Menus.TMenu.UpdateImage

 
Menus::Menus.TMenu.AdjustBiDiBehavior

 
StdCtrls::StdCtrls.TCustomGroupBox.AdjustClientRect

 
StdCtrls::StdCtrls.TCustomGroupBox.Create

 
SysUtils::SysUtils.ShowException

 System::System.ParamCount

 SysUtils::SysUtils.ScanTime

Já tentei analizar este log, principalmente tentar encontrar uma explicação
para o Access violation.

Se alguém analizando este log conseguir encontrar algo que possa me ajudar
agradeço.

Aproveitando, Feliz Ano Novo a todos.

 

Fábio Lima de Oliveira
Analista de Sistema
Grupo Coan Alimentos  Serviços

Fone: +55 15 3282-9050

Ramal: 9050
Cel: 19 9187-4192
E-mail:  mailto:fabio.l...@grupocoan.com.br fabio.l...@grupocoan.com.br

Site:  http://www.grupocoan.com.br/ http://www.grupocoan.com.br

 



[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] Re: Localizar - O Retorno

2008-12-30 Por tôpico Carlos
Boa noite! Vamos por partes...por um acaso este projeto é aquele da
pessoa jurídica e pessoa física que vc fez em duas tabelas e foi
indicado para que tentasse normalizar e usar apenas uma tabela?

estrutura do locate:
dmBaseDados.T_Assessoria.open;
dmBaseDados.T_Assessoria.Locate('NomeDoCampo', valorDoCampo, []);

Na tabela T_Assessoria esta o campo que vc quer setar? Caso positivo
esta estrutura não tem erro...
Mas caso vc queira, informe a estrutura do banco (pelo menos das
tabelas envolvidas nesta rotina), e informe o código completo que vc
está usando para que possamos visualizar num contexto geral e caso
possível, lhe ajudar.
Qualquer coisa, poste ai!
Fraterno abraço,
Carlos



Re: [delphi-br] Localizar - O Retorno

2008-12-30 Por tôpico Coutinho - Yahoo
Janise... Tudo bem?

Eta menina chorona!!! Hehehehehe!

Veja bem..

Na sua linha de código, vc está passando como parâmetro edtNome.text... 
isso é um parâmetro do tipo string... na verdade o Locate precisa de um 
parâmetro do tipo Variant para poder funcionar... assim, crie uma 
variável do tipo variant, atribua-lhe o conteúdo do seu etdnome.text, e 
certamente sua consulta no banco funcionará...

Use desta forma:

Var
  vvChaveDeBusca : Variant;
begin
.
.   aqui vai seu código de abertura de bases de dados e otras cositas 
más se for o caso...
.

  vvChaveBusca := edtNome.Text;  - Aqui vc transforma o valor string em 
variant...

Seu código estava assim  --- 
dmBaseDados.T_Assessoria.Locate('Nome',edtnome.Text,[])


// é sempre bom dar uma testada... para dar um retorno visual ao usuário...

if dmBaseDados.T_Assessoria.Locate('Nome',vvChaveBusca,[loPartialkey, 
loCaseInsensitive]) then
   begin
  faz o que precisa fazer
   end
else
   Application.messagebox('Nome não encontrado...', 'Atenção!', 
mb_ok+mb_iconwarning);


Usando [loPartiakey, loCaseinsensitive] é sempre bom para uma pesquisa de 
valores aproximados, principalmente se está apresentando os dados em um grid, 
ok?

Espero que isso esclareça e consiga te ajudar a resolver.

Sds
Emanuel Coutinho





Janise Dantas escreveu:
 Pelo jeito vou passar a virada do ano de cabeça virada com meu projeto.
 Tenho pesquisado na net direto, mas como os filhos estão de férias meu tempo 
 na net diminuiu bem.
 Também sei que a gente só pede Ajuda aos Universitários em último caso, e 
 acho que chegou a hora...

 estou aloprando!!!

 Meu trabalho não segue adiante ( choradeira rsrsrsr!!!)

 Ainda não consegui localizar meus registros(fazer pesquisa). O mais perto 
 que cheguei foi:

 dmBaseDados.T_Assessoria.Locate('Nome',edtnome.Text,[]) ; (Não reconhece 
 mais nada que eu acrescente, tipo: loPartialKey, locasesensitive... e sei lá 
 mais o quê!!)


 Mas é só clicar no ok que o bicho dá erro e sinto vontade de chorar!! (mas 
 tô me segurando...)

 E outra que descobri, afff!!! Que meu menu não está aparecendo, 
 inclusive já refiz, mas ele resolveu que não quer fazer parte do meu projeto 
 (caraca!!!)

 Será que tem alguém, um abençoado aí que tem pena dos pobres e oprimidos??

 Janise Dantas



 

   





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




[delphi-br] Problema com SQL

2008-12-30 Por tôpico Ridson Xavier de Moura
Boa noite a todos.

Quando utilizava Paradox esta instrução SQL funcinava perfeitamente:

select  Saida.PRODUTO, Saida.SECAO, P.DESCRICAO, sum(QUANTIDADE) as QUANT,
sum(VALOR_TOTAL) as VALTOT, P.CUSTO*sum(QUANTIDADE) as TOTCUSTO,
(Sum(Valor_Total)-(P.Custo*sum(quantidade)))*(100/(P.Custo*sum(quantidade)))
as Acrescimo from PROSAI Saida, PRODUTOS P where Saida.Empresa='002' AND
P.Empresa='002' AND Saida.PRODUTO=P.CODIGO and saida='12/01/2008' and
saida='12/31/2008' group by Saida.PRODUTO, Saida.SECAO, P.DESCRICAO order
by QUANT

Agora usando firebird v1.5 ela retorna erro:

Invalid expression in the select list (not contained in either an aggregate
function or the GROUP BY clause).

Alguem saberia me diser o q tem de errado nela...

-- 
Moura Informática
Venda, assistência técnica, especializada em GNU/Linux e Software Livre
Sistema para automação comercial
Contatos:
Ridson (65)9237-2734
ridson_xm[arroba]hotmail.com
Classificados pela internet. Aqui você vende!
http://usadonovo.net23.net/

http://ridson.blogspot.com/
http://mourainformatica.blogspot.com/
Biblioteca digital desenvolvida com software livre
http://www.dominiopublico.gov.br


[As partes desta mensagem que não continham texto foram removidas]