Re: [delphi-br] Nome do autor de um arquivo

2010-05-27 Por tôpico Edelson Regis de Lima
Olá Pessoal!

Murilo, obrigado pela ajuda!

Respondendo à pergunta do Adriano, ainda não funcionou...
Não sei se esse código foi feito numa versão mais antiga do delphi (estou
usando Delphi 2007), mas só preenche o ListBox com o Size do aqruivo.
Vou tentar fazer algumas modificações na rotina, para ver se obtenho algum
resultado.

Abraços,

Edelson.



Em 27 de maio de 2010 10:06, Adriano Santos asrsan...@gmail.com escreveu:

 Edelson,

 Funcionou a dica do Murilo? Muito legal hein Murilo?

 Adriano Santos
 Vendo Sony Vaio http://bit.ly/aWrKyW
 http://twitter.com/asrsantos
 http://delphitodelphi.blogspot.com

 Em Thu, May 27, 2010 at 8:10 AM, Murilo Cunha mcscu...@yahoo.com.br
 escreveu:

 
 
  Edelson,
 
  Tente o seguinte:
 
  ~
  {
  Usage:
  VersionInformation(ListBox1)
  }
 
  {Pads or truncates a String and
  Justifies Left if StrJustify=True}
  Function StringPad(
  InputStr,
  FillChar: String;
  StrLen: Integer;
  StrJustify: Boolean): String;
  Var
  TempFill: String;
  Counter : Integer;
  Begin
  If Not (Length(InputStr) = StrLen) Then
  Begin
  If Length(InputStr)  StrLen Then
  Begin
  InputStr := Copy(InputStr,1,StrLen) ;
  End
  Else
  Begin
  TempFill := '';
  For Counter := 1 To StrLen-Length(InputStr) Do
  Begin
  TempFill := TempFill + FillChar;
  End;
  If StrJustify Then
  Begin
  {Left Justified}
  InputStr := InputStr + TempFill;
  End
  Else
  Begin
  {Right Justified}
  InputStr := TempFill + InputStr ;
  End;
  End;
  End;
  Result := InputStr;
  End;
 
  Function VersionInformation(
  ListBox : TListBox): Boolean;
  const
  InfoNum = 11;
  InfoStr : array [1..InfoNum] of String =
  ('CompanyName', 'FileDescription', 'FileVersion',
  'InternalName', 'LegalCopyright', 'LegalTradeMarks',
  'OriginalFilename', 'ProductName', 'ProductVersion',
  'Comments', 'Author') ;
  LabelStr : array [1..InfoNum] of String =
  ('Company Name', 'Description', 'File Version',
  'Internal Name', 'Copyright', 'TradeMarks',
  'Original File Name', 'Product Name',
  'Product Version', 'Comments', 'Author') ;
  var
  S : String;
  n, Len, j : Integer;
  Buf : PChar;
  Value : PChar;
  begin
  Try
  S := Application.ExeName;
  ListBox.Items.Clear;
  ListBox.Sorted := True;
  ListBox.Font.Name := 'Courier New';
  n := GetFileVersionInfoSize(PChar(S),n) ;
  If n  0 Then Begin
  Buf := AllocMem(n) ;
  ListBox.Items.Add
  (StringPad('Size',' ',20,True)+' = '+IntToStr(n)) ;
  GetFileVersionInfo(PChar(S),0,n,Buf) ;
  For j:=1 To InfoNum Do Begin
  If VerQueryValue(Buf,PChar('StringFileInfo\040904E4\'+
  InfoStr[j]),Pointer(Value),Len) Then
  Begin
  Value := PChar(Trim(Value)) ;
  If Length(Value)  0 Then
  Begin
  ListBox.Items.Add
  (StringPad(labelStr,' ',20,True)+' = '+Value) ;
  End;
  End;
  End;
  FreeMem(Buf,n) ;
  End
  Else Begin
  ListBox.Items.Add
  ('No FileVersionInfo found') ;
  End;
  Result := True;
  Except
  Result := False;
  End;
  End;
  ~
 
  Obrigado.
  MuriloCunha
 
 
  On 26/05/2010 14:43, Edelson Regis de Lima wrote:
   Boa tarde pessoal!
  
   Já dei uma pesquisada nas mensagens antigas do forum, mas não
  encontrei...
   Alguém sabe se dá para criar um arquivo, e no momento da sua criação
   informar o nome do Autor? (Aquela propriedade que o windows mostra
 quando
   vemos as propriedades do arquivo)
   E também como extrair de um arquivo o nome do Autor.
  
   A data e hora de criação eu já consegui extrair da seguinte maneira:
   FileDateToDateTime(FileAge('Nome_Do_Arquivo'))
  
   Mas preciso extrair também o nome do Autor.
  
   Obrigado!
  
   Edelson.
  
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
  
   
  
  
 
 
 



 --
 Adriano Santos
 http://twitter.com/asrsantos
 www.delphitodelphi.blogspot.com


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



 

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 






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



[delphi-br] Nome do autor de um arquivo

2010-05-26 Por tôpico Edelson Regis de Lima
Boa tarde pessoal!

Já dei uma pesquisada nas mensagens antigas do forum, mas não encontrei...
Alguém sabe se dá para criar um arquivo, e no momento da sua criação
informar o nome do Autor? (Aquela propriedade que o windows mostra quando
vemos as propriedades do arquivo)
E também como extrair de um arquivo o nome do Autor.

A data e hora de criação eu já consegui extrair da seguinte maneira:
FileDateToDateTime(FileAge('Nome_Do_Arquivo'))

Mas preciso extrair também o nome do Autor.

Obrigado!

Edelson.


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



Re: [delphi-br] Localizar texto StringList

2010-02-19 Por tôpico Edelson Regis de Lima
If MinhaStringList.IndexOf('Texto da pesquisa') = 0 then
   ShowMessage('Achou!');

Edelson.


Em 19 de fevereiro de 2010 09:46, Samuel M. Basso
samuelba...@yahoo.com.brescreveu:



 Bom dia!

 Gostaria de saber como faço para localizar um texto dentro de uma
 StringList, tem como? Alguem sabe?

 --
 Atenciosamente,

 Samuel M. Basso
 Cel: (54) 8135-3723
 Skype: samuelbasso
 E-mail/MSN: samuelba...@gmail.com samuelbasso%40gmail.com
 Web site: www.samuelbasso.com

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

  



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





-- 
 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] Thread para mostrar animação em flash

2009-12-08 Por tôpico Edelson Regis de Lima
Boa tarde pessoal!

Alguem já fez alguma telinha do tipo: Processando, aguarde..., utilizando
uma animação em flash?
Eu to apanhando aqui pra fazer o swf rodar em paralelo com processamento...
ele simplesmente trava, só roda depois que termina o processamento.
Estou usando Thread, mas não está funcionando.
Já testei com os componentes TShockwaveFlash e TShockwaveFlashEx.
Se alguém tiver alguma dica ou um exemplo, eu agradeço.

Abraços,

Edelson.


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



Re: [delphi-br] intervalo entre duas datas

2009-10-29 Por tôpico Edelson Regis de Lima
Eu fiz um teste aqui, e a função DaysBetween retorna TODOS os dias sim!
Incluindo sábados, domingos, feriados...
A único cuidado que voce deve tomar é que a função só conta dias inteiros,
ou seja, se o seu intervalo de datas estiver faltando 1 minuto para
completar 1 dia, ele descarta esse dia.

De acordo com o help do delphi:

DaysBetween counts only whole days. Thus, DaysBetween reports the
difference between Dec 31, 1999 11:59 PM and Jan 1, 2000 11:58 PM as 0
because the difference is one minute short of an entire day.

Abraços,

Edelson.


2009/10/29 Leonardo Baldino portaldoinfe...@gmail.com



 naum sei como mas a função DaysBetween não contas os dias que são feriados

 2009/10/28 José Mário Silva Guedes 
 jmariogue...@gmail.comjmarioguedes%40gmail.com
 

 
 
  Como o Delphi saberia os feriados locais?
 
  Não entendi o tópico...
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 --
 Leonardo Carlos Baldino - The Highlander

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

  



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



Re: [delphi-br] intervalo entre duas datas

2009-10-27 Por tôpico Edelson Regis de Lima
Use a função DaysBetween(), da unit DateUtils.
Faça um teste, pois não sei se retorna todos os dias, ou somente os dias
úteis...

Att,

Edelson.


2009/10/27 Leonardo Baldino portaldoinfe...@gmail.com



 alguem sabe como eu faço para saber a quantidade de dias entre um
 determinado intervalo entre duas datas

 --
 Leonardo Carlos Baldino - The Highlander

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

  



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



[delphi-br] TDataSetProvider - BeforeUpdadeRecord

2009-10-19 Por tôpico Edelson Regis de Lima
Olá Pessoal!

No BeforeUpdadeRecord do meu TDataSetProvider estou fazendo algumas
validações antes de gravar os registros.
Em alguns casos, eu NÃO quero gravar um determinado registro, mas gostaria
que os outros registros que passaram pela validação fossem gravados
corretamente.
Porém ainda não consegui... ou eu gravo todos, ou não gravo nenhum...
Já tentei setar o parametro Applied para False, mas não funcionou.
O que basicamente preciso é, na hora de gravar os registros do Delta, fazer
algumas validações, e gravar os registros que passaram, e retornar um erro
para os que não passaram na validação.
Talves no próprio TClientDataSet eu conseguiria fazer isso?
Alguém tem alguma solução/sugestão?

Abraços,

Edelson.


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



Re: [delphi-br] Gravar uma data em branco no firebird

2009-09-28 Por tôpico Edelson Regis de Lima
Faça assim:
dm.qyrecbto.FieldByName('UPGTO').Value := Null;

Att,

Edelson.


2009/9/28 auriston.delphi auriston.del...@yahoo.com.br



 Salve Delphianos.
 No comando dm.qyrecbto.FieldByName('UPGTO').AsDateTime := Date, preciso
 trocar a funcao Date por uma data em branco, é possivel efetuar este
 processo ?

 Uso D7+Firebird+IBX

 at

  



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



Re: [delphi-br] criando fields em tempo de execuçã o - help

2009-07-29 Por tôpico Edelson Regis de Lima
Segue um exemplo simples:

function TFormCliente.CriaDataSetCliente: boolean;
var
  cdsCliente: TClientDataSet;
  dsCliente: TDataSource;
begin
  result := False;
  try
cdsCliente := TClientDataSet.Create(self);
with cdsCliente do
begin
  FieldDefs.Add('ID_CLIENTE', ftInteger, 0, false);
  FieldDefs.Add('TP_PESSOA', ftString, 1, false);
  FieldDefs.Add('NM_CLIENTE', ftString, 100, false);
  FieldDefs.Add('NR_CNPJ_CPF', ftString, 14, false);
  FieldDefs.Add('NM_LOGRADOURO', ftString, 100, false);
  FieldDefs.Add('NR_LOGRADOURO', ftString, 20, false);
  FieldDefs.Add('DS_COMPLEMENTO', ftString, 30, false);
  FieldDefs.Add('NM_BAIRRO', ftString, 50, false);
  FieldDefs.Add('NM_CIDADE', ftString, 50, false);
  FieldDefs.Add('NM_UF', ftString, 2, false);
  FieldDefs.Add('NR_CEP', ftString, 8, false);
  FieldDefs.Add('NR_TELEFONE', ftString, 20, false);
  FieldDefs.Add('NR_CELULAR', ftString, 20, false);
  FieldDefs.Add('DS_EMAIL', ftString, 100, false);
  FieldDefs.Add('DS_SITE', ftString, 100, false);
end;
cdsCliente.CreateDataSet;

dsCliente := TDataSource.Create(self);
dsCliente.DataSet := cdsCliente;

cdsCliente.Active := True;

result := True;
  except
