[delphi-br] Bookmarks e IndexFieldNames

2009-05-08 Por tôpico Paulo - yahoo
Grupo Delphi-BRGostaria de saber se esse comportamento do ClientDataSet é 
normal, ou se eu é que não estou fazendo algo corretamente:

a) Em uma certa tela de consulta, ordeno os registros de um ClientDataSet por 
DATAEMISSAO+NUMERO_NF.
Assim:

ClientDataSet.IndexFieldNames := 'DATAEMISSAO;NUMERO_NF';


b) Em certo momento, preciso fazer uma pesquisa pelo NUMERO_NF, e por isso mudo 
o IndexFieldNames para:

ClientDataSet.IndexFieldNames := 'NUMERO_NF';

ClientDataSet.FindKey([1234]);  // apenas um exemplo

(aqui o ClientDataSet se posiciona normalmente na NF 1234

c) Porém, preciso retornar logo depois ao índice anterior:

ClientDataSet.IndexFieldNames := 'DATAEMISSAO;NUMERO_NF';

d) O problema é que, quando eu retorno à classificação anterior, o registro 
posicionado muda, ou seja, o ponteiro do ClientDataSet deixa de estar na NF
1234 e passa a estar em outro registro.

e) Tentei usar GetBookMark e GotoBookMark, mas parece que não adianta, porque 
após mudar o IndexFieldNames, o GotoBookMark continua caindo em outro registro

Alguém tem alguma idéia de como executar os comandos acima, ou seja, mudar a 
classificação, pesquisar um registro, retornar à classificação anterior e 
manter o ponteiro no registro que foi pesquisado ?

Obs.: Eu não criei índices nesse ClientDataSet porque não vi necessidade, pelo 
menos até o momento.  Apena o IndexFieldNames estava resolvendo bem a situação, 
até eu me deparar com o problema acima.

Grato pela atenção de todos.
Paulo

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



[delphi-br] Pedido de auxílio com o Inno Setup

2009-01-06 Por tôpico Paulo - yahoo
Pessoal:

A respeito de uma instalação que estou criando com o Inno Setup/IsTool:

a) Alguém pode me enviar um exemplo de arquivo EM PORTUGUÊS a ser exibido na 
tela
"Contrato de Licença de Uso" ?   Não sei que tipo de termos costumam ser usados
nesse arquivo (estou usando, por enquanto, um exemplo em inglês que veio com o 
próprio Inno,
mas acredito que ele não sirva para um sistema que pretendo "vender" através da 
Internet). 

b) Como faço para não exibir a tela "Selecionar a pasta do menu Iniciar" ?
(ou seja, quero que os atalhos dos programas do meu sistema sejam 
automaticamente
incluídos em um grupo próprio MEUSISTEMA, sem que o usuário possa alterá-lo).

Muito obrigado pela atenção de todos
Paulo

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



[delphi-br] Chamar um comando do DOS e receber o resultado dentro do meu sistema

2008-12-09 Por tôpico Paulo - yahoo
Pessoal:

- Preciso chamar um comando do DOS (que exibe dados na tela), e receber a saída 
do comando
no meu sistema

- Vou exemplificar com o comando DIR, apenas para facilitar o entendimento:

- Meu sistema chamaria (por exemplo) o comando DIR C:\ e o resultado desse 
comando, em vez de ir para a tela,
iria para um TMemo, por exemplo, e então eu processaria o conteúdo desse memo.

- Pensei em chamar o comando via rotina WinExecAndWait32, ou algo parecido, 
enviando
o resultado para um .TXT:

DIR C:\  > C:\TEMP\ARQTESTE.TXT

... depois, eu carregaria o C:\TEMP\ARQTESTE.TXT no TMemo 
(Memo1.Lines.LoadFromFile)

O que está descrito acima eu consigo fazer, mas gostaria de saber 

Alguém tem uma idéia melhor ?

Grato pela atenção de todos
Paulo

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



Re: [delphi-br] Impressa de Cheque Chronos

2008-12-05 Por tôpico Paulo - yahoo
Luciano:

- Certa vez, precisei imprimir cheques em uma impressora desse tipo.
Tentei de tudo, inclusive algumas DLLs, mas não deu certo.

- A solução foi o conjunto de componentes ACBr, que pode ser
encontrado em: http://acbr.sourceforge.net/wiki/index.php

Infelizmente, faz muito tempo que mexi com esses componentes,
e não me lembro de mais detalhes.  Mas consegui ajuda no grupo
Automação Total:  http://br.groups.yahoo.com/group/AutomacaoTotal/

Acho que você consegue aprender a mexer nos componentes apenas
dando uma olhada nos exemplos que vêm no pacote.

Boa sorte !
Paulo

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



Re: [delphi-br] WinExecAndWait32 nao aceita nomes longos no path do programa chamado

2008-12-01 Por tôpico Paulo - yahoo
Olá, Sílvio !

>Se você quiser transformar no formato DOS, tenho uma
> sugestão:

