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]
Re: RES: [delphi-br] Dúvida com TStringList
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 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
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
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 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
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
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
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
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
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
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
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]