Login
Estamos no Facebook
Buscar
Quem está conectado
Há 35 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 35 Visitantes :: 2 Motores de buscaNenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Brasília
| |
Estamos no Twitter

Nossa Comunidade

Nosso Grupo

Últimos assuntos
Top dos mais postadores
| Marcos Guedes | ||||
| hugo | ||||
| alceu11 | ||||
| Julio | ||||
| m@r<3|o | ||||
| mfelis | ||||
| Tales Ruan | ||||
| Nelson Arcas | ||||
| _batmanvfp_ | ||||
| marcio |
Karaoke feito em FoxPro 2.6
23/5/2012, 11:45 por fabiomacarrao
Bom dia a todos. Desenvolvi um programa em FoxPro for windows 2.6 para karaoke. tenho mais de 2700 …
Comentários: 3
Estatísticas
Temos 4048 usuários registradosO último usuário registrado atende pelo nome de fabiomacarrao
Os nossos membros postaram um total de 14433 mensagens em 2047 assuntos
NVL resultando em Syntax Error ?!!
Página 1 de 1 • Compartilhe •
NVL resultando em Syntax Error ?!!
-
Pessoal, será que alguém enxerga o que estou fazendo de errado, pois
já estou a algumas horas esquentando a cabeça com esse detalhe simples...
TRECHO DO CÓDIGO
Neste trecho, eu converto um "DOUBLE" para "STRING" mantendo
a mesma estrutura ( casas decimais ).
E qual o objetivo de converter para String? É que estou concatenando String
para usar em um EXECSCRIPT.
Neste trecho, simplesmente concateno a variável M.QT no restante
da String.
Bem, o que ocorre ao executar o programa:
1. Pelo RUN do Fox, o EXECSCRIPT roda normal.
2. Pelo EXECUTÁVEL ( após a compilação ), dá o seguinte erro:
Vale dizer que existe em outro formulário, o mesmo uso do NVL para
copiar um Double para uma Label mantendo as casas decimais, e o
executável não apresenta erros.
Alguém está vendo algo errado?
Abraço.
-
Pessoal, será que alguém enxerga o que estou fazendo de errado, pois
já estou a algumas horas esquentando a cabeça com esse detalhe simples...
TRECHO DO CÓDIGO
- Código:
M.QT=ALLTRIM(STR(NVL(CURSOR.FIELD_DOUBLE,0),10,3))
Neste trecho, eu converto um "DOUBLE" para "STRING" mantendo
a mesma estrutura ( casas decimais ).
E qual o objetivo de converter para String? É que estou concatenando String
para usar em um EXECSCRIPT.
- Código:
m.STRING = ""
m.STRING = m.STRING + "UPDATE CURSOR..."
m.STRING = m.STRING + ALLTRIM(CURSOR.FIELD_NAME)+"="+ALLTRIM(M.QT)
EXECSCRIPT(m.STRING)
Neste trecho, simplesmente concateno a variável M.QT no restante
da String.
Bem, o que ocorre ao executar o programa:
1. Pelo RUN do Fox, o EXECSCRIPT roda normal.
2. Pelo EXECUTÁVEL ( após a compilação ), dá o seguinte erro:
Syntax Error
Vale dizer que existe em outro formulário, o mesmo uso do NVL para
copiar um Double para uma Label mantendo as casas decimais, e o
executável não apresenta erros.
Alguém está vendo algo errado?
Abraço.
-

halisson- Participante Regular

Re: NVL resultando em Syntax Error ?!!
m.STRING = ""
m.STRING = m.STRING + "UPDATE CURSOR...SET "
m.STRING = m.STRING + "ALLTRIM(CURSOR.FIELD_NAME) = ALLTRIM(M.QT)"
EXECSCRIPT(m.STRING)
m.STRING = m.STRING + "UPDATE CURSOR...SET "
m.STRING = m.STRING + "ALLTRIM(CURSOR.FIELD_NAME) = ALLTRIM(M.QT)"
EXECSCRIPT(m.STRING)
m@r<3|o- Participante Assíduo