Agradeço a função que me enviou, mas eu já estou fazendo uso
de uma função parecida (cujo código incluí na minha mensagem anterior),
e ela resolve a questão sobre obter o nome curto do path.

O que eu gostaria de saber é se realmente esse é o procedimento correto
para contornar o erro que a WinExecAndWait32 gera (também incluída na minha
mensagem anterior) quando eu passo o nome longo do path, ou se eu é que
não estou sabendo passar o nome longo para a rotina corretamente (já tentei
colocar aspas de várias formas, e não deu certo).

Muito obrigado pela atenção !
Paulo

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



[delphi-br] Como conseguir gravar em um arquivo INI, na pasta Arquivos de Programas do Windows Vista

2008-12-01 Por tôpico Paulo - yahoo
Pessoal:

- Criei um instalador de meu sistema, usando o Inno Setup e ISTool
- Como default, eu sugiro ao usuário instalar (exemplo) em C:\Arquivos de 
Programas\MeuSistema
(ou C:\Program Files\MeuSistema, se o Windows estiver em inglês)

- Quando o usuário termina a instalação, eu chamo um programinha que grava 
alguns dados em
um arquivo INI, na pasta C:\Arquivos de Programas\MeuSistema.

- Testei a instalação no Windows XP, e tudo funciona bem.

- Porém, no Windows Vista, mesmo que eu faça a instalação logado como 
administrador, não é permitido
gravar na pasta C:\Arquivos de Programas\MeuSistema.

- Já li que para permitir a gravação em C:\Arquivos de Programas\, teria que 
desativar algumas proteções do Vista.  Porém, gostaria de saber se não há 
algum outro modo de eu permitir gravar na pasta de instalação do meu 
sistema, sem ter que alterar nada no sistema operacional (especialmente, não 
gostaria de ter de pedir para o usuário alterar nada manualmente)

- Se não houver outro jeito, pretendo pré-definir alguma outra pasta (fora 
do C:\Arquivos de Programas), e obrigar o usuário a instalar o sistema nessa 
outra pasta.  Mas se alguém souber alguma outra solução mais flexível, 
agradeço muito se me enviar.

Muito obrigado pela atenção de todos !
Paulo 




[delphi-br] WinExecAndWait32 nao aceita nomes longos no path do programa chamado

2008-12-01 Por tôpico Paulo - yahoo
Pessoal:

Como fazer com que a rotina WinExecAndWait32 (mostrada no final desta 
mensagem)
aceite nomes longos no caminho do programa que estou chamando ?
O programa externo que estou chamando fica (exemplo) em C:\Arquivos de 
Programas\MeuSistema\Util\xyz.exe.

Tentei passar o caminho entre aspas (de várias maneiras - tudo entre aspas, 
apenas Arquivos de Programas
entre aspas, etc.) mas nenhuma deu certo.

Se eu passar o nome curto de Arquivos de Programas (que eu obtenho com a 
função GetShortFileName, que
também estou enviando, apenas para referência), a WinExecAndWait32 consegue 
chamar normalmente
o programa (pois o path fica assim: C:\Arquiv~1\MeuSistema\Util\xyz.exe).

Existe alguma solução, ou realmente usar o nome curto do path é a melhor 
alternativa ?

Obs.:  Na Internet, existem várias versões da WinExecAndWait32.  Estou 
usando a versão abaixo
porque ela também aceita eu informar a pasta (diretório) em que o programa 
externo será inicializado - e tenho necessidade disso.

Grato pela atenção de todos
Paulo

function WinExecAndWait32(FileName: String; WorkDir: String; Visibility: 
integer): Integer;
var
   zAppName: array[0..512] of char;
   zCurDir: array[0..255] of char;
   StartupInfo: TStartupInfo;
   ProcessInfo: TProcessInformation;
begin
  StrPCopy(zAppName,FileName);
  StrPCopy(zCurDir,WorkDir);
  FillChar(StartupInfo,Sizeof(StartupInfo),#0);
  StartupInfo.cb:=Sizeof(StartupInfo);
  StartupInfo.dwFlags:=STARTF_USESHOWWINDOW;
  StartupInfo.wShowWindow:=Visibility;

  if not CreateProcess(nil,zAppName,nil,nil,False,CREATE_NEW_CONSOLE or 
NORMAL_PRIORITY_CLASS,nil,zCurDir,StartupInfo,ProcessInfo) then
 Result:=-1
  else
  begin
 WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
 GetExitCodeProcess(ProcessInfo.hProcess,DWORD(Result));
  end;

end; // WinExecAndWait32


function GetShortFileName(Const aFileName: String): String;
var
  aTmp: array[0..255] Of char;
begin
  If GetShortPathName(PChar(aFileName), aTmp, Sizeof(aTmp) - 1) = 0 Then
Result := aFileName
  Else
Result := StrPas(aTmp);
end; // GetShortFileName







[delphi-br] Conectar-se ao FireBird, mas sem abrir qualquer banco de dados

2008-11-23 Por tôpico Paulo - yahoo
Pessoal:

Usando Delphi 7 e DBEXpress, é possível conectar-se ao FireBird,
mas sem abrir qualquer banco de dados ?   Gostaria de apenas
fazer a conexão para confirmar se o FireBird está funcionando,
mas sem ser obrigado a imediatamente fazer acesso a dados.

Grato pela atenção de todos
Paulo

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



[delphi-br] Como listar todos os computadores da rede

2008-11-18 Por tôpico Paulo - yahoo
Pessoal:

Existe alguma função que liste os nomes de todos os computadores da rede ?
Ou algum componente ?

Em meu sistema, estou criando uma tela para que o usuário configure sua conexão
com o servidor de dados (o computador onde está instalado o FireBird).  Em vez 
de
exigir que o usuário digite o nome do computador servidor, gostaria de mostrar 
os
computadores disponíveis na rede, para ele selecionar (clicar sobre o nome do 
servidor),
evitando algum erro de digitação.

Obs.: Utilizo Delphi 7 (SETE)

Grato pela atenção de todos
Paulo

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



[delphi-br] Como descobrir se uma porta TCP está livre

2008-11-12 Por tôpico Paulo - yahoo
Gostaria de saber se alguém já fez algo semelhante (ou se tem idéia
de como fazer):


A) Se for possível, no Inno Setup:


- Gostaria de solicitar ao usuário em qual porta TCP ele deseja
instalar o FireBird

- Depois que o usuário informar a porta, eu testaria se ela está livre;  se não 
estiver, avisaria
o usuário e ele teria de selecionar uma outra porta

Observação:  Na seção [RUN] do meu script do Inno Setup, estou chamando a 
instalação de uma instância
do FireBird assim (com a porta 3054 pré-determinada):

[Run]

Filename: {app}\Firebird\bin\install_classic.bat; Parameters: MEU_SERVER; 
Components : serverFiles

Filename: {sys}\netsh.exe; Parameters: "firewall add portopening protocol=TCP 
port=3054 name=""Firebird MEU_SERVER"" mode=ENABLE scope=SUBNET"; Flags: nowait 
runhidden; MinVersion: 0,5.01.2600; Components : serverFiles


- Também gostaria de pegar automaticamente  o nome de rede do computador onde 
está sendo feita a instalação, e então
alterar (durante a instalação) um arquivo BD.INI, onde eu guardaria o nome do 
servidor e a porta TCP escolhida



B) Se não for possível no Inno Setup


- Neste caso, pretendo escrever um programinha Delphi de configuração, que 
seria chamado no final da instalação;
esse meu programinha pediria e testaria a porta;  se eu tiver que optar por 
esta alternativa, então
meu programinha alteraria o um arquivo BD.INI (isto eu sei fazer).  

- Para eu poder implementar a idéia da alternativa "B", como é que eu testo se 
uma determinada porta TCP está livre ?


Grato pela atenção de todos
Paulo







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



[delphi-br] Como liberar a porta 3050, 3054, ou outra, via codigo

2008-10-30 Por tôpico Paulo - yahoo
Pessoal:

Estou criando uma instalação do FireBird 2.1.1 (e do meu sistema) via Inno 
Setup.
Minha intenção é vender o sistema pela Internet, e por isso quero automatizar ao
máximo a instalação, para facilitar aos usuários.

Com a ajuda de um colega da lista, aprendi a fazer a instalação do FB através
de uma "instância",  e dentro da pasta do meu sistema (para evitar conflito com
outro FireBird que por ventura esteja instalado na máquina).

- Nos meus testes, percebi que as estações só conseguem se conectar ao
FB do servidor se o firewall (do servidor XP, com SP3)  estiver desabilitado, 
ou se a porta
3054 (que estou usando para instalar minha instância do FB) estiver liberada no 
firewall.

- No endereço (http://www.ramosdainformatica.com.br/art_recentes01.php?CDA=870) 
há um exemplo de código Delphi, para modificar o registro do XP e desbloquear a 
porta para o FB.

- Esto pensando em criar um pequeno programa em Delphi com o código mostrado no 
site, e executar
esse programinha a partir da instalação que eu montei no Inno Setup.  Assim, 
quando o usuário terminasse
de executar a instalação, a porta seria automaticamente desbloqueada, e ele não 
teria que manualmente
configurar o FireWall (estou pensando em uma pequena rede com 4 ou 5 máquinas,
onde não exista ninguém da área de Informática no dia-a-dia da empresa, para 
fazer essa configuração)

Perguntas:

1) Gostaria de saber se alguém já usou código semelhante a este e quais seriam 
os "contras".

2) Suponho que, para conseguir instalar o sistema e o FB (na pasta C:\Arquivos 
de Programas, por exemplo),
e também para alterar o registro da máquina, o usuário tenha que ter 
privilégios de administrador.
Alguém sabe como é que eu faço um teste, dentro do Inno Setup, que detecte se o 
usuário é ou não "administrador",
e dê um alerta, antes de começar a instalação ?   Como é que vocês contornam 
esta situação.

- Tenho várias outras dúvidas, que estou tentando resolver sozinho, pesquisando 
na Internet.  Se puderem enviar
algumas dicas, fico muito agradecido !