on E:Exception do
begin
  ShowMessage('Erro ao criar ClientDataSet Cliente' + #10 + e.Message);
  exit;
end;
  end;
end;

Até +,

Edelson.


2009/7/29 Leonardo Baldino portaldoinfe...@gmail.com



 alguem sabe como eu faço para criar campos num clientdataset em tempo de
 execução

 --
 Leonardo Carlos Baldino - The Highlander

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

  



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



[delphi-br] Componente relógio com fuso horário

2009-07-21 Por tôpico Edelson Regis de Lima
Olá pessoal.

Alguém conhece algum componente de relógio (analógico ou digital), que
mostre a hora de acordo com o Fuso Horário que eu indicar, e não pela hora
do sistema?

Explicando melhor:
A hora mostrada na tela do sistema para o usuário não será a do computador
dele, mas sim a hora informada pelo Servidor de Aplicação.
Se eu estiver aqui no Brasil, e o servidor estiver na Inglaterra, a hora
mostrada na minha tela deverá ser a da Inglaterra.
Isso em tempo real, ou seja, a hora não será apenas mostrada, mas continuará
com a sua incrementação.

Eu já fiz relógios no delphi, mas pegando a hora da maquina... não tenho
idéia de como mostrar em tempo real a hora de algum outro lugar...
Alguma dica de algum componente, ou até mesmo de alguma rotina que faça
isso?

Abraços,

Edelson.


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



Re: [delphi-br] zoom em Timage ajuda

2009-07-06 Por tôpico Edelson Regis de Lima
Se eu não me engano, dentre os componentes Jedi (JVCL), existe um que faz
exatamente isso... parece que é o TJvZoom.

Abraços,

Edelson.



2009/7/6 alessandra porto alessandraport...@yahoo.com.br




  Amigos
  alguem já fez  ou  sabe como fazer para dar zoom em um Timage
 igual aquele recurso do MsPaint  com click sobre a figura.
 aumenta a parte selecionada da imagem.(onde clickou)

  Agradeço aos que colaborarem

 Abraços  a todos

 __
 Veja quais são os assuntos do momento no Yahoo! +Buscados
 http://br.maisbuscados.yahoo.com

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

  



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



Re: [delphi-br] TList ou TObjectList para Stream

2009-07-02 Por tôpico Edelson Regis de Lima
A utilidade é simplesmente encapsular vários TClientDataSets em uma única
Stream, e poder recuperar isso em outro lugar... tipo, se precisar
transportar via TCP, ao invés de gerar uma Stream para cada TClientDataSet.

Edelson.


2009/7/2 Leandro mutu...@yahoo.com.br



 desculpa mas n acompanhei desde o inicio e fiquei com duvida na utilidade
 deste? ou seja boiei rs

 2009/7/2 Guionardo Furlan guiona...@gmail.com guionardo%40gmail.com

 
 
  Matou a pau, eheh. Vou guardar essa dica no caderninho.
 
  Abração
 
  2009/7/1 Edelson Regis de Lima edre...@ig.com.br 
  edregis%40ig.com.bredregis%
 40ig.com.br:
  
  
   Fala Guionardo, tranquilo?
  
   Então, eu acabei resolvendo esse problema com um TClientDataSet mesmo,
 ao
   invés de um TList. Ficou muito mais simples.
   Eu uso um campo do tipo blob (TBlobField) para armazenar outros
   TClientDataSets já convertidos em TMemoryStream.
   Ou seja, cada registro desse TClientDataSet contem outro
 TClientDataSet.
  E
   eu ainda posso criar outros campos para servir como passagem de
  parametros.
   E no final eu dou um TClientDataSet.SaveToStream, e obtenho a minha
  stream
   com todos os TClientDataSets embutidos.
   Ficou bem mais simples dessa maneira.
  
   Mas valew pela dica assim mesmo!
  
   Abraços,
  
   Edelson.
  
   2009/6/30 Guionardo Furlan 
   guiona...@gmail.comguionardo%40gmail.comguionardo%
 40gmail.com
  
  
  
   Minha sugestão.
   Mantenha a estrutura do TList de ClientDataSets.
   Crie um TMemoryStream (MS)
   Faça um loop para varrer o TList.
   Para cada item:
   - vc escreve um LongInt (N) (representando o tamanho dos dados [Data,
   acho que é essa propriedade que guarda os dados do CDS] do CDS
   respectivo) no MS
   - escreve o conteúdo do Data do CDS no MS
  
   Quando for ler, é só varrer o MS obtendo o tamanho dos dados pelo
   primeiro longint (N) e ler N bytes para a propriedade Data do CDS. Se
   ainda houver dados no MS, repita o procedimento, criando novo CDS.
  
   São quase 11 horas da noite, eheh. Deu pra entender a minha idéia?
  
   2009/6/23 Edelson Regis de Lima edre...@ig.com.bredregis%40ig.com.br
 edregis%40ig.com.bredregis%
  40ig.com.br:
  
   
   
Boa tarde!
   
Pesssoal, alguem sabe se tem como gerar um TMemoryStream a partir de
  um
TList?
O TStringList até tem um SaveToStream, porém não salva os objetos
   contidos
na lista, somente strings.
   
Basicamente é o seguinte... preciso transportar vários
 ClientDataSets,
  e
   a
melhor maneira é transformar em Stream primeiro.
Só que eu não quero transportar um a um, eu quero empacotar todos
 os
ClientDataSets numa Stream só.
   
Aí pensei em colocar todos os ClientDataSets em um TList (ou algo do
genero), e transformar esse TList em Stream. Só que o TList não tem
 o
SaveToStream.
Alguém sabe?
Ou se alguem tiver alguma outra sugestão de fazer esse
 empacotamento,
sem
usar Lists, também será bem vinda...
   
Até mais,
   
Edelson.
   
[As partes desta mensagem que não continham texto foram removidas]
   
   
  
   --
   Timeo hominem unius libri
   Cogito ergo sum - Carpe diem
  
   []s
   Guionardo Furlan
   http://guionardo.blogspot.com
   http://www.guionardofurlan.com.br
  
  
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
 
  --
  Timeo hominem unius libri
  Cogito ergo sum - Carpe diem
 
  []s
  Guionardo Furlan
  http://guionardo.blogspot.com
  http://www.guionardofurlan.com.br
 
 

 --
 Leandro, MuTukA

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

  



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



Re: [delphi-br] TList ou TObjectList para Stream

2009-07-01 Por tôpico Edelson Regis de Lima
Fala Guionardo, tranquilo?

Então, eu acabei resolvendo esse problema com um TClientDataSet mesmo, ao
invés de um TList. Ficou muito mais simples.
Eu uso um campo do tipo blob (TBlobField) para armazenar outros
TClientDataSets já convertidos em TMemoryStream.
Ou seja, cada registro desse TClientDataSet contem outro TClientDataSet. E
eu ainda posso criar outros campos para servir como passagem de parametros.
E no final eu dou um TClientDataSet.SaveToStream, e obtenho a minha stream
com todos os TClientDataSets embutidos.
Ficou bem mais simples dessa maneira.

Mas valew pela dica assim mesmo!

Abraços,

Edelson.

2009/6/30 Guionardo Furlan guiona...@gmail.com



 Minha sugestão.
 Mantenha a estrutura do TList de ClientDataSets.
 Crie um TMemoryStream (MS)
 Faça um loop para varrer o TList.
 Para cada item:
 - vc escreve um LongInt (N) (representando o tamanho dos dados [Data,
 acho que é essa propriedade que guarda os dados do CDS] do CDS
 respectivo) no MS
 - escreve o conteúdo do Data do CDS no MS

 Quando for ler, é só varrer o MS obtendo o tamanho dos dados pelo
 primeiro longint (N) e ler N bytes para a propriedade Data do CDS. Se
 ainda houver dados no MS, repita o procedimento, criando novo CDS.

 São quase 11 horas da noite, eheh. Deu pra entender a minha idéia?

 2009/6/23 Edelson Regis de Lima edre...@ig.com.br edregis%40ig.com.br:

 
 
  Boa tarde!
 
  Pesssoal, alguem sabe se tem como gerar um TMemoryStream a partir de um
  TList?
  O TStringList até tem um SaveToStream, porém não salva os objetos
 contidos
  na lista, somente strings.
 
  Basicamente é o seguinte... preciso transportar vários ClientDataSets, e
 a
  melhor maneira é transformar em Stream primeiro.
  Só que eu não quero transportar um a um, eu quero empacotar todos os
  ClientDataSets numa Stream só.
 
  Aí pensei em colocar todos os ClientDataSets em um TList (ou algo do
  genero), e transformar esse TList em Stream. Só que o TList não tem o
  SaveToStream.
  Alguém sabe?
  Ou se alguem tiver alguma outra sugestão de fazer esse empacotamento, sem
  usar Lists, também será bem vinda...
 
  Até mais,
 
  Edelson.
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 

 --
 Timeo hominem unius libri
 Cogito ergo sum - Carpe diem

 []s
 Guionardo Furlan
 http://guionardo.blogspot.com
 http://www.guionardofurlan.com.br
  



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



[delphi-br] TList ou TObjectList para Stream

2009-06-24 Por tôpico Edelson Regis de Lima
Boa tarde!

Pesssoal, alguem sabe se tem como gerar um TMemoryStream a partir de um
TList?
O TStringList até tem um SaveToStream, porém não salva os objetos contidos
na lista, somente strings.

Basicamente é o seguinte... preciso transportar vários ClientDataSets, e a
melhor maneira é transformar em Stream primeiro.
Só que eu não quero transportar um a um, eu quero empacotar todos os
ClientDataSets numa Stream só.

Aí pensei em colocar todos os ClientDataSets em um TList (ou algo do
genero), e transformar esse TList em Stream. Só que o TList não tem o
SaveToStream.
Alguém sabe?
Ou se alguem tiver alguma outra sugestão de fazer esse empacotamento, sem
usar Lists, também será bem vinda...

Até mais,

Edelson.


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



Re: [delphi-br] Re: Tabelas virtuais

2009-06-20 Por tôpico Edelson Regis de Lima
Voce tem um campo data na TB_HORA? Para saber a hora de qual dia voce quer
pegar...
Ou o proprio campo hora_consulta é um DATETIME que grava a data e hora?
Bom, vou supor que o campo hora_consulta é um DateTime...
Acho que voce pode fazer assim: (não testei, pois não tenho as tabelas na
minha base)

SELECT
   TH.hora_consulta,
   TA.cod_agenda,
   TP.nome,
FROM TB_HORA AS TH
LEFT JOIN TB_AGENDA AS TA ON TA.cod_hora = TH.cod_hora
LEFT JOIN TB_PACIENTE AS TP ON TP.cod_paciente = TA.cod_paciente
WHERE TH.hora_consulta BETWEEN '2009.07.01 07:00:00' AND '2009.07.01
22:00:00'

Como voce já tem todas as horas cadastradas na TB_HORA, esse select lhe
retornará todas as horas desse intervalo, mesmo se não houver nenhum
paciente registrado para aquele horário, porque voce estará usando o LEFT
JOIN.
Se voce usar o INNER JOIN, só trará as horas com pacientes cadastrados, do
jeito que o seu sistema já está fazendo.

Testa aí, e qq coisa avisa.

Edelson.




2009/6/20 asandro1501 asandro1...@yahoo.com.br



 Basicamente são 3 tabelas relacionadas porque criei uma tabela de horas mas
 não sei se é preciso utilizá-la mas por enquanto estou utilizando.

 TB_HORA
 cod_hora
 hora_consulta
 Na TB_HORA estão inseridos todos os horários das 07:00 até 22:00

 TB_PACIENTE
 cod_paciente
 nome

 TB_AGENDA
 cod_agenda - autoincremento
 cod_paciente - faz relacionamento com TB_PACIENTE
 cod_hora - faz relacionamento com TB_HORA
 hora

 O campo hora é um coringa caso elimine o cod_hora daí só trabalharia
 com as tabelas TB_PACIENTE e TB_AGENDA

 Digamos que para o dia 01/07/09 eu tenha somente o paciente 1 marcado para
 as 09:00 da manhã e que o cod_agenda seja 50. Na consulta que tenho ela só
 retorna uma linha mas preciso que retorne como abaixo:

 HORACONSULTA COD_AGENDA COD_PACIENTE
 07:00 em branco em branco
 07:01 em branco em branco
   
 09:00 50 1
 09:01 em branco em branco
 09:02 em branco em branco
   
   
 22:00 em branco em branco

 Não sei se você conseguiu entender mas preciso que apareçam todos os
 horarios mesmo que não hajam consultas marcadas. Se você quiser posso mandar
 o código-fonte

 Abraço

 Alex Silva

 --- Em delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br,
 Edelson Regis de Lima edre...@... escreveu
 
  Acho que dá para fazer isso via SQL sim...
  Passa aí um exemplo de como voce quer que fique esse relatorio, e a
  estrutura completa das tabelas que voce quer usar (ou pelo menos os
 campos
  que voce quer usar de cada tabela).
  Se precisar criar um ClientDataSet temporário em run time com o resultado
  também não é difícil não... passa as informações aí e vamos ver se
  conseguimos te ajudar...
 
  Edelson.
 
 
  2009/6/19 asandro1501 asandro1...@...
 
  
  
   Olá Pessoal
  
   Primeiramente quero agradecer a todos pelas respostas que recebi até
 hoje.
   Eu comecei uma agenda médica em firebird mas modifiquei para
 mysql+zeos,
   estou satisfeito com os resultados até agora, porem ainda tenho que
 montar
   uma visualização numa grid que mostre todos os agendamentos para uma
   determinada data + os horários vagos. Via sql não consegui fazer essa
   vizualização. Aqui mesmo no grupo me disseram para estudar orientação a
   objetos mas não tenho tempo habil pra isso. Outra coisa que me disseram
   também seria a utilização de um clientdataset mas também nunca utilizei
 e
   agora não sei se é possível utilizar este componente juntamente com o
 zeos.
   Criei uma tabela com horarios das 07:00 até 22:00 horas e relacionei
 com a
   tabela agenda
   Na tabela de agenda tenho os seguintes campos:
   cod_agenda - chave primaria
   cod_paciente - chave estrangeira com tabela de pacientes
   cod_hora - chave estrangeira com tabela de horas
   hora_consulta
  
   O campo hora consulta é para o caso de não utilizar a tabela de horas,
   deixei como uma forma de escape até descobrir ao certo o que fazer. Por
   favor se alguem puder me ajudar mais uma vez eu agradeço, posso até
 enviar o
   código fonte se for o caso.
  
   Deus abençoe a todos
  
   Alex Silva
   msn: lekinh...@... lekinhors%40hotmail.com
  
  
  
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 

 



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



Re: [delphi-br] Tabelas virtuais

2009-06-19 Por tôpico Edelson Regis de Lima
Acho que dá para fazer isso via SQL sim...
Passa aí um exemplo de como voce quer que fique esse relatorio, e a
estrutura completa das tabelas que voce quer usar (ou pelo menos os campos
que voce quer usar de cada tabela).
Se precisar criar um ClientDataSet temporário em run time com o resultado
também não é difícil não... passa as informações aí e vamos ver se
conseguimos te ajudar...

Edelson.


2009/6/19 asandro1501 asandro1...@yahoo.com.br



 Olá Pessoal

 Primeiramente quero agradecer a todos pelas respostas que recebi até hoje.
 Eu comecei uma agenda médica em firebird mas modifiquei para mysql+zeos,
 estou satisfeito com os resultados até agora, porem ainda tenho que montar
 uma visualização numa grid que mostre todos os agendamentos para uma
 determinada data + os horários vagos. Via sql não consegui fazer essa
 vizualização. Aqui mesmo no grupo me disseram para estudar orientação a
 objetos mas não tenho tempo habil pra isso. Outra coisa que me disseram
 também seria a utilização de um clientdataset mas também nunca utilizei e
 agora não sei se é possível utilizar este componente juntamente com o zeos.
 Criei uma tabela com horarios das 07:00 até 22:00 horas e relacionei com a
 tabela agenda
 Na tabela de agenda tenho os seguintes campos:
 cod_agenda - chave primaria
 cod_paciente - chave estrangeira com tabela de pacientes
 cod_hora - chave estrangeira com tabela de horas
 hora_consulta

 O campo hora consulta é para o caso de não utilizar a tabela de horas,
 deixei como uma forma de escape até descobrir ao certo o que fazer. Por
 favor se alguem puder me ajudar mais uma vez eu agradeço, posso até enviar o
 código fonte se for o caso.

 Deus abençoe a todos

 Alex Silva
 msn: lekinh...@hotmail.com lekinhors%40hotmail.com

  



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



Re: [delphi-br] Select dentro de Select...pode?

2009-06-19 Por tôpico Edelson Regis de Lima
Se é a mesma tabela voce não precisa fazer outro select, basta usar o Count
direto:

Select Count(Campo1) as Total, Campo2, Campo3, CampoN
From Tabela
Where condição

O Count lhe retornará a quantidade de registros listados. Se voce quiser
somar o valor contido em Campo1 use o SUM no lugar de COUNT.

Edelson.


2009/6/19 rafaelpinto19 rafaelpint...@gmail.com





 Olá Galera, pode ter uma Consulta Select dentro de uma consulta Select
 no Interbase e no Delphi? Tipo assim  Select (Select Count(CAMPO1) as
 Total from TABELA) CAMPO1, CAMPO2 from TABELA where CONDICAO... ???

 Se Tiver como, podem colocar a Sintaxe ou estrutura correta?? Vou tentando
 aki, mas to sem noção... Agradeço pela ajuda...

 Rafael

  



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



Re: [delphi-br] selecionando registros

2009-06-16 Por tôpico Edelson Regis de Lima
O DESC você usa em conjunto com o ORDER BY

Digamos que voce tenha uma tabela chamada Cliente, e que tenha o campo
CodigoCliente

Para retornar os 12 primeiros registros voce faz:
SELECT TOP 12 * FROM Cliente ORDER BY CodigoCliente

E para retornar os 12 ultimos registros voce faz:
SELECT TOP 12 * FROM Cliente ORDER BY CodigoCliente DESC

[]s

Edelson.


2009/6/16 cic...@fiosecabos.ind.br





 Amigos ... estou com um pequeno problema penso q seja simples ... porem p
 kem esta iniciando 

 Antes de me mandarem procurar no Google, já revirei tudo por lá ... ok

 Necessito selecionar os 12 ‘ultimo s registros de uma query 

 Já usei o

 Select top 12 * from tabels desc

 Select first 12 * from tabela desc

 Select * from tabela desc limit 12

 Enfim fiz varias tentativas sem êxito … donde apelo para ajuda de vcs, mais
 experientes 

 Meu BD ‘e o DBIsam e trabalho com Delphi 7 ok

 Desde já agradeço

 FIOS E CABOS ENGENHARIA LTDA

 CÍCERO FERNANDES

 ENGENHEIRO ELETRICISTA E DE SEGURANÇA DO TRABALHO

 CREA-SC 27.958-0

 3521-2988 - 9191.6226

 http://fiosecabos.ind.br/ http://fiosecabos.ind.br -
 mailto:cic...@fiosecabos.ind.br cicero%40fiosecabos.ind.br
 cic...@fiosecabos.ind.br cicero%40fiosecabos.ind.br

 P Antes de imprimir, pense em sua responsabilidade e compromisso com o MEIO
 AMBIENTE!

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

  



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





-- 
 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




Re: [delphi-br] Comparar dois DataSets

2009-06-15 Por tôpico Edelson Regis de Lima
Bom, se for do tipo TClientDataSet, voce consegue salvar o seu conteúdo
(binário) em um TMemoryStream.
Então, se os dois TClientDataSets forem exatamente iguais, o conteúdo da
Stream também será.
Não sei se resolve o seu problema...

Edelson.


2009/6/15 José Mário Silva Guedes jmariogue...@gmail.com



 Olá amigos!
 Há uma forma fácil de comparar dois DataSets para verificar se são iguais?
 Por iguais entende-se se contêm os mesmos resgistros, com as mesmas colunas
 etc.

 Obrigado,

 --
 José Mário Silva Guedes
 Analista Programador Delphi

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

  



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



Re: [delphi-br] Ajuda CdsTemp

2009-06-12 Por tôpico Edelson Regis de Lima
Acho que voce está limpando o seu cdsTemp nessa linha aqui:
cdsTemp.EmptyDataSet;

Edelson.


2009/6/12 Filippe Maymone filippe_i...@globo.com



 Bom dia Galera,

 Estou com um problema, não sei o que eu estou fazendo de errado.
 Meu Porgrama faz a seguinte função.
 Tenho 2 Dbgrid.
 Dbgrid1 esta pegando os registro da minha tabela de Pedidos.
 Dbgrid2 esta conectado a um CDsTemp.

 O que eu quero é quando eu clicar no Produtos da Dbgrid1 ele insere no
 CdsTemp e ja vai aparecendo no meu Dbgrid2. Assim o usuarios vai
 selecionando os produtos do pedido.
 Do jeito que estou fazendo eu dou um dblClick no item do DBGrid1 e esta
 indo
 para o DBgrid2. Porem quando clico no 2 item do Dbgrid1 ele substitui o que
 esta no CdsTemp. Sempre ficando apenas um no Dbgrid2..

 Segue o codigo:

 procedure TfrmApontPedido.DBGrid1DblClick(Sender: TObject);
 begin
 cdsTemp.EmptyDataSet;
 //while cdsTemp.Eof do
 begin
 if (cdsTemp.FieldByName('CodProduto').AsString 
 dmApontPTK.cdsPedidoCodproduto.Value) Then
 begin //Insert
 cdsTemp.Active := true;
 cdsTemp.Insert;
 cdsTemp.FieldByName('VndPedido').AsInteger :=
 dmApontPTK.cdsPedidoVndpedido.Value;
 cdsTemp.FieldByName('Complemento').AsString :=
 dmApontPTK.cdsPedidoComplemento.Value;
 cdsTemp.FieldByName('DataPedido').AsDateTime :=
 dmApontPTK.cdsPedidoDatapedido.AsDateTime;
 cdsTemp.FieldByName('DataEntrega').AsDateTime :=
 dmApontPTK.cdsPedidoDataEntrega.AsDateTime;
 cdsTemp.FieldByName('CodNatOpe').AsInteger :=
 dmApontPTK.cdsPedidoCodNatOpe.Value;
 cdsTemp.FieldByName('Situacao').AsInteger :=
 dmApontPTK.cdsPedidoSituacao.Value;
 cdsTemp.FieldByName('CodTipoProd').AsInteger :=
 dmApontPTK.cdsPedidoCodTipoProd.Value;
 cdsTemp.FieldByName('CodMarca').AsString :=
 dmApontPTK.cdsPedidoCodMarca.Value;
 cdsTemp.FieldByName('CodProduto').AsString :=
 dmApontPTK.cdsPedidoCodProduto.Value;
 cdsTemp.FieldByName('CodTamanho').AsString :=
 dmApontPTK.cdsPedidoCodTamanho.Value;
 cdsTemp.FieldByName('PrecoVenda').AsInteger :=
 dmApontPTK.cdsPedidoPrecoVenda.AsInteger;
 cdsTemp.FieldByName('QtdePedida').AsInteger :=
 dmApontPTK.cdsPedidoQtdePedida.AsInteger;
 cdsTemp.FieldByName('QtdeEntregue').AsInteger :=
 dmApontPTK.cdsPedidoQtdeEntregue.AsInteger;
 cdsTemp.FieldByName('Qtdecancelada').AsInteger :=
 dmApontPTK.cdsPedidoQtdecancelada.AsInteger;
 cdsTemp.FieldByName('Usuario').AsString :=
 dmApontPTK.cdsPedidoUsuario.Value;
 cdsTemp.FieldByName('DtRec').AsDateTime :=
 dmApontPTK.cdsPedidoDtRec.AsDateTime;
 cdsTemp.post;
 end;
 end;

 end;

 Se Alguem puder dar um Help ...

 Abraços,

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

  



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



Re: [delphi-br] Fit Area Imagem

2009-06-10 Por tôpico Edelson Regis de Lima
Olá Alex.

Você está dizendo tipo ancorar o tamanho, para quando aumentar a largura,
a figura também aumentar a autura proporcionalmente?
Se for isso, eu acho que dá para voce fazer uma regrinha de 3 com as
propriedades Width e Height do objeto que voce estiver trabalhando.
Exemplo:
Ao redimensionar a largura da imagem (Width), voce primeiro quarda a posição
inicial do Width em alguma variável, e executa a formula:
MinhaImagem.Height := (MinhaImagem.Height * MinhaImagem.Width) /
varWidthInicial;
E pode fazer o inverso quando for redimensionar a altura...

Edelson.



2009/6/10 Alexandre alexandresoare...@yahoo.com.br



 Pessoal alguem sabe como faço para dimensionar uma imagem jpg (via delphi)
 proporcionalmente de acordo com a altura e largura que eu definir?igual no
 Adobe Photoshop?

 Alex

 __ Information from ESET NOD32 Antivirus, version of virus
 signature database 4141 (20090609) __

 The message was checked by ESET NOD32 Antivirus.

 http://www.eset.com

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

  



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



[delphi-br] OFF - tiOPF

2009-06-03 Por tôpico Edelson Regis de Lima
Desculpem pelo post OFF, mas a lista do tiOPF em portugues está meio parada,
já postei lá e não obtive resposta, e derrepente alguém daqui saiba tirar a
minha dúvida.
Alguém aqui manja do framework tiOPF? Mais especificamente na criação dos
Visitors no modo HardCoded...

Grato,

Edelson.


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



Re: [delphi-br] Funcionamento interno do ApplyUpdates

2009-06-02 Por tôpico Edelson Regis de Lima
Entendi...

E eu consigo enxergar as rows os Fields dentro do Data e do Delta?
Ou tenho que fazer algum TypeCast para obter as informações?
Pelo que você falou, eu preciso comparar tudo o que está diferente no Delta
em relação ao Data, trabalhar essas informações e depois persistir no banco
de dados.
Vocês sabem de alguma maneira eficaz de se fazer isso? Tipo, sem correr o
risco de deixar dados para traz?

Obrigado,

Edelson.


2009/6/1 Daniel Sobrinho Laporte daniel.lapo...@gmail.com



 Edelson o ClientDataSet possui dois estados internos.

 ClientDataSet.Data: contém os dados originais
 ClientDataSet.Delta: contém os dados que sofreram alteração

 A peristência na verdade é realizada pelo DataSetProvider de acordo com seu
 UpdateMode e com as configurações dos ProviderFlags. Tanto o Data quanto o
 Delta são OleVariants, desta forma você pode criar um array de variants e
 atribuir o valor, ou utilizar um outro ClientDataSet.Data em tempo de
 execução ok?

 []'s

 Daniel

 2009/6/1 berdam berdamzi...@yahoo.com.br berdamzinho%40yahoo.com.br


 
 
  o dataset tem tuas propriedades o data e o delta, se n me engano o data
  possui o registro, já o delta possui todos os registros alterados.
 
  Edelson Regis de Lima escreveu:
 
  
  
   Olá galera!
  
   Alguém sabe como o ApplyUpdates do TClientDataSet reconhece
 internamente
   quais são os registros que foram alterados, e que operação ele precisa
   executar (se é insert, update, delete...).
   Estou perguntando isso porque estou desenvolvendo um componente herdado
  do
   TClientDataSet, que terá um ApplyUpdates modificado. Esse
 ApplyUpdates
   terá que fazer algumas outras coisas antes de persistir os dados.
   E se eu conseguir entender como o ApplyUpdates reconhece quais os
   registros/campos que precisam ser persistidos, irá facilitar muto a
   minha vida.
   Já ouvi falar que tem a ver com o Delta, mas não manjo muito sobre
 ele...
  
   Abraços,
  
   Edelson.
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
 
  --
  -
  Uberdam Cavaletti
  Formado em Tecnologia da informação - Unoesc - Xxe
  Pós graduado em Desenvolvimento Java - Unoesc - Xxe
 
  Acesse http://www.curricular.com.br/berdam
  Acesse http://passandoveneno.blogspot.com
 
  -
 
 
 

 --
 Daniel Sobrinho Laporte
 Analista de Sistemas e Desenvolvedor Delphi + Firebird.
 Colunista e Editor Técnico ClubeDelphi - DevMedia.

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

  



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



Re: [delphi-br] Funcionamento interno do ApplyUpdates

2009-06-02 Por tôpico Edelson Regis de Lima
Valew pessoal!

Vou fazer uns testes aqui, e depois posto o resultado.

Abraços,

Edelson.


2009/6/2 Daniel Sobrinho Laporte daniel.lapo...@gmail.com



 Exatamente Ricardo... através do Delta você consegue obter o valor antigo,
 e
 o novo valor dos campos através dos métodos NewValue e OldValue.

 Edelson para um pequeno teste você pode criar um projeto em branco colocar
 dois clientdataset's, um como tabela de memória e o outro com dados
 preenchidos, ao alterar os valores do primeiro e realizar o post, grave o
 delta no clientdataset de memória, desta maneira você pode realizar um FOR
 olhando os fields e comparando-os. É importante que você entenda bem o
 funcionamento de Variants para não ter supresas de como trabalhar com os
 OleVariants.

 []s

 Daniel

 2009/6/2 Ricardo César Cardoso 
 ricardo_engs...@yahoo.com.brricardo_engsoft%40yahoo.com.br
 


 
 
  Até onde lembro o Delta só tem as colunas e dados mudados. Não tem o
  registro todo. Se não me engano a matriz do Delta é algo assim: Field,
  OldValue, NewValue mas não tenho certeza absoluta.
 
  []'s
  Ricardo.
 
  1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.
 
  2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor
  compreendida.
 
  3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!
 
  --- Em ter, 2/6/09, Edelson Regis de Lima 
  edre...@ig.com.bredregis%40ig.com.br
 edregis%40ig.com.br
  escreveu:
 
  De: Edelson Regis de Lima edre...@ig.com.br edregis%40ig.com.bredregis%
 40ig.com.br
  Assunto: Re: [delphi-br] Funcionamento interno do ApplyUpdates
  Para: delphi-br@yahoogrupos.com.br 
  delphi-br%40yahoogrupos.com.brdelphi-br%
 40yahoogrupos.com.br

  Data: Terça-feira, 2 de Junho de 2009, 9:40
 
 
  Entendi...
 
  E eu consigo enxergar as rows os Fields dentro do Data e do Delta?
 
  Ou tenho que fazer algum TypeCast para obter as informações?
 
  Pelo que você falou, eu preciso comparar tudo o que está diferente no
 Delta
 
  em relação ao Data, trabalhar essas informações e depois persistir no
 banco
 
  de dados.
 
  Vocês sabem de alguma maneira eficaz de se fazer isso? Tipo, sem correr o
 
  risco de deixar dados para traz?
 
  Obrigado,
 
  Edelson.
 
  2009/6/1 Daniel Sobrinho Laporte daniel.laporte@ gmail.com
 
  
 
  
 
   Edelson o ClientDataSet possui dois estados internos.
 
  
 
   ClientDataSet. Data: contém os dados originais
 
   ClientDataSet. Delta: contém os dados que sofreram alteração
 
  
 
   A peristência na verdade é realizada pelo DataSetProvider de acordo com
  seu
 
   UpdateMode e com as configurações dos ProviderFlags. Tanto o Data
 quanto
  o
 
   Delta são OleVariants, desta forma você pode criar um array de variants
 e
 
   atribuir o valor, ou utilizar um outro ClientDataSet. Data em tempo de
 
   execução ok?
 
  
 
   []'s
 
  
 
   Daniel
 
  
 
   2009/6/1 berdam berdamzinho@ yahoo.com. br berdamzinho% 40yahoo.com.
  br
 
  
 
  
 
   
 
   
 
o dataset tem tuas propriedades o data e o delta, se n me engano o
 data
 
possui o registro, já o delta possui todos os registros alterados.
 
   
 
Edelson Regis de Lima escreveu:
 
   
 

 

 
 Olá galera!
 

 
 Alguém sabe como o ApplyUpdates do TClientDataSet reconhece
 
   internamente
 
 quais são os registros que foram alterados, e que operação ele
  precisa
 
 executar (se é insert, update, delete...).
 
 Estou perguntando isso porque estou desenvolvendo um componente
  herdado
 
do
 
 TClientDataSet, que terá um ApplyUpdates modificado . Esse
 
   ApplyUpdates
 
 terá que fazer algumas outras coisas antes de persistir os dados.
 
 E se eu conseguir entender como o ApplyUpdates reconhece quais os
 
 registros/campos que precisam ser persistidos, irá facilitar
 muto
  a
 
 minha vida.
 
 Já ouvi falar que tem a ver com o Delta, mas não manjo muito sobre
 
   ele...
 

 
 Abraços,
 

 
 Edelson.
 

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

 

 
   
 
--
 
 - - - - -
 
Uberdam Cavaletti
 
Formado em Tecnologia da informação - Unoesc - Xxe
 
Pós graduado em Desenvolvimento Java - Unoesc - Xxe
 
   
 
Acesse http://www.curricul ar.com.br/ berdam
 
Acesse http://passandovene no.blogspot. com
 
   
 
 - - - - -
 
   
 
   
 
   
 
  
 
   --
 
   Daniel Sobrinho Laporte
 
   Analista de Sistemas e Desenvolvedor Delphi + Firebird.
 
   Colunista e Editor Técnico ClubeDelphi - DevMedia.
 
  
 
   [As partes desta mensagem que não continham texto foram removidas]
 
  
 
  
 
  
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 
 
 
 
 
 
 
 
 
  Veja quais são os assuntos do momento no Yahoo! +Buscados
  http://br.maisbuscados.yahoo.com
 
  [As partes desta mensagem que não continham texto foram removidas

Re: [delphi-br] Funcionamento interno do ApplyUpdates

2009-06-02 Por tôpico Edelson Regis de Lima
A quem possa interessar, conclusões sobre o Delta:

Como os colegas já tinham dito, o Delta armazena somente os registros que
foram modificados.
Então para constatar o seu correto funcionamento, fiz um teste muito
simples:

- Criei um novo projeto e coloquei dois TClientDataSet na tela (cdsNormal e
cdsDelta).
- Com o cdsNormal linkado à minha tabela do banco de dados, inseri, alterei
e deletei registros.
- Depois atribui o Delta do cdsNormal ao Data do cdsDelta: cdsDelta.Data :=
cdsNormal.Delta;
- Quando dei um Active := true no cdsDelta (mostrei os registros num
DBGrid), o mesmo continha somente as alterações realizadas no cdsNormal.
- Para saber o que tinha acontecido com cada registro, fiz o seguinte no
evendo onCellClick do DBGrid linkado ao cdsDelta:

procedure TForm1.DBGrid2CellClick(Column: TColumn);
begin
  with cdsDelta do
  begin
case UpdateStatus of
  usUnmodified: lblStatus.Caption := 'Não modificado';
  usModified: lblStatus.Caption := 'Modificado';
  usInserted: lblStatus.Caption := 'Inserido';
  usDeleted: lblStatus.Caption := 'Deletado';
end;
  end;
end;

Simples não?!

Abraços,

Edelson.


2009/6/2 Edelson Regis de Lima edre...@ig.com.br

 Valew pessoal!

 Vou fazer uns testes aqui, e depois posto o resultado.

 Abraços,

 Edelson.


 2009/6/2 Daniel Sobrinho Laporte daniel.lapo...@gmail.com



 Exatamente Ricardo... através do Delta você consegue obter o valor antigo,
 e
 o novo valor dos campos através dos métodos NewValue e OldValue.

 Edelson para um pequeno teste você pode criar um projeto em branco colocar
 dois clientdataset's, um como tabela de memória e o outro com dados
 preenchidos, ao alterar os valores do primeiro e realizar o post, grave o
 delta no clientdataset de memória, desta maneira você pode realizar um FOR
 olhando os fields e comparando-os. É importante que você entenda bem o
 funcionamento de Variants para não ter supresas de como trabalhar com os
 OleVariants.

 []s

 Daniel

 2009/6/2 Ricardo César Cardoso 
 ricardo_engs...@yahoo.com.brricardo_engsoft%40yahoo.com.br
 


 
 
  Até onde lembro o Delta só tem as colunas e dados mudados. Não tem o
  registro todo. Se não me engano a matriz do Delta é algo assim: Field,
  OldValue, NewValue mas não tenho certeza absoluta.
 
  []'s
  Ricardo.
 
  1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.
 
  2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor
  compreendida.
 
  3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!
 
  --- Em ter, 2/6/09, Edelson Regis de Lima 
  edre...@ig.com.bredregis%40ig.com.br
 edregis%40ig.com.br
  escreveu:
 
  De: Edelson Regis de Lima edre...@ig.com.br edregis%40ig.com.bredregis%
 40ig.com.br
  Assunto: Re: [delphi-br] Funcionamento interno do ApplyUpdates
  Para: delphi-br@yahoogrupos.com.br 
  delphi-br%40yahoogrupos.com.brdelphi-br%
 40yahoogrupos.com.br

  Data: Terça-feira, 2 de Junho de 2009, 9:40
 
 
  Entendi...
 
  E eu consigo enxergar as rows os Fields dentro do Data e do Delta?
 
  Ou tenho que fazer algum TypeCast para obter as informações?
 
  Pelo que você falou, eu preciso comparar tudo o que está diferente no
 Delta
 
  em relação ao Data, trabalhar essas informações e depois persistir no
 banco
 
  de dados.
 
  Vocês sabem de alguma maneira eficaz de se fazer isso? Tipo, sem correr
 o
 
  risco de deixar dados para traz?
 
  Obrigado,
 
  Edelson.
 
  2009/6/1 Daniel Sobrinho Laporte daniel.laporte@ gmail.com
 
  
 
  
 
   Edelson o ClientDataSet possui dois estados internos.
 
  
 
   ClientDataSet. Data: contém os dados originais
 
   ClientDataSet. Delta: contém os dados que sofreram alteração
 
  
 
   A peristência na verdade é realizada pelo DataSetProvider de acordo
 com
  seu
 
   UpdateMode e com as configurações dos ProviderFlags. Tanto o Data
 quanto
  o
 
   Delta são OleVariants, desta forma você pode criar um array de
 variants e
 
   atribuir o valor, ou utilizar um outro ClientDataSet. Data em tempo de
 
   execução ok?
 
  
 
   []'s
 
  
 
   Daniel
 
  
 
   2009/6/1 berdam berdamzinho@ yahoo.com. br berdamzinho% 40yahoo.com
 .
  br
 
  
 
  
 
   
 
   
 
o dataset tem tuas propriedades o data e o delta, se n me engano o
 data
 
possui o registro, já o delta possui todos os registros alterados.
 
   
 
Edelson Regis de Lima escreveu:
 
   
 

 

 
 Olá galera!
 

 
 Alguém sabe como o ApplyUpdates do TClientDataSet reconhece
 
   internamente
 
 quais são os registros que foram alterados, e que operação ele
  precisa
 
 executar (se é insert, update, delete...).
 
 Estou perguntando isso porque estou desenvolvendo um componente
  herdado
 
do
 
 TClientDataSet, que terá um ApplyUpdates modificado . Esse
 
   ApplyUpdates
 
 terá que fazer algumas outras coisas antes de persistir os dados.
 
 E se eu conseguir entender como o ApplyUpdates reconhece quais os
 
 registros/campos que precisam ser persistidos, irá

Re: [delphi-br] Dbexpress - Vocês recomendam?

2009-06-01 Por tôpico Edelson Regis de Lima
Olá Eduardo.

Você já utiliza esses componentes multibanco?
Estamos começando um projeto aqui na empresa, que deverá suportar Oracle,
SqlServer, SyBase... e estamos num grande dilema sobre qual tecnologia usar.
A principio decidimos pelo framework tiOPF, porém não sei se conseguiremos
usar o data snap no servidor de aplicação, pois não sei se o mesmo trafega
objetos... aí teríamos que usar algum framework para trafegar esses objetos,
e teríamos mais uma vez que fazer inúmeros testes até achar um que funcione
legal, e o prazo ta meio curto.
Derrepente com esses componentes que você indicou dá para desenvolver o
sistema com suporte a todos esses bancos, e ainda utilizar o data snap...

Abraços,

Edelson.



2009/6/1 Eduardo Silva dos Santos eduardo@gmail.com



 Se você um pacote componentes multibanco e com total compatiblidade use
 este
 aqui: http://www.devart.com/unidac/

 2009/6/1 Alexandre 
 alexandresoare...@yahoo.com.bralexandresoaressp%40yahoo.com.br
 


 
 
  Outra dúvida, pessoal estou pensando em usar dbexpress em minhas
  aplicações, alguem recomenda usar esses componentes?funciona normalmente
 em
  rede?percebi que não usa TIBTransaction igual o TIBDATABASE, vocÊs
  recomendam?
 
  Alex
 
  __ Information from ESET NOD32 Antivirus, version of virus
  signature database 4117 (20090530) __
 
  The message was checked by ESET NOD32 Antivirus.
 
  http://www.eset.com
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 --
 ...
 Eduardo Silva dos Santos
 DRD SISTEMAS
 (27) 3218-4201
 (27) 9961-7095
 MSN: eduardo@gmail.com eduardo.drd%40gmail.com
 Site: http://www.drdsistemas.com.br/
 ...

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

  



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



[delphi-br] Funcionamento interno do ApplyUpdates

2009-06-01 Por tôpico Edelson Regis de Lima
Olá galera!

Alguém sabe como o ApplyUpdates do TClientDataSet reconhece internamente
quais são os registros que foram alterados, e que operação ele precisa
executar (se é insert, update, delete...).
Estou perguntando isso porque estou desenvolvendo um componente herdado do
TClientDataSet, que terá um ApplyUpdates modificado. Esse ApplyUpdates
terá que fazer algumas outras coisas antes de persistir os dados.
E se eu conseguir entender como o ApplyUpdates reconhece quais os
registros/campos que precisam ser persistidos, irá facilitar muto a
minha vida.
Já ouvi falar que tem a ver com o Delta, mas não manjo muito sobre ele...

Abraços,

Edelson.


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



Re: [delphi-br] Dbexpress - Vocês recomendam?

2009-06-01 Por tôpico Edelson Regis de Lima
No meu caso, como o sistema será em 3 ou mais camadas, o Servidor de
Aplicação precisará trafegar os dados de qualquer maneira.
Já ouvi falar muito bem do Data Snap, das suas vantagens e facilidades na
hora de desenvolver... mas não sei se ele trafega objetos, pelo menos ainda
não vi nenhum exemplo... e como estamos utilizando um framework de
persistencia, tavez teríamos que usar alguma alternativa ao DataSnap para
trafegar esses dados entre Client e Server.
Mas se derrepente o UniDAC suportar todos os bancos que o sistema precisará
trabalhar, e for compatível com o DataSnap, talvez seja uma boa opção...

Edelson.


2009/6/1 Fellipe Henrique felli...@gmail.com



 Bom amigos, por experiência própria.. fuja do DBX...ele comparado a outros
 é
 bem ruizinho... tipo o UniDAC...este SIM é um ótimo componente, com acesso
 NATIVO a vários DBs...

 Quanto ao DataSnap, vai muito da aplicação, veja se realmente a aplicação
 necessita desta metodologia...se não, vai normal mesmo..

 Att.
 Fellipe H.


 2009/6/1 Edelson Regis de Lima edre...@ig.com.br edregis%40ig.com.br

 
 
  Olá Eduardo.
 
  Você já utiliza esses componentes multibanco?
  Estamos começando um projeto aqui na empresa, que deverá suportar Oracle,
  SqlServer, SyBase... e estamos num grande dilema sobre qual tecnologia
  usar.
  A principio decidimos pelo framework tiOPF, porém não sei se
 conseguiremos
  usar o data snap no servidor de aplicação, pois não sei se o mesmo
 trafega
  objetos... aí teríamos que usar algum framework para trafegar esses
  objetos,
  e teríamos mais uma vez que fazer inúmeros testes até achar um que
 funcione
  legal, e o prazo ta meio curto.
  Derrepente com esses componentes que você indicou dá para desenvolver o
  sistema com suporte a todos esses bancos, e ainda utilizar o data snap...
 
  Abraços,
 
  Edelson.
 
  2009/6/1 Eduardo Silva dos Santos 
  eduardo@gmail.comeduardo.drd%40gmail.com
 eduardo.drd%40gmail.com
  
 
 
  
  
   Se você um pacote componentes multibanco e com total compatiblidade use
   este
   aqui: http://www.devart.com/unidac/
  
   2009/6/1 Alexandre 
   alexandresoare...@yahoo.com.bralexandresoaressp%40yahoo.com.br
 alexandresoaressp%40yahoo.com.br
  alexandresoaressp%40yahoo.com.br
   
  
  
   
   
Outra dúvida, pessoal estou pensando em usar dbexpress em minhas
aplicações, alguem recomenda usar esses componentes?funciona
  normalmente
   em
rede?percebi que não usa TIBTransaction igual o TIBDATABASE, vocÊs
recomendam?
   
Alex
   
__ Information from ESET NOD32 Antivirus, version of virus
signature database 4117 (20090530) __
   
The message was checked by ESET NOD32 Antivirus.
   
http://www.eset.com
   
[As partes desta mensagem que não continham texto foram removidas]
   
   
   
  
   --
   ...
   Eduardo Silva dos Santos
   DRD SISTEMAS
   (27) 3218-4201
   (27) 9961-7095
   MSN: eduardo@gmail.com eduardo.drd%40gmail.com eduardo.drd%
 40gmail.com eduardo.drd%
  40gmail.com
   Site: http://www.drdsistemas.com.br/
   ...
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
  
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 --
 _
 T.·.F.·.A.·.
 Fellipe Henrique
 Blog: www.digitumsoft.com.br/blogs/fellipeh
 --
 CAMPANHA POR UMA INTERNET SEGURA
 Proteja o endereço de seus amigos como estou protegendo o seu. Ao enviar
 mensagens use SEMPRE o Cco (cópia oculta).
 Assim TODOS os endereços estarão preservados. E, claro, antes de encaminhar
 um e-mail, delete todas as informações que apareçam no corpo do e-mail e
 que
 possam ser usadas por hackers.
 ###

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

  



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



Re: [delphi-br] GetPropValue retornar conteúdo do t ipo TMemoryStream

2009-05-29 Por tôpico Edelson Regis de Lima
Consegui usando o GetObjectProp.

Tive que fazer assim:
MinhaStream.LoadFromStream(TMemoryStream(GetObjectProp(MeuObjetoLocal,
NomePropriedade,TMemoryStream)));

Se eu não fizer o TypeCast com o TMemoryStream não compila, porque o retorno
de GetObjectProp é um TObject.

Obrigado pela ajuda!

Abraços,

Edelson.


2009/5/29 Edelson Regis de Lima edre...@gmail.com

 Então João, eu dei uma olhada na classe TTypeKink, e ela não suporta Stream

 TTypeKind = (tkUnknown, tkInteger, tkChar, tkEnumeration, tkFloat,
 tkString, tkSet, tkClass, tkMethod, tkWChar, tkLString, tkWString,
 tkVariant, tkArray, tkRecord, tkInterface, tkInt64, tkDynArray);

 Eu até consigo acessar as minhas propriedades da maneira que voce falou,
 mas quando é Stream ele não retorna corretamente.
 Tipo, os dados que estou utilizando tem mais de 70 mil bytes, e quando
 recupero isso usando VPropInfo^.PropType^.Kind ele me retorna apenas alguns
 bytes...

 Quando é string, float, integer... está vindo direito, mas quando é Stream
 ele não consegue recuperar corretamente.

 Edelson.




 2009/5/28 Joao Morais jcmorai...@gmail.com



 2009/5/28 Joao Morais jcmorai...@gmail.com jcmoraisjr%40gmail.com:

   VPropInfo := GetPropInfo(Owner, Metadata.Name);

 GetPropInfo(SeuObjeto, 'NomeDaPropriedade');

 Joao Morais
  





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



[delphi-br] GetPropValue retornar conteúdo do tipo TMemoryStrea m

2009-05-28 Por tôpico Edelson Regis de Lima
Olá pessoal.

Não sei se é possível, mas vamos lá...

Tenho uma classe principal: TMinhaClasse, que tem algumas propertys básicas.
Eu crio outra classe TMinhaClasseHerdada = class(TMinhaClasse) e acrescento
mais algumas propertys...

Implementei uma função usando RTTI que lê qualquer tipo de objeto herdado de
TMinhaClasse e mostra suas propriedades e respectivos valores.
Só que estou tendo problema quando a property é do tipo TMemoryStream, pois
utilizo a function GetPropValue, que me retorna uma Variant, e os dados
contidos nessa property, que seria um monte de binários, me retorna alguns
números apenas.
Será que tem outro jeito de fazer isso?

Alguem sabe como ler uma propriedade genericamente, sem saber previamente
qual o seu tipo, e se for do tipo TMemoryStream ou TStream, que retorne o
seu conteúdo corretamente?

Grato,

Edelson.


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



Re: [delphi-br] Boleto Bancário

2009-05-22 Por tôpico Edelson Regis de Lima
Acho que todos os bancos tem a opção de gerar boleto para pessoa física.
A diferença é que a taxa cobrada por boleto gerado é maior do que para PJ.
Mas dá sim...

Até mais,

Edelson.


2009/5/21 JB josebened...@gmail.com



 Eu gero no bradesco e nunca tive problemas

 2009/5/21 felipe govoni govoni.fel...@gmail.comgovoni.felipe%40gmail.com
 :

 
 
  no itau vc consegue gerar boeto como PF, porem tem alguns
  detalhes que vc deve verificar com o banco.
 
  2009/5/21 Alessandro Magno 
  informati...@bioextratus.com.brinformatica5%40bioextratus.com.br
 
 
 
 
  Galera,
 
  Tendo uma conta de pessoa física no banco, eu consigo gerar boleto
  bancário em meu nome ou somente pessoas jurídicas???
 
 
 
 
  --
  Felipe Govoni
  -
  GOVONI Sistemas
  Fone 8472-8718
  www.govoni.com.br
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 

 --
 
 José Benedito
 Software Developer
 +55 19 8116-7826
 msn: jb_holam...@hotmail.com jb_holambra%40hotmail.com
 skype:jb.sologix
  



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



Re: [delphi-br] importa dados do excel para o interbase

2009-05-11 Por tôpico Edelson Regis de Lima
Uma solução é fazer um programa que lê o excel como um banco de dados, e
insira os registros no Interbase...

Edelson.


2009/5/11 rzzanatta rzzana...@yahoo.com.br



 Olá galera estou com alguns dados em excel e queria importar eles para o
 interbase como faço isso?
 Obrigado.

  



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



Re: [delphi-br] Traduzir textos no Rave Report

2009-05-07 Por tôpico Edelson Regis de Lima
Eu acho que nem precisa ser por parametro, deve haver uma maneira de
percorrer todos os ítens dentro da classe TRvProject e fazer a tradução.
Alguém já criou alguma rotina para varrer os componentes dentro de um
relatório no Rave?

Att,

Edelson.



2009/5/5 berdam berdamzi...@yahoo.com.br



 vc pode fazer por parâmetros, e passa esses valores de parâmetros pelo
 delphi, parecido com quick report

 Edelson Regis de Lima escreveu:

 
 
  Olá Pessoas!
 
  Estou desenvolvendo um sistema multi-idiomas.
  Nos Forms é fácil fazer a tradução... criei um componente que varre o
  form e
  traduz os captions, text, etc.
  Mas tenho que arrumar uma maneira de traduzir tambem os textos dentro dos
  relatórios do Rave Report, sem precisar fazer uma versão dos
  relatórios para
  cada Idioma.
  Mas não tenho muita idéia de como fazer isso, até mesmo porque não
 conheço
  muito sobre o Rave.
  Me disseram que dá para criar componentes para o Rave.. talvez aí esteja
 a
  solução.
  Alguém tem uma sugestão?
 
  Abraços,
 
  Edelson.
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 

 --
 -
 Uberdam Cavaletti
 Formado em Tecnologia da informação - Unoesc - Xxe
 Pós graduado em Desenvolvimento Java - Unoesc - Xxe

 Acesse http://www.curricular.com.br/berdam
 Acesse http://passandoveneno.blogspot.com

 -

  



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



[delphi-br] Propriedade do Componente tipo OpenDialog

2009-05-06 Por tôpico Edelson Regis de Lima
Boa tarde!

Uso Delphi 2007!
Estou criando um componente, e uma das propriedades tipo published (editável
no Object Inspector) deverá ser do tipo Open Dialog, para que a pessoa
clique e escolha o caminho do arquivo.
Pesquisei alguns exemplos na internet, mas acho que foram escritos em
versões mais antigas do delphi, pois no 2007 não rola.
Dei uma olhada no exemplo deste link:
http://www.dpi.ufv.br/downloads/cursoKylix/Material/Apostilas/ccu09.htm

Não está dando certo porque o exemplo pede para usar o tipo da classe como
TStringProperty, que está na unit DesignEditors. Só que no delphi 2007 essa
unit dá pau, porque encontra um monte de dependencias...
Alguém tem uma luz?

Grato,

Edelson.


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



[delphi-br] Traduzir textos no Rave Report

2009-05-05 Por tôpico Edelson Regis de Lima
Olá Pessoas!

Estou desenvolvendo um sistema multi-idiomas.
Nos Forms é fácil fazer a tradução... criei um componente que varre o form e
traduz os captions, text, etc.
Mas tenho que arrumar uma maneira de traduzir tambem os textos dentro dos
relatórios do Rave Report, sem precisar fazer uma versão dos relatórios para
cada Idioma.
Mas não tenho muita idéia de como fazer isso, até mesmo porque não conheço
muito sobre o Rave.
Me disseram que dá para criar componentes para o Rave.. talvez aí esteja a
solução.
Alguém tem uma sugestão?

Abraços,

Edelson.


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



Re: [delphi-br] Re: ComboBox de 2 colunas

2009-05-04 Por tôpico Edelson Regis de Lima
Em que versão do Delphi voce criou o Exemplo?
Estou tentando abrir o projeto aqui no Delphi 2007, e dá: Unable to load
project
Já fiz o download umas 3 vezes para ver se resolvia, mas nada...
Só abre o MD_ItemCombo... e da Unit1.pas só abre o form e não mostra o
código.

Abraços,

Edelson.


2009/4/30 Paulo Coutinho pa...@prsolucoes.com



 Postei um exemplo na sessão de arquivos do grupo, está funcionando
 perfeitamente.

 Obrigado a todos, vocês são os caras.

 Abraçam e fiquem com Deus.

 2009/5/1 Paulo Coutinho pa...@prsolucoes.com paulo%40prsolucoes.com


  Hum, boa essa do AddObject, nunca havia testado.
 
  Posso no caso armazenar vários objetos de minha classe ItemCombo, que
  contém atributos como id/valor, ai depois recupero com o cast como você
 fez
  joão.
 
  Muito bom, obrigado pela ajuda, vou testar aqui.
 
  2009/4/30 Joao Henrique Levada joaolev...@gmail.comjoaolevada%40gmail.com
 
 
 
 
  Meu caro, você pode armazenar um valor em cada item do combo:
 
  iNumero := 1981; {valor inteiro para armazenar}
  ComboBox1.Items.AddObject('meu nome', TObject(iNumero)); {usa a
  propriedade
  Objects para armazenar o integer}
 
  iIndice := Combobox1.ItemIndex;//iIndice é variável explicativa
  iValor := Integer(ComboBox1.Items.Objects[iIndice]); {recuperando o
  valor armazenado}
 
 
 
 
 
 
  --
  Atenciosamente,
  Paulo Coutinho.
  Blog: www.prsolucoes.com/blog
  Site: www.prsolucoes.com
  Msn: pa...@prsolucoes.com paulo%40prsolucoes.com
 

 --
 Atenciosamente,
 Paulo Coutinho.
 Blog: www.prsolucoes.com/blog
 Site: www.prsolucoes.com
 Msn: pa...@prsolucoes.com paulo%40prsolucoes.com

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

  



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



[delphi-br] Transferir arquivo com TIdTcpServer/TIdTcpClient

2009-04-28 Por tôpico Edelson Regis de Lima
Bom dia pessoal.

Estou tentando transferir os dados do meu Client no formato XML para o
Server, e o Server pegar esse XML, fazer o que tiver que fazer, e devolver
uma mensagem se deu tudo certo ou não.
Eu peguei como base um exemplo do proprio Indy, de uma aplicação onde o
Server envia uma imagem ao Client.
Estou utilizando Indy 10, e tive que corrigir o exemplo, pois era em Indy 9.

O Client se conecta com o Server direitinho, o Server dá um ReadStream, só
que fica esperando a vida inteira e não recebe nada do Client.
Segue o código abaixo com comentários nas linhas onde o processamento é
interrompido... como é a primeira vez que trabalho com esses componentes, eu
devo ter feito algo errado.

CLIENT
procedure TFormCliente.btnSalvarClick(Sender: TObject);
var
  stream: TFileStream;
  s: string;
begin
  inherited;
CS.Enter;
try
  with Client do
  begin

if not Connected then
  Connect;

stream := TFileStream.Create(ExtractFileDir(ParamStr(0)) +
'\CLIENTE.XML', fmOpenRead+ fmShareDenyNone);

IOHandler.WriteBufferOpen;
IOHandler.Write(stream);
IOHandler.WriteBufferClose;
FreeAndNil(stream);

s := IOHandler.ReadLn; //DEPOIS QUE O SERVER DÁ UM ReadStream, O
CLIENT PROCESSA ATÉ AQUI E TRAVA
Client.Disconnect;

  end;

  if s = 'OK' then
ShowMessage('Operação com Servidor realizada com sucesso!')
  else
ShowMessage('Houve uma falha na operação com o Servidor!' + #10 +
'Tente enviar novamente');
except
  on E:Exception do
ShowMessage(e.Message);
end;
CS.Leave;
end;

SERVER
procedure TForm1.ServerExecute(AContext: TIdContext);
var
  stream: TFileStream;
begin
  try
CS.Enter;
try
  if FileExists(ExtractFileDir(ParamStr(0)) + '\CLIENTE.XML') then
DeleteFile(ExtractFileDir(ParamStr(0)) + '\CLIENTE.XML');
  lbStatus.Items.Add('Recebendo arquivo...');
  stream := TFileStream.Create(ExtractFileDir(ParamStr(0)) +
'\CLIENTE.XML', fmCreate);

  AContext.Connection.IOHandler.ReadStream(stream, -1, false);  // O
PROCESSAMENTO DO SERVER TRAVA AQUI, E NÃO RECEBE RESPOSTA
  AContext.Connection.IOHandler.WriteLn('OK');

  AContext.Connection.Disconnect;

  FreeAndNil(stream);
//  image1.Picture.Bitmap.LoadFromStream(stream);

  lbStatus.Items.Add('Arquivo CLIENTE.XML recebido com sucesso!');

  lbStatus.Items.Add('Resposta OK enviada ao Client!');

except
  on E:Exception do
ShowMessage('Erro ao receber XML' + #10 + e.Message);
end;
  finally
CS.Leave;
  end;
end;


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



Re: [delphi-br] Re: Cliente

2009-04-23 Por tôpico Edelson Regis de Lima
Pode ser o nome da maquina, ao invés do IP
MeuServer:c:/sistema/Projeto/dados/banco.gdb

Edelson.


2009/4/23 dhsb dionata...@unijui.edu.br



 Nao posso colocar o ip pois e ip automotico na rede por isso
 (compartilhamento de internet, etc..)!

 --- Em delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br,
 Andrei Luís compuvale.softw...@... escreveu

 
  Dionatan,
 
  - troque a string de conexão para
  ip_do_servidor:c:/sistema/Projeto/dados/banco.gdb, faça isso também no
  servidor.
  - não precisa compartilhar a pasta onde está o banco de dados, aliás, é
  extramente recomendável que NÃO se faça isso, por motivos de segurança e
 pra
  evitar que algum usuário corrompa o arquivo 'sem-querer' (leia-se mexendo
  onde não deveria)
  - eu prefiro copiar o executável pras estações, gera menos tráfego na
 rede.
 
  []
  Andrei
 
 
  2009/4/23 dhsb dionata...@...
 
   Pessoal, desculpe a ignorancia mas e a primeira vez que fasso isso em
   rede...
  
   Como devo proceder para colocar o sistema em rede uso o firebird ...
  
   ja instalei o fire nass maquinas clientes
  
   o servidor tem a seguinte estrutura
  
   c:/sistema/Projeto/dados/banco.gdb
  
   ja compartlheio as pastas eu uso um arquivo ini
  
   [Banco]
   database=\\escritorio\!dados!\BANCO.GDB
  
   Minha pergunta. Preciso copiar o executavel do servidor para a maquina
   cliente junto com o ini ou posso criar apenas um atalho?
  
   Como devo proceder?
  
  
  
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 

  



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



Re: [delphi-br] pouco por um sistema!!!

2009-04-22 Por tôpico Edelson Regis de Lima
É pessoal, que falta faz um orgão regulamentador para a nossa tão
indispensável profissão, tal como OAB, CREA, CRM, etc...


Edelson.



2009/4/22 Leonardo Quinino leonardo.quin...@gmail.com



 Opnião Clara e sem rodeios

 1- Programa quem faz é prostituta (poderia até usar outra palavra de baixo
 calão, mas para evitar ban do grupo) deixa a palavra prostituta.

 2- Sisteminha até estudante iniciante faz, solução de software, não.

 3- Ou é barato ou é bom !!! (essa é uma aplicabilidade que desde que
 começei a usar, as coisas melhoraram) * item 3 , salvo raras exceções
 deixa de ser verdade.

 4- Ou nós, nos organizamos em sindicato , associação ou algo do genêro ou o
 mercado vai ficar eternamente, bagunçado.

 2009/4/22 Alisson alss...@yahoo.com.br alssnco%40yahoo.com.br


 
 
  CAFÉ não tem acento, Sílvio? Você está doido? Se você não colocar acento,
 a
 
  sílaba tônica seria o CA.
 
  __
  Faça ligações para outros computadores com o novo Yahoo! Messenger
  http://br.beta.messenger.yahoo.com/
 
 

 --
 Leonardo Quinino

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

  



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



Re: [delphi-br] FastMM

2009-04-22 Por tôpico Edelson Regis de Lima
É isso aí pessoal, acho que já esclareceram as minhas dúvidas!
Irei  começar a utilizar o FastMM4 em um projeto, e como nunca
tinha utilizado o mesmo, resolvi perguntar aqui na lista pra ver realmente
em que situações poderei utiliza-lo.

Obrigado!

Abraços,

Edelson.



2009/4/21 Joao Morais jcmorai...@gmail.com



 2009/4/21 Silvio Clécio silviop...@yahoo.com.brsilvioprog%40yahoo.com.br
 :

  Olá galera,
 
  Edelson, até onde eu sei o FastMM é só para gerenciar memória.
 
  Um dica: quando vc for entregar o sistema ao cliente, remova FastMM4 da
 cláusula
  uses, pq se der um pepino o teu cliente vai achar a mensagem de erro um
 tanto
  _cabiluda_ :D

 Por padrão o FastMM só reporta vazamentos se encontrar a IDE na
 memória. Ainda assim vale a pena ter o FastMM no projeto por ser um
 gerenciador de memória melhor do que o da Borland, mas configurar o
 FastMMOptions.inc corretamente para não trabalhar em modo de depuração
 e não apresentar mensagens de erro.

 Joao Morais
  



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



Re: [delphi-br] FastMM

2009-04-21 Por tôpico Edelson Regis de Lima
Olá Silvio.

Não, pelo contrário, eu acho isso bom pra caramba!!! Um recurso
indispensável para quem quer aumentar a performance da aplicação, eliminando
possíveis vazamentos de memória, e consequentemente eliminando problemas
futuros.
A minha dúvida é se o FastMM tem mais algum recurso além do que voce mostrou
no exemplo (o que já é muito).
Tipo, tirando as configurações do FastMM4Options.inc, o qual podemos
configurar a nosso gosto, há mais alguma coisa que podemos fazer com o
FastMM?
E obrigado pelo e-mail! Já recebi aqui. :-)

Abraços,

Edelson.


2009/4/20 Silvio Clécio silviop...@yahoo.com.br



 Olá galera,


 Preciso pesquisar sobre o assunto, e até agora o que eu vi na internet são
 exemplos em que o cara esqueceu de liberar um objeto da memória, e o
 FastMM o avisa sobre isso.

 Cara num leve a mal não, mas, vc acha isso pouco?
 Enviei o FastMM4 para teu email, veja o projeto teste na pasta
 Exemplo-PtBr.
 
 []'s, Silvio Clécio
 ---
 Linux User: #481900
 Skype: silvioprog
 ICQ: 432519902
 E-mail, Y! Messenger: silviop...@yahoo.com.br silvioprog%40yahoo.com.br
 Gmail, GTalk: silviop...@gmail.com silvioprog%40gmail.com
 BlogSite: http://silvioprog.blogspot.com/
 BlogSpot: http://silvioclecio.blogspot.com/
 VirtualDriver: http://silvioprog.4shared.com/
 °oO| Seja livre, use Linux! |Oo°

 Veja quais são os assuntos do momento no Yahoo! +Buscados
 http://br.maisbuscados.yahoo.com

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

  



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



[delphi-br] FastMM

2009-04-20 Por tôpico Edelson Regis de Lima
Salve Galera!

O FastMM serve só para gerenciar, no período do desenvolvimento do sistema,
se esquecemos de liberar algo da memória???
Ou tem outras funcionalidades? Como deixar a aplicação mais leve, alocar
memória, etc...
Preciso pesquisar sobre o assunto, e até agora o que eu vi na internet são
exemplos em que o cara esqueceu de liberar um objeto da memória, e o
FastMM o avisa sobre isso.
E eu gostaria de saber se a finalidade é só essa mesmo...

Abraços,

Edelson.


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



Re: [delphi-br] Calcular tempo restante

2009-04-17 Por tôpico Edelson Regis de Lima
Eu resolvi da seguinte maneira:

diferenca := TempoAtual - TempoInicial;
TempoRestante := ((BarraProgresso.Max / BarraProgresso.Position) *
diferenca) - diferenca ;

Aí ficou certinho!

Abraços,

Edelson.


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



Re: [delphi-br] Criar Add-in no Excel com o Delphi

2009-04-16 Por tôpico Edelson Regis de Lima
Olá Reinaldo!

Realmente não existe literatura sobre isso, o que dificulta muito as coisas.
Mas voce chegou a dar uma olhada no link que eu passei? http://www.add-in
-express.com/downloads/adxvcl.php
É de uma empresa que criou os componentes que fazem exatamente o que eu
quero, tem até algumas imagens lá mostrando, tutoriais sobre os componentes,
etc., dá pra fazer coisas bem bacanas e personalizadas, e isso programando
tudo em delphi!
Só que é de $ 400 para cima, o que daria cerca de R$ 1.000,00... aí que
complica, rs... e isso pra uma licença só se eu não me engano.

Eu achei um outro artigo também (em inglês), que o cara diz que cria os
add-ins para excel em C/C++ e Delphi.
Eu peguei um paragrafo e joquei no tradutor do google, que diz o seguinte:
*
Uma das características menos conhecida Excel são os add-ins. Embora você
possa criá-los com o VBA, você também pode escrever add-in Dlls em C + + e
Delphi. Aqueles fazendo graves desenvolvimento tem de comprar o Excel 97
Developer's Kit (ISBN 1-57231-498-2) (EDK) livro, mas é claro que é C / C +
+ orientado, e há algumas armadilhas para o programador Delphi. Neste artigo
eu irei mostrar o suficiente para que você caminhe. Como um desenvolvedor em
um ambiente de trabalho Excel tenho desenvolvido com sucesso muitos add-ins
com Delphi 3, e eu sei que ninguém mais está fazendo isso. Existe Financeiro
CAD, uma empresa canadiana que os suplementos podem ser utilizados a partir
do Delphi, mas acho que eles estão escritas em C + +. Ei, eu poderia ser a
única pessoa no mundo a fazer isto!*

Isso mostra que é um recurso pouco explorado, mas que também não é um bicho
de 7 cabeças... o problema é saber por onde começar.
No artigo desse cara ele mostra como dar os primeiros passos, só que
infelizmente em C, e não em delphi.
Derrepente, daria pra seguir os passos e tentar escrever os códigos em
delphi.
Caso voce queira dar uma olhada no artigo, segue o link:
http://www.aspfree.com/c/a/Windows-Scripting/Writing-Excel-Addons/

Abraços,

Edelson.


2009/4/15 Reinaldo Aparecido Pereira ctocv...@yahoo.com.br



 Olha amigo,

 Não quero te desanimar, mas precisei fazer algo parecido para o Outlook e
 desisti. (Outlook, Excel e Word é bem parecido. Apredeu a fazer pra um é
 fácil fazer noutro).

 Creio que para fazer algo assim em Delphi é muito difícil porque não existe
 literatura, mas principalmente porque o Delphi não é ferramenta para isso.
 Vb sim é a ferramenta correta nesse caso.

 O que você quer fazer é fácil usando macros do Excel ou talvez usando um
 pouco de Vba, mas posso afirmar que em Delphi é um buraco negro e, sem
 querer te desmotivar, sugiro não perder tempo com o assunto.

 Ainda assim se quiser se arriscar por esse terreno desconhecido, , existe
 um
 livro especifico para programação de add-ins para Office em inglês. Foi a
 única literatura que encontrei e pra piorar, todos os códigos de exemplos
 estão escritos em VB.

 Ah, antes de qualquer coisa, entre no Shell de programação do Excel, lá
 onde
 você escreve códigos para as planilhas e leia no help tudo sobre os objetos
 vba.

 Me mantenha informado sobre sua evolução.

 Abaixo alguns links que podem te ajudar:

 http://dimastr.com/babelfish/ - exemplo de desenvolvimento de de um addin
 para Outlook.

 http://www.swissdelphicenter.com/en/objekte.php

 http://www.swissdelphicenter.ch/en/showcode.php?id=881

 http://edn.embarcadero.com/search?q=outlook
 http://edn.embarcadero.com/search?q=outlookallsites=yallwords=y
 allsites=yallwords=y

 http://www.delphikb.com/Default.aspx?db=122111
 http://www.delphikb.com/Default.aspx?db=122111cat=0\43\46 cat=0\43\46

 http://www.djpate.freeserve.co.uk/AutoOutl.htm#ComposeEmail


 http://www.imibo.com/imidev/delphi/les/index_3.html#Demo_Extended_MAPI_in_De
 lphi_projects

 http://www.borlandtalk.com/re-how-to-automate-outlook-vt56175.html

 http://msdn.microsoft.com/en-us/library/bb277365.aspx


 http://www.tech-archive.net/Archive/Development/microsoft.public.win32.progr
 ammer.messaging/2004-07/

 Abçs, Reinaldo

 De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br [mailto:
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br] Em
 nome de Edelson Regis de Lima
 Enviada em: quarta-feira, 15 de abril de 2009 14:13
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Assunto: [delphi-br] Criar Add-in no Excel com o Delphi


 Olá pessoal!

 Eu postei essa pergunta há umas duas semanas, e como não obtive respostas
 vou tentar a sorte novamente... rs
 Derrepente alguém que manja do assunto não viu a mensagem anterior, e
 talvez
 veja essa nova.

 Preciso criar com o Delphi, um Add-in no Excel (um ítem personalizado no
 menu do Excel), que executa alguma rotina qualquer.

 Detalhe: não é exportar dados para o excel, é criar um ítem no menu do
 excel, onde eu possa extrair dados da minha aplicação, como por exemplo
 trazer a quantidade de produtos vendidos no mês. Essa rotina seria toda
 escrita no delphi, compilada, e executada nesse

[delphi-br] Calcular tempo restante

2009-04-16 Por tôpico Edelson Regis de Lima
Olá pessoal.

Digamos que eu uma ProgressBar com o Max = 1000.
Faço um loop de 1 até ProgressBar.Max, e em cima dela eu quero calcular o
Tempo Decorrido, e o Tempo Restante que falta para completar o loop (igual
ao tempo restante em uma tela de download).
O Tempo decorrido é fácil, faço da seguinte maneira:

TempoDecorrido := FormatDateTime('hh:nn:ss', TempoAtual - TempoInicial);

Para calcular o TempoRestante eu teria que fazer uma regrinha de três:
para TempoDecorrido = ProgressBar.Position
então X = ProgressBar.Max

Aí fiz o seguinte:

TempoRestante := (TempoDecorrido * BarraProgresso.Max) /
BarraProgresso.Position ;

Mas isso não dá certo...
Já tentei transformar o TempoDecorrido em segundos antes de fazer a conta,
mas dá uns tempos doidos... só no final que dá certo, que é quando a termina
o loop e o TempoRestante fica igual a zero.

Se alguém souber onde estou comendo bola...

Abraços,

Edelson.


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



[delphi-br] Criar Add-in no Excel com o Delphi

2009-04-15 Por tôpico Edelson Regis de Lima
Olá pessoal!

Eu postei essa pergunta há umas duas semanas, e como não obtive respostas
vou tentar a sorte novamente... rs
Derrepente alguém que manja do assunto não viu a mensagem anterior, e talvez
veja essa nova.

Preciso criar com o Delphi, um Add-in no Excel (um ítem personalizado no
menu do Excel), que executa alguma rotina qualquer.

Detalhe: não é exportar dados para o excel, é criar um ítem no menu do
excel, onde eu possa extrair dados da minha aplicação, como por exemplo
trazer a quantidade de produtos vendidos no mês. Essa rotina seria toda
escrita no delphi, compilada, e executada nesse add-in criado no excel.

Exemplo: estou digitando minha planilha no excel normalmente, e derrepente
eu preciso do valor total das vendas de um determinado período. Vou lá no
meu menu personalizado dentro do próprio Excel (add-in), e chamo essa
rotina. Pode ser um form que me peça para selecionar o período, sei lá...
Depois de selecionado o período, esse add-in busca na base de dados do meu
sistema a informação necessária, que no caso é o total das vendas do período
escolhido.

Sei que isso é possível, inclusive tem um pacote de componentes pagos que
faz algo assim, é o Add-in Express for Delphi VCL (http://www.add-in
-express.com/downloads/adxvcl.php)
Só que é meio salgadinho $$$ rs

Se alguém tiver uma luz...

Abraços,

Edelson.


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



Re: [delphi-br] Pesquisar registro em arquivo XML com TXMLDocument

2009-04-14 Por tôpico Edelson Regis de Lima
Então, eu sei que com o clientDataSet dá fazer buscas usando o locate.

Mas é que eu queria ver se tem como fazer isso utilizando o TXMLDocument, ou
então algum outro recurso que não dependa do XML do clientDataSet, pois o
clientDataSet cria uma estrutura própria, e eu quero conseguir ler qualquer
estrutura.

Nos arquivos da lista tem um material falando sobre XML, e parece que não
usa o XMLDocument, mas eu não entendi direito...



2009/4/14 Alisson alss...@yahoo.com.br



 Esse arquivo não abre com clientdataset?

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



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



[delphi-br] Pesquisar registro em arquivo XML com TXMLDocument

2009-04-13 Por tôpico Edelson Regis de Lima
Boa tarde a todos!

Alguem sabe como posso fazer isso?
Digamos que eu tenha um XML com a seguinte estrutura:

?xml version=1.0 encoding=UTF-8?
CLIENTE
rows
row
ID_CLIENTE = 1
TP_PESSOA = Fisica
NM_CLIENTE = Joao da Silva
NR_CNPJ_CPF = 111
NM_LOGRADOURO = Rua Vergueiro
NR_LOGRADOURO = 500
DS_COMPLEMENTO = Casa 2
NM_BAIRRO = Vila Mariana
NM_CIDADE = Sao Paulo
NM_UF = SP
NR_CEP = 04020001
NR_TELEFONE = 11 -
NR_CELULAR = 11 -
DS_EMAIL = j...@nexxus.com.br
DS_SITE = www.nexxus.com.br/
row
ID_CLIENTE = 2
TP_PESSOA = Fisica
NM_CLIENTE = Maria da Silva
NR_CNPJ_CPF = 222
NM_LOGRADOURO = Rua Vergueiro
NR_LOGRADOURO = 200
DS_COMPLEMENTO = Casa 1
NM_BAIRRO = Vila Mariana
NM_CIDADE = Sao Paulo
NM_UF = SP
NR_CEP = 04015000
NR_TELEFONE = 11 -
NR_CELULAR = 11 -
DS_EMAIL = ma...@nexxus.com.br
DS_SITE = www.nexxus.com.br/
row ... /
row ... /
row ... /
/rows
/CLIENTE

Como eu consigo pesquisar por exemplo o Cliente com com o atributo
ID_CLIENTE = 2?
Será que tenho que fazer um loop no arquivo XML todo e igualar IF ID_CLIENTE
= 2 THEN... ou há uma maneira mais inteligente?
Eu sei que dá para eu pesquisar um nó pelo seu nome, mas no caso eu tenho um
monte de nó chamado row dentro do nó rows, e eu quero pesquisar pelo
conteúdo dos atributos que estão em algum nó row qualquer.

Grato,

Edelson.


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



[delphi-br] Quantum Grid - Hierarquia dos level's

2009-04-08 Por tôpico Edelson Regis de Lima
Bom dia a todos!

Alguém que trabalha com o quantum grid, sabe como identificar o level pai?
Isso independente de datasets, diretamente com as células do grid...
Digamos que eu defini dois níveis no meu cxGrid, o levelPedido e
levelPedidoItem, aí no grid ficaria:

Pedido 1
- Item 1
- Item 2
Pedido 2
- Item 1
- Item 2
- Item 3
e assim vai...

Eu gostaria de, quando clicar em algum Item do pedido, saber à qual Pedido
esse ítem pertence.
Tentei de várias maneiras aqui, e ainda não consegui fazer isso... já olhei
em vários demos da DevExpress, mas tambem não consegui achar isso.

Abraços,

Edelson.


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



Re: [delphi-br] Quantum Grid - Hierarquia dos level's

2009-04-08 Por tôpico Edelson Regis de Lima
Bom dia Juliano.

Bom, isso eu já estou fazendo... rs
Eu já trabalho com o Quantum Grid da DevExpress, e fazer um master/detail é
tranquilo.
A minha dúvida é outra, o que eu quero saber é como identificar quem é o
master quando algum detail for selecionado, independente de dataset...
Tipo, digamos que eu tenha a tabela Pedido e ItemPedido... quando eu clicar
em algum item do pedido, mostrar num ShowMessage por exemplo dizendo a qual
Pedido aquele Item pertence.
Não sei se consegui ser claro... rs (sem buscar isso no dataset linkado no
grid, buscando somente nas proprias linhas do grid)
Outra coisa que não consegui, é percorrer todas as linhas do cxGrid quando
eu tenho um Master/Detail, usando um for por exemplo. Só consigo quando só
tem um nível (level). Não consegui fazer o laço enxergar os subníveis.

Abraços,

Edelson.

2009/4/8 Juliano Silva - Yahoo smjjuli...@yahoo.com.br

   Bom dia

 Cara, o QuantumGrid da DevExpress faz exatamente o que você está
 precisando,
 de uma forma bem tranqüila, vou seja, em um único GRID você consegue
 colocar
 os resultados de um PAI e também de um FILHO, daí quando você clicar sobre
 o
 sinal de + (mais) ele expande o resultado do filho.

 Atenciosamente

 Marçal, Juliano Silva.

 De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br [mailto:
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br] Em
 nome de Edelson Regis de Lima
 Enviada em: terça-feira, 7 de abril de 2009 09:59
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Assunto: [delphi-br] Quantum Grid - Hierarquia dos level's


 Bom dia a todos!

 Alguém que trabalha com o quantum grid, sabe como identificar o level
 pai?
 Isso independente de datasets, diretamente com as células do grid...
 Digamos que eu defini dois níveis no meu cxGrid, o levelPedido e
 levelPedidoItem, aí no grid ficaria:

 Pedido 1
 - Item 1
 - Item 2
 Pedido 2
 - Item 1
 - Item 2
 - Item 3
 e assim vai...

 Eu gostaria de, quando clicar em algum Item do pedido, saber à qual Pedido
 esse ítem pertence.
 Tentei de várias maneiras aqui, e ainda não consegui fazer isso... já olhei
 em vários demos da DevExpress, mas tambem não consegui achar isso.

 Abraços,

 Edelson.

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

 __ Informação do NOD32 IMON 3994 (20090407) __

 Esta mensagem foi verificada pelo NOD32 sistema antivírus
 http://www.eset.com.br

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

  



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



[delphi-br] Criar Add-in no Excel com o Delphi

2009-04-03 Por tôpico Edelson Regis de Lima
Bom dia a todos.

Alguém já fez, ou sabe como fazer isso?
Preciso criar com o Delphi, um Add-in no Excel (um ítem personalizado no
menu do Excel), que executa alguma rotina qualquer.

Detalhe: não é exportar dados para o excel, é criar um ítem no menu do
excel, onde eu possa extrair dados da minha aplicação, como por exemplo
trazer a quantidade de produtos vendidos no mês. Essa rotina seria toda
escrita no delphi, compilada, e executada nesse add-in criado no excel.

Sei que isso é possível, inclusive tem um pacote de componentes pagos que
faz algo assim, é o Add-in Express for Delphi VCL (
http://www.add-in-express.com/downloads/adxvcl.php)
Só que é meio salgadinho $$$ rs

Se alguém tiver uma luz...

Abraços,

Edelson.


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



[delphi-br] Criar Add-in no Excel com o Delphi

2009-04-03 Por tôpico Edelson Regis de Lima
Olá Pessoal.

Se esta mensagem aparecer duas vezes na lista me desculpem... é que postei
uma de manhã, e como até agora não apareceu resolvi postar novamente...

Alguém já fez, ou sabe como fazer isso?
Preciso criar com o Delphi, um Add-in no Excel (um ítem personalizado no
menu do Excel), que executa alguma rotina qualquer.

Detalhe: não é exportar dados para o excel, é criar um ítem no menu do
excel, onde eu possa extrair dados da minha aplicação, como por exemplo
trazer a quantidade de produtos vendidos no mês. Essa rotina seria toda
escrita no delphi, compilada, e executada nesse add-in criado no excel.

Sei que isso é possível, inclusive tem um pacote de componentes pagos que
faz algo assim, é o Add-in Express for Delphi VCL (
http://www.add-in-express.com/downloads/adxvcl.php)
Só que é meio salgadinho $$$ rs

Se alguém tiver uma luz...

Abraços,

Edelson.


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



Re: [delphi-br] Velocidade do Firebird 2.1

2008-07-17 Por tôpico Edelson Regis de Lima
Olá Leonardo.
Eu acesso via IBX.
Eu nao usei o mesmo arquivo (fisico) do banco. Eu criei todas as tabelas
novamente no Firebird, e fiz uma aplicação para converter os dados.
O novo banco foi criado igualzinho, e todos os dados foram importados
corretamente.
A paginação do banco é 8192, no antigo e no novo.
O servidor (hardware) tambem é o mesmo.

Voce usa os dois bancos? Se usa, nas suas aplicações voce já notou alguma
diferença? Os dois bancos tem o mesmo desempenho nas suas aplicações?
Para mim o Firebird 2.1 iria até funcionar mais rapido do que o Interbase
7.5, pelos comentários que eu li na internet do pessoal que já fizeram
testes.
Eu estranhei dos usuários dizerem que o sistema ficou mais lento. Vou ver se
descubro o motivo.

Abraços,

Edelson.


Em 16/07/08, Leonardo Quinino [EMAIL PROTECTED] escreveu:

   Pode ser os métodos que faz o acesso.

 Que ferramenta usa para acessar os dados pelo seu aplicativo ?
 DBEXPRESS ?
 BDE ?
 MDO ?
 ADO ?
 IBX ?
 IBO ?

 Outra situação, é que não sei se vc teve o cuidado de observar, que o
 correto não
 é só trocar o servidor de dados (interbase para firebird), é bom fazer um
 backup
 e restaurar no firebird.

 Tem muita coisa que pode olhar, tamanho da página de dados, e por ae vai.

 2008/7/15 Edelson Regis de Lima [EMAIL PROTECTED] edregis%40ig.com.br:


  Olá pessoal.
 
  Alguem já comparou a velocidade do Firebird 2.1 em relação ao Interbase
  7.5?
  Eu migrei um sistema que usava o Interbase 7.5 para o Firebird 2.1, e os
  usários estao reclamando que ficou mais lento.
  A base é iguazinha, nao mudei nada...
  Será que é mais lento mesmo?
 
  Abraços,
 
  Edelson.
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 --
 Leonardo Quinino

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

 



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



[delphi-br] Velocidade do Firebird 2.1

2008-07-15 Por tôpico Edelson Regis de Lima
Olá pessoal.

Alguem já comparou a velocidade do Firebird 2.1 em relação ao Interbase 7.5?
Eu migrei um sistema que usava o Interbase 7.5 para o Firebird 2.1, e os
usários estao reclamando que ficou mais lento.
A base é iguazinha, nao mudei nada...
Será que é mais lento mesmo?

Abraços,

Edelson.


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



[delphi-br] Firebird 2.1

2008-07-10 Por tôpico Edelson Regis de Lima
Olá pessoal.
Tenho um sistema rodando em Interbase 2007, e preciso migrar para o Firebird
2.1
Para migrar, eu entrei no proprio IBExpert, na aba DDL, onde ele me dá todos
os scripts de criação da tabela, contraints, trigers, etc...
Estava tudo ocorrendo bem, até eu tentar criar a seguinte triger no Firebird
2.1

CREATE TRIGGER TRG_INSERT_DIREITO FOR USUARIO
ACTIVE AFTER INSERT POSITION 0
AS
begin
INSERT INTO DIREITO (COD_USUARIO) VALUES (USUARIO.COD_USUARIO);
end

Essa triger é só para, quando for incluído um novo usuário, ele cria
automaticamente um registro ligado à esse usuário na tabela de direitos.
As tabelas e seus respectivos campos foram criados corretamente, porem
insiste em dar o seguinte erro:

Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
USUARIO.COD_USUARIO.
At line 5, column 51.

Como se ele não encontrasse USUARIO.COD_USUARIO, mas o mesmo existe.
Será que mudou a forma de se referenciar as tabelas no Firebird 2.1?
Detalhe: eu uso o Dialect 3 tanto no Interbase quanto no Firebird.

Abraços,

Edelson.


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



Re: [delphi-br] Firebird 2.1

2008-07-10 Por tôpico Edelson Regis de Lima
Era isso mesmo... troquei o nome da tabela pelo NEW e deu certo!

Obrigado pela ajuda!

Edelson.



Em 10/07/08, Sérgio [EMAIL PROTECTED] escreveu:

   O correto seria, ao meu ver, dessa forma, ja que a trigger está sendo
 criada na tabela USUARIO:

 INSERT INTO DIREITO(COD_USUARIO) VALUES (NEW.COD_USUARIO);

 Att,

 On Wed, 9 Jul 2008 23:30:24 -0300, Edelson Regis de Lima wrote
  Olá pessoal.
  Tenho um sistema rodando em Interbase 2007, e preciso migrar para o
 Firebird
  2.1
  Para migrar, eu entrei no proprio IBExpert, na aba DDL, onde ele me dá
 todos
  os scripts de criação da tabela, contraints, trigers, etc...
  Estava tudo ocorrendo bem, até eu tentar criar a seguinte triger no
 Firebird
  2.1
 
  CREATE TRIGGER TRG_INSERT_DIREITO FOR USUARIO
  ACTIVE AFTER INSERT POSITION 0
  AS
  begin
  INSERT INTO DIREITO (COD_USUARIO) VALUES (USUARIO.COD_USUARIO);
  end
 
  Essa triger é só para, quando for incluído um novo usuário, ele cria
  automaticamente um registro ligado à esse usuário na tabela de direitos.
  As tabelas e seus respectivos campos foram criados corretamente, porem
  insiste em dar o seguinte erro:
 
  Column does not belong to referenced table.
  Dynamic SQL Error.
  SQL error code = -206.
  Column unknown.
  USUARIO.COD_USUARIO.
  At line 5, column 51.
 
  Como se ele não encontrasse USUARIO.COD_USUARIO, mas o mesmo existe.
  Será que mudou a forma de se referenciar as tabelas no Firebird 2.1?
  Detalhe: eu uso o Dialect 3 tanto no Interbase quanto no Firebird.
 
  Abraços,
 
  Edelson.
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 

 Sérgio
 Tecnologia da Informação - TI
 Tel.: 16 3810 1060
 e-mail: [EMAIL PROTECTED] sergio%40altamogiana.com.br
 Usina Alta Mogiana S/A - Acucar e Alcool

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

 



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