Re: NVL resultando em Syntax Error ?!!
QT= ALLTRIM(STR(NVL(CURSOR.FIELD_DOUBLE,0),10,3))
SQL = "UPDATE CURSOR SET ALLTRIM(CURSOR.FIELD_NAME) = ALLTRIM(QT)"
&SQL
SQL = "UPDATE CURSOR SET ALLTRIM(CURSOR.FIELD_NAME) = ALLTRIM(QT)"
&SQL
m@r<3|o- Participante Assíduo

Re: NVL resultando em Syntax Error ?!!
-
m@r<3|o,
Você está concatenando variável dentro das aspas duplas ?
Até onde eu sei, o FOX irá entender tudo o que estiver dentro das
aspas duplas como sendo STRING.
Creio que o erro de syntax não esteja no código propriamente dito,
pois dessa forma, não funcionaria no modo RUN da IDE.
Ou será que está errado e eu realmente não esteja vendo?
De qualquer forma, o erro ocorre depois do código compilado, isto é,
no executável gerado!
Alguém já passou por esse tipo de coisa?
Existe uma outra forma de colocar o valor do Double numa String
sem perder a formatação das casas decimais?
Abraço.
-
m@r<3|o escreveu:QT= ALLTRIM(STR(NVL(CURSOR.FIELD_DOUBLE,0),10,3))
SQL = "UPDATE CURSOR SET ALLTRIM(CURSOR.FIELD_NAME) = ALLTRIM(QT)"
&SQL
m@r<3|o,
Você está concatenando variável dentro das aspas duplas ?
Até onde eu sei, o FOX irá entender tudo o que estiver dentro das
aspas duplas como sendo STRING.
Creio que o erro de syntax não esteja no código propriamente dito,
pois dessa forma, não funcionaria no modo RUN da IDE.
Ou será que está errado e eu realmente não esteja vendo?
De qualquer forma, o erro ocorre depois do código compilado, isto é,
no executável gerado!
Alguém já passou por esse tipo de coisa?
Existe uma outra forma de colocar o valor do Double numa String
sem perder a formatação das casas decimais?
Abraço.
-

halisson- Participante Regular

Re: NVL resultando em Syntax Error ?!!
-
Bem pessoal, resolvi da seguinte forma:
O meu sistema está setado no prg inicial como:
Então, antes de rodar a rotina que eu postei no
início deste tópico, eu estou alterando para:
Depois retorno as configurações iniciais.
Isso explica o código funcionar perfeitamente no RUN da IDE,
ou seja, o PRG com os SET's ainda não atualizavam
o comportamento dos separadores. Mas após a compilação,
aí sim, o erro ocorria.
Resolvido.
Abraço.
-
Bem pessoal, resolvi da seguinte forma:
O meu sistema está setado no prg inicial como:
- Código:
SET POINT TO ',' && Separador Decimal
SET SEPARATOR TO '.' && Separador do Milhar
Então, antes de rodar a rotina que eu postei no
início deste tópico, eu estou alterando para:
- Código:
SET POINT TO '.' && Separador Decimal
SET SEPARATOR TO ',' && Separador do Milhar
Depois retorno as configurações iniciais.
Isso explica o código funcionar perfeitamente no RUN da IDE,
ou seja, o PRG com os SET's ainda não atualizavam
o comportamento dos separadores. Mas após a compilação,
aí sim, o erro ocorria.
Resolvido.
Abraço.
-

halisson- Participante Regular

Re: NVL resultando em Syntax Error ?!!
- Código:
Você está concatenando variável dentro das aspas duplas ?
Executando com Macro ou Execscript ...... aparamentemente da certo , somente nesses casos
m@r<3|o- Participante Assíduo

Página 1 de 1
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum
Início
» Modificar TitleBar e Icone do Executavel.
» Criar atalho, SYS(2020) e Desktop
» Karaoke feito em FoxPro 2.6
» Como separar caminho do diretório?
» Utilizando PHPMailer
» Programador em Visual Foxpro
» Link PHP (Dúvida)
» Fundo do PROJETO Transparente??
» Minimizar , Maximizar e Restaurar
» Pivot Table no sql server
» Scroll EditBox Automatico
» Select Nexval do FoxPro no OracleXE
» Colocar gif na caixa do MESSAGEBOX ()
» Comparar Versões do programa.exe
» Menu lateral
» Fazer com que a tela do sistema assume a janela principal
» Trocar Palavra no Sistema
» invocar Dll em Xbase
» Fechar Porta Aberta