Paulo

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



Re: [delphi-br] Sistema Lento - Firebird x Interbase

2008-10-09 Por tôpico Paulo - yahoo
Eduardo:

> O sistema aqui da empresa esta bem lento o acesso ao servidor, tem um
>servidor e varias maquinas acessando o sistema desse servidor, entre 30 a 40
>maquinas acessando ele.
>
>O sistema foi desenvolvido usando o Interbase e DBE.
>P.S.: O sistema não foi desenvolvido por mim, mas gostaria de saber o que
>poderia ser feito para eu sugerir a melhora.
>
>Minha duvida é o seguinte em todas as maquinas eu tenho que instalar o
>Interbase 6.2 se invez de instalar ele, se eu instalar o Firebird direto, o
>sistema podera ter alguma melhora? Isso poderia gerar algum problema no
>funcionamento do sistema? pois para instalar o sistema tenho que instalar o
>DBE, Delphi, Interbase e mudar configurações no DBE Administrador
>
>Qual seria a diferença em criar um banco de dados em .gbd e instalar o
>interbase ou firebird?
>
>Alguma dica no que poderia melhorar a performance do sistema?


a) Suponho que você esteja se referindo ao BDE (Borland Database Engine), e não
ao DBE (é isto mesmo ?)

b) Se realmente for migrar (o que não aconselho - veja os ítens abaixo), você 
deve
fazer um backup do banco de dados no InterBase e depois fazer um restore
no FireBird.  Apesar de serem muito parecidos na parte funcional, há algumas
tabelas de sistema (que o próprio InterBase e FireBird criam) que não são
exatamente as mesmas, nesses dois servidores.  Ao fazer o restore no FireBird,
ele irá recriar o BD com essas modificações de que ele necessita.

Mas não é só isso... O BDE tem algumas incompatibilidades com o FireBird.
Veja o que eu acho mais correto você fazer:

c) O ideal é você entrar em contato com os desenvolvedores do sistema, e dizer 
a eles
exatamente em que situações o sistema está lento (algum relatório ou 
processamento
específico ?  Quando há mais de xxx usuários logados no sistema ?, etc., etc.). 
 Os próprios
desenvolvedores poderão reanalisar essas rotinas mais problemáticas, e 
verificar o que
pode ser melhorado (por exemplo, algum comando SQL mais eficiente).  Muitas 
vezes,
já reescrevi comandos SQL que estavam mal estruturados e a melhoria foi 
significativa.
Os desenvolvedores também poderão avaliar se a criação de alguns índices pode
melhorar a performance.

d) Já trabalhei em uma empresa que desenvolvia sistemas com InterBase e BDE,
e em alguns clientes tentaram migrar para o FireBird.Nesses poucos clientes,
o sistema até funcionou, mas foram necessárias algumas adaptações no código.
Não me lembro bem dos detalhes, mas, por exemplo, tivemos de deixar de usar
campos BLOB, pois o BDE não estava conseguindo ler corretamente campos
desse tipo.  Além disso, alguns comandos SQL que funcionavam perfeitamente
no InterBase apresentavam problemas de sintaxe no FireBird (não lembro 
exatamente
o quê - estou citando apenas para lhe dar alguns exemplos).

Enfim, fale com o pessoal que desenvolveu o sistema e verifique se eles podem 
melhorar
a performance, ou se já têm algum cliente utilizando o FireBird.

Boa sorte !
Paulo


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



Re: [delphi-br] Como distribuir um sistema feito em Delphi, que utiliza o FireBird como base de dados

2008-10-05 Por tôpico Paulo - yahoo
Olá, Leonardo !

>Junto com Inno Setup recomendo o uso do IsTool que facilita muito a criação
>do instalador. Tem muitas opções que dá para você configurar

Grato pela dica.  Vou pesquisar sobre o IsTool também

No entanto, minha dúvida maior não é exatamente em relação a que ferramenta
usar, mas sim gostaria de conhecer o modo como vocês estruturaram a instalação.

Por exemplo:  A instalação do sistema deve instalar também o FireBird, ou deve 
"chamar"
a instalação do FireBird ?   Ou é melhor  deixar um link para que o usuário 
baixe a
instalação "avulsa" do FireBird ?   E quanto ao FireBird embarcado ?  Alguém 
usa ?
Neste caso, como vocês procedem se o usuário resolve passar a usar o sistema em 
rede ?
Também gostaria de saber sobre o melhor modo de enviar um banco de dados vazio.


Finalmente, pela experiência de vocês, um usuário comum (não da área de 
Informática) consegue
instalar adequadamente o FireBird, ou é necessário acompanhá-lo ao telefone, 
por exemplo ?

Grato pela atenção de todos.
Paulo

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



[delphi-br] Como distribuir um sistema feito em Delphi, que utiliza o FireBird como base de dados

2008-10-04 Por tôpico Paulo - yahoo
Pessoal:

Peço licença para colocar algumas perguntas relacionadas com a
distribuição/instalação de um sistema, que pretendo vender através de
em um site (ainda a ser montado).  Na empresa em que eu trabalhava,
eu e meus colegas é que íamos diretamente ao cliente e fazíamos a
instalação para ele, em toda a sua rede, e por isso não tenho experiência
quanto a vender um sistema pela Internet.

Estou terminando um sistema feito em Delphi 7 (sete), que utiliza
base de dados FireBird 2.1 (utilizo DBExpress, com driver do InterBase).
Obs.: É um sistema relativamente simples, para ser usado em modo monousuário
ou em rede.  Não faz uso de nenhum recurso especial, não exige conexão
com a Internet para funcionar.

Gostaria de saber das pessoas que trabalham de forma semelhante à
que citei acima como é que fazem para distribuir o sistema (supondo que
eu venha a criar um site de onde os clientes possam baixar a instalação).

Eis as principais dúvidas:

a) Vocês criaram a instalação do FB e do aplicativo como uma única
instalação, ou como duas instalações separadas ?

b) É preferível eu ter uma instalador apenas para meu sistema,
e nas instruções de instalação orientar ao usuário que rode antes
o instalador do FB ?

c) É possível eu criar um instalador (no Inno Setup, por exemplo) que
detecte se o FB está ou não instalado no computador do usuário,
e que chame a instalação do FB automaticamente, se necessário ?

d) Vocês incluem um banco de dados vazio nas suas instalações, ou chamam
alguma rotina (script ?) que se comunica com o FB e cria o banco de dados na
hora da instalação ?  Podem enviar um exemplo ?

e) Estou pensando em enviar o FB embarcado, como default, pois imagino que
um usuário que não seja da área de Informática possa ter alguma dificuldade
em instalar o FireBird.  Assim, tudo o que meu instalador precisaria fazer seria
copiar os executável do sistema, o BD vazio, etc. para uma pasta e criar um
ícone no desktop.  Caso o usuário queira usar o sistema em rede, então
eu deixaria instruções (no meu site - que estou pensando em criar) para uma
instalação em rede - que alertaria ao usuário que alguém da área de Informática
deveria fazer a instalação.  Alguém já pensou em algo assim ? O que acham disso 
?

Enfim, agradeço muito se me derem algumas orientações quanto a este assunto.

Muito obrigado pela atenção de todos.
Paulo

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



[delphi-br] Artigo comentando sobre o Delphi

2008-09-02 Por tôpico Paulo - yahoo
Artigo (em inglês) sobre o Delphi:

http://www.itjoblog.co.uk/2008/08/delphi-a-secret-weapon-for-win.html

Paulo

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



[delphi-br] Como esconder o botão Salvar do Preview do RvSystem ?

2008-07-31 Por tôpico Paulo - yahoo
Pessoal:

Para gerar relatórios, utilizo o componente RvSystem, versão 6.0.2.

Perguntas:

1) Há um modo de ocultar o botão "Open another report" que aparece no Preview 
do RvSystem ? (já procurei nas propriedades, e não encontrei nada referente a 
isso)

2) Há um modo de eu traduzir para o português os termos que aparecem no Preview 
? Por exemplo: Page...of...  move to last page, etc. 

Muito obrigado pela atenção de todos
Paulo


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



[delphi-br] Erro do DBExpress, depois de migrar do FB 1.5 para o FB 2.1

2008-07-23 Por tôpico Paulo - yahoo
Pessoal:

Tenho um sistema feito em Delphi 7 (SETE), que rodava bem com o FireBird 1.5,
acessando com o DBExpress e driver InterBase

Migrei para o FireBird 2.1, e agora está aparecendo o seguinte problema:

a) Ao fazer algum SELECT que não tenha a cláusula WHERE (porque todos os dados
da tabela são necessários naquela rotina), aparece o seguinte erro:

SQL Error: Error mapping failed

b) Descobri, por tentativa e erro, que se eu incluir a cláusula WHERE no 
comando,
funciona bem:

SELECT * FROM TBFERIADOS  WHERE DATFERIADO IS NOT NULL

(neste caso, o campo DATFERIADO é chave, e por isso nunca é nulo - o que
faz o comando trazer todos os dados)


c) Isso acontece com qualquer SELECT onde não exista a cláusula WHERE
(são vários, espalhados pelo sistema, pois há vários processos que utilizam
TODOS os registros da tabela - geralmente são tabelas pequenas ou com dados
temporários, por isso não tenho problema com performance em trazer todos os 
registros)

Pergunta:

- Gostaria de saber se alguém já passou por este problema, usando DBExpress do 
Delphi 7 (SETE)
e se há alguma outra solução, além de eu ter de forçar a presença da cláusula 
WHERE em todos
os comandos onde hoje ela não existe.   Eu digo "forçar" porque, como no 
exemplo acima,
ela seria dispensável (tanto que, com o FireBird 1.5, esse problema não 
existia).

Grato pela atenção de todos
Paulo

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



[delphi-br] Delphi 7, DBEXpress e FireBird 2.1

2008-07-03 Por tôpico Paulo - yahoo
Pessoal:

- Utilizo Delphi 7 (7 mesmo e não 2007), com FireBird 1.5 e DBEXpress (com 
driver do InterBase)
- Tive que formatar meu micro, e antes de reinstalar o FireBird 1.5, estou 
pensando em migrar
para a versão 2.1

Pergunta:

O driver DBExpress nativo do Delphi 7 (SETE) é compatível com o FireBird 2.1 ?

Obs.:  Sei que muitos preferem o ZEOS, mas não posso migrar o sistema neste 
momento;
tenho de continuar usando o DBExpress mesmo.

Muito obrigado pela atenção de todos.

Paulo

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



Re: [delphi-br] Agradeimento...Arquivo texto separado com TAB

2007-08-07 Por tôpico Paulo Yahoo
Agradeço a colaboração do Moacir e José Luiz, as duas opçoes resolveram 
meu probema.

obrigado

Paulo



Re: [delphi-br] porta serial

2007-01-19 Por tôpico Paulo Yahoo
VBA_EXCELENCIA UDIA escreveu:
> Boa noite a todos!
> Eum prazewr participar, mais estoiu alguma dificulade em encontrar um codigo 
> nme adapte
> E preciso de um codigo para LER DADOS NO SERIAL 
> Alguem tem um.
>
> __
> Fale com seus amigos  de graça com o novo Yahoo! Messenger 
> http://br.messenger.yahoo.com/ 
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>   
Procure pelo componente ComPort no Google, é muito bom.

Paulo



___ 
Yahoo! Mail - Sempre a melhor opção para você! 
Experimente já e veja as novidades. 
http://br.yahoo.com/mailbeta/tudonovo/
 



[delphi-br] Habilitar e desabilitar triggers no banco Firebird via Delphi

2006-12-14 Por tôpico Paulo Yahoo
Bom dia

Utilizo banco Firebird 1.53 e gostaria de saber dos amigos que utilizam 
Delphi e Firebird, se existe alguma forma de habilitar e desabilitar uma 
determinada trigger via Delphi.

obrigado

Paulo Lucas






___ 
Você quer respostas para suas perguntas? Ou você sabe muito e quer compartilhar 
seu conhecimento? Experimente o Yahoo! Respostas !
http://br.answers.yahoo.com/


Re: [delphi-br] VERIFICADOR CNPJ

2006-12-01 Por tôpico Paulo Yahoo
Régis, eu uso assim, talvez tenha coisa melhor.

Paulo

function TForm_PRINCIPAL.CPF(num: string): boolean;
var n1,n2,n3,n4,n5,n6,n7,n8,n9: integer;
d1,d2: integer;
digitado, calculado: string;
Confere:boolean;
begin
 Confere:=True;

 Try n1:=StrToInt(num[1]) Except Confere:=False end;
 Try n2:=StrToInt(num[2]) Except Confere:=False end;
 Try n3:=StrToInt(num[3]) Except Confere:=False end;
 Try n4:=StrToInt(num[4]) Except Confere:=False end;
 Try n5:=StrToInt(num[5]) Except Confere:=False end;
 Try n6:=StrToInt(num[6]) Except Confere:=False end;
 Try n7:=StrToInt(num[7]) Except Confere:=False end;
 Try n8:=StrToInt(num[8]) Except Confere:=False end;
 Try n9:=StrToInt(num[9]) Except Confere:=False end;

 If Confere=True then
  begin
d1:=n9*2+n8*3+n7*4+n6*5+n5*6+n4*7+n3*8+n2*9+n1*10;
d1:=11-(d1 mod 11);

If d1>=10 then d1:=0;

d2:=d1*2+n9*3+n8*4+n7*5+n6*6+n5*7+n4*8+n3*9+n2*10+n1*11;
d2:=11-(d2 mod 11);

If d2>=10 then d2:=0;

calculado:=inttostr(d1)+inttostr(d2);
digitado:=num[10]+num[11];

If calculado=digitado then CPF:=True
Else CPF:=False;

  end
 Else CPF:=False;
end;


e para CNPJ

function TForm_PRINCIPAL.CGC(num: string): boolean;
var n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12: integer;
d1,d2: integer;
digitado, calculado: string;
Confere:boolean;
begin
 Confere:=True;

 Try n1:=StrToInt(num[1]) Except Confere:=False end;
 Try n2:=StrToInt(num[2]) Except Confere:=False end;
 Try n3:=StrToInt(num[3]) Except Confere:=False end;
 Try n4:=StrToInt(num[4]) Except Confere:=False end;
 Try n5:=StrToInt(num[5]) Except Confere:=False end;
 Try n6:=StrToInt(num[6]) Except Confere:=False end;
 Try n7:=StrToInt(num[7]) Except Confere:=False end;
 Try n8:=StrToInt(num[8]) Except Confere:=False end;
 Try n9:=StrToInt(num[9]) Except Confere:=False end;
 Try n10:=StrToInt(num[10]) Except Confere:=False end;
 Try n11:=StrToInt(num[11]) Except Confere:=False end;
 Try n12:=StrToInt(num[12]) Except Confere:=False end;

 If Confere=True then
  begin
d1:=n12*2+n11*3+n10*4+n9*5+n8*6+n7*7+n6*8+n5*9+n4*2+n3*3+n2*4+n1*5;
d1:=11-(d1 mod 11);

if d1>=10 then d1:=0;


d2:=d1*2+n12*3+n11*4+n10*5+n9*6+n8*7+n7*8+n6*9+n5*2+n4*3+n3*4+n2*5+n1*6;
d2:=11-(d2 mod 11);

if d2>=10 then d2:=0;

calculado:=inttostr(d1)+inttostr(d2);

digitado:=num[13]+num[14];

If calculado=digitado then CGC:=true
Else CGC:=false;
  end
 Else CGC:=False;
end;




___ 
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora! 
http://br.mobile.yahoo.com/mailalertas/ 
 



[delphi-br] Off Topic

2006-10-24 Por tôpico Paulo Yahoo
Bom dia

Me desculpem pelo Off Topic, mas alguem da lista perguntou sobre um 
programa para envio e recebimento de mensagens pela rede local, favor 
entrar em contato em PVT que posso solucionar seu problema.

obrigado

Paulo



___ 
O Yahoo! está de cara nova. Venha conferir! 
http://br.yahoo.com


-- 
< 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:
[EMAIL PROTECTED]
 
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:
[EMAIL PROTECTED]

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

 



Re: [delphi-br] Sobre Impressão de Notas Fiscais

2006-08-08 Por tôpico Paulo Yahoo
hideraldo_barbosa escreveu:
> Pessoal, bom dia
>
> Seguinte, eu tenho um problema que gostaria de compartilhar com todos, 
> ja tentei Impressão grafica e até via DOS (TXT) para achar uma 
> solução, talvez tecnicamente eu desconheça algo e queria alguns 
> palpites.
> TEnho um cliente que na emissão das notas fiscais ele imprime diversos 
> formulários para um UNICO NUMERO DE NF, ou seja 2 a 3 ou mais devido 
> ao numero de itens. Preciso imprimir em caracter 8 ou condensado
> (Caracter) para poder caber certas mensagens. Com isto gera muitos 
> desalinhamentos no decorrer da impressão. E eu gostaria de fazer esta 
> impressão em modo grafico mesmo e não Caracter.
>
> Diante de um caso destes qual o melhor gerador de Relatórios e como eu 
> utilizo...alguém teria algum exemplo ou algo assim que possa me ajudar.
>
> No mais desculpem o tamanho da mensagem
> Abraços
>
> Hilderaldo Barbosa
>
>
>
>
>
>
>
>
>   
Meu amigo, eu utilizo o Rdprint da www.deltress.com.br para impressão de 
NF, Boletos e Duplicatas. Impressão matricial, e funciona perfeitamente, 
de uma olhada no Demo que existe na página deles. Vale cada centavo que 
foi pago.

Paulo



___ 
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora! 
http://br.mobile.yahoo.com/mailalertas/ 
 



-- 
< 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:
[EMAIL PROTECTED]
 
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:
[EMAIL PROTECTED]

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

 





Re: [delphi-br] Duvidas SQL

2006-07-17 Por tôpico Paulo Yahoo
Era isso mesmo, funcionou perfeitamente.

muito obrigado

Paulo



___ 
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora! 
http://br.mobile.yahoo.com/mailalertas/ 
 



-- 
< 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:
[EMAIL PROTECTED]
 
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:
[EMAIL PROTECTED]

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

 




[delphi-br] Duvidas SQL

2006-07-15 Por tôpico Paulo Yahoo
boa tarde

estou executando um comando SQL, mas não estou conseguindo resolver o meu 
problema, alguem poderia me dar uma ajuda ?

 SELECT A.CODIGO, A.QTD, A.PUNIT, A.OPERACAO, B.NOME FROM VENDAS A, PRODUTOS B 
 WHERE B.CODIGO = A.CODIGO AND A.CODIGO IN (SELECT CODIGO FROM PRODUTOS
WHERE COD_F = :CODF

está me retornando os seguintes registros:

codigo   qtd   punit  operacao  nome
3007  10   2,50   venda   batata doce
3006  05   1,50  vendaarroz
3007  12   2,50   venda   batata doce
3009  03   1,29   venda   feijao
3007  10   2,50   venda   batata doce

até ae tudo certo, mas agora eu gostaria de montar outro SQL que me retornasse 
os registros assim, somando os codigo que forem iguais

3007  32   2,50   venda   batata doce
3006  05   1,50  vendaarroz
3009  03   1,29   venda   feijao

alguem saberia me esclarecer como faze-lo ?

obrigado

Paulo


[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:
[EMAIL PROTECTED]
 
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:
[EMAIL PROTECTED]

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

 





[delphi-br] Duvidas em SQL

2006-07-14 Por tôpico Paulo Yahoo
boa tarde

estou executando um comando SQL, mas não estou conseguindo resolver o meu 
problema, alguem poderia me dar uma ajuda ?

 SELECT A.CODIGO, A.QTD, A.PUNIT, A.OPERACAO, B.NOME FROM VENDAS A, PRODUTOS B 
 WHERE B.CODIGO = A.CODIGO AND A.CODIGO IN (SELECT CODIGO FROM PRODUTOS
WHERE COD_F = :CODF

está me retornando os seguintes registros:

codigo   qtd   punit  operacao  nome
3007  10   2,50   venda   batata doce
3006  05   1,50  vendaarroz
3007  12   2,50   venda   batata doce
3009  03   1,29   venda   feijao
3007  10   2,50   venda   batata doce

até ae tudo certo, mas agora eu gostaria de montar outro SQL que me retornasse 
os registros assim, somando os codigo que forem iguais

3007  32   2,50   venda   batata doce
3006  05   1,50  vendaarroz
3009  03   1,29   venda   feijao

alguem saberia me esclarecer como faze-lo ?

obrigado

Paulo






[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:
[EMAIL PROTECTED]
 
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:
[EMAIL PROTECTED]

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

 





[delphi-br] Duvidas SQL

2006-07-14 Por tôpico Paulo Yahoo
boa tarde

estou executando um comando SQL, mas não estou conseguindo resolver o meu 
problema, alguem poderia me dar uma ajuda ?

 SELECT A.CODIGO, A.QTD, A.PUNIT, A.OPERACAO, B.NOME FROM VENDAS A, PRODUTOS 
B
 WHERE B.CODIGO = A.CODIGO AND A.CODIGO IN (SELECT CODIGO FROM PRODUTOS
WHERE COD_F = :CODF

está me retornando os seguintes registros:

codigo   qtd   punit  operacao  nome
3007  10   2,50   venda   batata doce
3006  05   1,50  vendaarroz
3007  12   2,50   venda   batata doce
3009  03   1,29   venda   feijao
3007  10   2,50   venda   batata doce

até ae tudo certo, mas agora eu gostaria de montar outro SQL que me 
retornasse os registros assim, somando os codigo que forem iguais

3007  32   2,50   venda   batata doce
3006  05   1,50  vendaarroz
3009  03   1,29   venda   feijao

alguem saberia me esclarecer como faze-lo ?

obrigado

Paulo




___ 
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale 
o discador agora! 
http://br.acesso.yahoo.com


-- 
<<<<< 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:
[EMAIL PROTECTED]
 
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:
[EMAIL PROTECTED]

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

 





[delphi-br] Impressão lenta

2006-07-03 Por tôpico Paulo Yahoo
boa tarde a todos

relatorio feito pelo quickreport, depois que o computador foi atualizado com o 
Service Pack 2 do XP ficou muito lento o computador. 

Antes da atualização ficava lento mas dava pra usar o micro normalmente, agora 
para até o ponteiro do mouse, enquanto não termina o relatório impossível usar 
o micro. Alguem teria alguma idéia do que se pode fazer ?

Obrigado

Paulo

[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:
[EMAIL PROTECTED]
 
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:
[EMAIL PROTECTED]

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

 




[delphi-br] OFF TOPIC QuickReport

2006-06-23 Por tôpico Paulo Yahoo
Bom dia

Gostaria de efetuar algumas alterações no preview do QuickReport. Por exemplo, 
mudar alguns botoes, e até mesmo retirar alguns. Quando abro o Qrpprev.pas, dá 
erro, dizendo que não achou a classe TQRPreview.

obrigado

Paulo

[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:
[EMAIL PROTECTED]
 
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:
[EMAIL PROTECTED]

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

 




Re: [delphi-br] Impressão em LX 300

2006-06-19 Por tôpico Paulo Yahoo
Allan,

eu utilizo o rdprint www.deltress.com.br  e funciona muito bem, mas me
parece que existe um componente free chamado vdoprint se não me engano, de
uma olhada na net. Acredito que resolve seu problema.

Paulo
- Original Message - 
From: "Allan" <[EMAIL PROTECTED]>
To: "brDelphi - BR" 
Sent: Friday, June 16, 2006 7:35 PM
Subject: [delphi-br] Impressão em LX 300


Prezados,
estou, a pedido de um cliente, imprimindo orçamentos em uma bobina duas
vias com 80mm de largura, ocorre que está imprimindo tudo certinho, mas logo
após a impressão, a impressora empurra a bobina uns 30cm a mais em branco
pra fora, tentei fazer de tudo um pouco, configurações de papel, modo de
impressão entre outras, e nada de resolver o problema.Será que alguém já
passou por isso e possa me ajudar?

Obrigado desde já.

DEUS É PAI.
[]'s
Allan
msn [EMAIL PROTECTED]
Skype allan_gabriel
Conheça o grupo OPEN PDV, acesse:
http://br.groups.yahoo.com/group/OpenPDV


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






-- 
< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >



Links do Yahoo! Grupos











___ 
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora! 
http://br.mobile.yahoo.com/mailalertas/ 
 



-- 
< 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:
[EMAIL PROTECTED]
 
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:
[EMAIL PROTECTED]

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