TEMOS Q REALMENTE MUDAR ??!!! MAS COMO ???!! AJUDA MUTUA ...
Moderador: Moderadores
TEMOS Q REALMENTE MUDAR ??!!! MAS COMO ???!! AJUDA MUTUA ...
se alguem puder enviar sistema. tela naum serve, quero ver e testar desempenho e funionalidade do sistema, se puder ser, um harbour, um five win e um visual fox pro, testarei todos...
como o amigo(moment) autor do topico(QUE TRISTEZA !!!) tenho anos de experiencia em clipper e naum posso abandonar tudo assim e empurrar para o alto, mas sinto necessidade de mudanca, e acho q nos deviamos unirmos em torno de uma real solucao, nada de comentario: usa Habor que e isso e aquilo, o habour eh a sooluao por isso e por isso, o five win eh melhor porque e por que, mas nenhum mostra algo de concreto: FUNCIONALIDADE de execução e de implementação de uma dessas ferramentas de trabalho. Diante do exposto precisar nos debrucarmos em estudos profundos, com ajuda mutua entre os clippeiros,
exemplo disso tudo, eh que mudei um pouco o visual e funcionalidade: uso a llibg com rdd dbfcdxe e compilando em modo protegido, deu erto tive ganho com isso, melhorou; nem por isso deixei de ajudar a amigos clippeiros e nem criei cd contendo arquivos reunidos e baixados da net pra vender para outros e outros programadores... precisamos de solucao e opinioes convictas...
desculpe se desagradei alguem, mas essa eh minha opiniao !!!!
como o amigo(moment) autor do topico(QUE TRISTEZA !!!) tenho anos de experiencia em clipper e naum posso abandonar tudo assim e empurrar para o alto, mas sinto necessidade de mudanca, e acho q nos deviamos unirmos em torno de uma real solucao, nada de comentario: usa Habor que e isso e aquilo, o habour eh a sooluao por isso e por isso, o five win eh melhor porque e por que, mas nenhum mostra algo de concreto: FUNCIONALIDADE de execução e de implementação de uma dessas ferramentas de trabalho. Diante do exposto precisar nos debrucarmos em estudos profundos, com ajuda mutua entre os clippeiros,
exemplo disso tudo, eh que mudei um pouco o visual e funcionalidade: uso a llibg com rdd dbfcdxe e compilando em modo protegido, deu erto tive ganho com isso, melhorou; nem por isso deixei de ajudar a amigos clippeiros e nem criei cd contendo arquivos reunidos e baixados da net pra vender para outros e outros programadores... precisamos de solucao e opinioes convictas...
desculpe se desagradei alguem, mas essa eh minha opiniao !!!!
""
Amigo clauber.
Assino embaixo do que você falou, e como aqui tem muitos profissionais de vários anos de programação, com certeza vamos achar a melhor solução. Eu já programo a mais de 16 anos em clipper, tenho vários sistema em muitos ramos de atividade e acho que é hora de mudar mas não perder o trabalho que já tenho pronto.
veja esse link é de um amigo nosso, tem um projeto.exe, mas precisamos de mais....... queremos saber qual é a melhor opção, desempenho, segurança e dificuldade de migra.
http://www.gransoft.com/download/minigui/
Assino embaixo do que você falou, e como aqui tem muitos profissionais de vários anos de programação, com certeza vamos achar a melhor solução. Eu já programo a mais de 16 anos em clipper, tenho vários sistema em muitos ramos de atividade e acho que é hora de mudar mas não perder o trabalho que já tenho pronto.
veja esse link é de um amigo nosso, tem um projeto.exe, mas precisamos de mais....... queremos saber qual é a melhor opção, desempenho, segurança e dificuldade de migra.
http://www.gransoft.com/download/minigui/
- rrfsistemas
- Usuário Nível 3

- Mensagens: 249
- Registrado em: 11 Jul 2004 18:16
- Localização: Uberlândia/MG
Boa noite a todos .
Caro Cleuber : eu até entendo o seu desbafo mas o próprio nome diz tudo "mudança" que quer dizer : 'Ação ou efeito de mudar, transformação radical...' e por ai vai .
Se vc quer mudança, tem que olhar para frente , ou seja , se vc quer aproveitar o seu conhecimento em clipper em outra lp basta escolher...
Se vc quer aproveitar o seu código fonte em outra lp é preciso 'mudanças'.
Já passei por este dilema, mas as novas tecnologias estão ai para serem usadas, infelizmente o clipper, em si, foi descontinuado, existem libs que até satisfazem em certos aspectos mas chega a um ponto em que vc vai sentir falta de alguma coisa, por ex. visual, escrever o menos possível de código, etc.
É certo que o ramo da informáticca segue tendências e hoje é ter um visual que chama a atenção do cliente, se o clipper+libs atende, muito bem, mas ao contrário ... mudanças.
Estou convicto da minha escolha...
Escolhi o VFP porque me deu duas opções : aproveitar parte do meu código antigo e/ou mudar para outro mundo... escolhi e/ou , ou seja , mudei de visual , mudei de lp, mudei meu modo de pensar ( nada é eterno), mas aproveitei o conhecimento que tenho em clipper e usei-o no VFP, pois é 90% parecido os outros 10% é consequência de 'mudanças'.
Existem duas maneiras de se programar em VFP :
1- pegar o seu código em clipper e usar no VFP mas com algumas 'mudanças', posso lhe dar um exemplo prático disto...
2 - começar um novo projeto, unindo seu 'conhecimento' em clipper com o poder do VFP...
ou escolher qualquer outra lp...
Se você quer exeplos de como proceder esta mudança basta dizer eu posso lhe apresentar um dos vários caminhos a seguir, com exemplos, telas( forms fontes) , manuais, links e muita gente disposta a lhe ajudar da maneira que vc precisar... basta escolher. []s :xau
Espero ter lhe ajudado no dilema... qqer coisa é só dizer.
Caro Cleuber : eu até entendo o seu desbafo mas o próprio nome diz tudo "mudança" que quer dizer : 'Ação ou efeito de mudar, transformação radical...' e por ai vai .
Se vc quer mudança, tem que olhar para frente , ou seja , se vc quer aproveitar o seu conhecimento em clipper em outra lp basta escolher...
Se vc quer aproveitar o seu código fonte em outra lp é preciso 'mudanças'.
Já passei por este dilema, mas as novas tecnologias estão ai para serem usadas, infelizmente o clipper, em si, foi descontinuado, existem libs que até satisfazem em certos aspectos mas chega a um ponto em que vc vai sentir falta de alguma coisa, por ex. visual, escrever o menos possível de código, etc.
É certo que o ramo da informáticca segue tendências e hoje é ter um visual que chama a atenção do cliente, se o clipper+libs atende, muito bem, mas ao contrário ... mudanças.
Estou convicto da minha escolha...
Escolhi o VFP porque me deu duas opções : aproveitar parte do meu código antigo e/ou mudar para outro mundo... escolhi e/ou , ou seja , mudei de visual , mudei de lp, mudei meu modo de pensar ( nada é eterno), mas aproveitei o conhecimento que tenho em clipper e usei-o no VFP, pois é 90% parecido os outros 10% é consequência de 'mudanças'.
Existem duas maneiras de se programar em VFP :
1- pegar o seu código em clipper e usar no VFP mas com algumas 'mudanças', posso lhe dar um exemplo prático disto...
2 - começar um novo projeto, unindo seu 'conhecimento' em clipper com o poder do VFP...
ou escolher qualquer outra lp...
Se você quer exeplos de como proceder esta mudança basta dizer eu posso lhe apresentar um dos vários caminhos a seguir, com exemplos, telas( forms fontes) , manuais, links e muita gente disposta a lhe ajudar da maneira que vc precisar... basta escolher. []s :xau
Espero ter lhe ajudado no dilema... qqer coisa é só dizer.
"Não é a ferramenta que faz o artesão e sim a sua criatividade...""
Renato Ribeiro Ferreira
Tecnologia em Analise de Sistemas de Informação
http://www.rrfsistemas.hd1.com.br
( VFP 9 + MySql e/ou Oracle 11 ) - ...Harbour/MiniGui...
Renato Ribeiro Ferreira
Tecnologia em Analise de Sistemas de Informação
http://www.rrfsistemas.hd1.com.br
( VFP 9 + MySql e/ou Oracle 11 ) - ...Harbour/MiniGui...
- momente
- Usuário Nível 3

- Mensagens: 496
- Registrado em: 03 Mar 2005 11:53
- Localização: São Carlos-SP
- Contato:
Olá amigos!
Por um lado me conforta saber que não estou sozinho nesta batalha da sobrevivença, por outro as vezes não vejo muita excolha senão encarar a realidade de enfrentar as mudanças em nossas cabeças pensantes, vamos lá, mãos a obra, tem luz no final do tunel, é só continuarmos assim unidos como uma grande nação, e ir a gerra, os nossos generais (moderadores) experientes nas batalhas nos axiliano como ja o fazem e continuarmos desenhando nosso cominho e nossa missão, tenho certeza que daqui algum tempo, quando formos rever os tópicos antigos tudo isso será apenas lembranças de tempos "dificeis", já superados, é só continuar de cabeça em pé, e fotalecendo nossos vinculos de amizade, companherismo, ética, respeito, solidariedade que chegaremos lá.
Valeu! :xau
Por um lado me conforta saber que não estou sozinho nesta batalha da sobrevivença, por outro as vezes não vejo muita excolha senão encarar a realidade de enfrentar as mudanças em nossas cabeças pensantes, vamos lá, mãos a obra, tem luz no final do tunel, é só continuarmos assim unidos como uma grande nação, e ir a gerra, os nossos generais (moderadores) experientes nas batalhas nos axiliano como ja o fazem e continuarmos desenhando nosso cominho e nossa missão, tenho certeza que daqui algum tempo, quando formos rever os tópicos antigos tudo isso será apenas lembranças de tempos "dificeis", já superados, é só continuar de cabeça em pé, e fotalecendo nossos vinculos de amizade, companherismo, ética, respeito, solidariedade que chegaremos lá.
Valeu! :xau
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
companheiros sou consiente das mundaças e sei que vou superá-las, afinal somos ser em mutação constante, mas peço a todos que entraram nessas mudanças ou que já passaram dê sua opinião sincera, nada de querer ganhar dinheiro nas costas de outros programadores, vamos ter ética, união que fortaleceremos nossa ferramenta de trabalho, e naum deixaremos ela se torna obsoleta.
Todos nós aqui somos profissionais, temos nosso espaço, naum por passar alguma rotina pra outro, ensinar algum código fonte, repassar lib's, onheimentos que vamos ter menos dinheiro no nosso caixa, eh ensinando que se aprende, e trocando experiencia que melhoramos a nossa, o nosso Brasil eh grandiosissimo tem espaço pra todos.
Se possível mais programadores postasse sua ideia aqui, pra provar q estamos unidos e juntos(Unidos sim, reunidos naum) enfretaremos essas mudanças.
Todos nós aqui somos profissionais, temos nosso espaço, naum por passar alguma rotina pra outro, ensinar algum código fonte, repassar lib's, onheimentos que vamos ter menos dinheiro no nosso caixa, eh ensinando que se aprende, e trocando experiencia que melhoramos a nossa, o nosso Brasil eh grandiosissimo tem espaço pra todos.
Se possível mais programadores postasse sua ideia aqui, pra provar q estamos unidos e juntos(Unidos sim, reunidos naum) enfretaremos essas mudanças.
""
- rrfsistemas
- Usuário Nível 3

- Mensagens: 249
- Registrado em: 11 Jul 2004 18:16
- Localização: Uberlândia/MG
Independente de qualquer coisa...
Para quem quiser tirar dúvidas sobre VFP:
www.foxbrasil.com.br/forum
apostilas, dicas exemplos, links, programação web, client/servidor,sgbd.
E muita gente disposta a ajudar ( inclusive eu ).
:xau
Para quem quiser tirar dúvidas sobre VFP:
www.foxbrasil.com.br/forum
apostilas, dicas exemplos, links, programação web, client/servidor,sgbd.
E muita gente disposta a ajudar ( inclusive eu ).
:xau
"Não é a ferramenta que faz o artesão e sim a sua criatividade...""
Renato Ribeiro Ferreira
Tecnologia em Analise de Sistemas de Informação
http://www.rrfsistemas.hd1.com.br
( VFP 9 + MySql e/ou Oracle 11 ) - ...Harbour/MiniGui...
Renato Ribeiro Ferreira
Tecnologia em Analise de Sistemas de Informação
http://www.rrfsistemas.hd1.com.br
( VFP 9 + MySql e/ou Oracle 11 ) - ...Harbour/MiniGui...
-
TerraSoftware
- Usuário Nível 3

- Mensagens: 353
- Registrado em: 28 Jul 2004 13:14
- Localização: Cianorte-PR
- Contato:
Caros colegas
Tenho um sistema em clipper 5.2e + Blinker 7.0 + SixNsx 2.0 + Visual Lib (na minha opniao esta é a melhor combinação para um programa em clipper), pra vcs terem ideia do tamanho, o executável compilado sem a compressao do blinker dá 3.036.352 bytes (3 mega) e com a compressao dá 1.152.640 bytes (1 mega), ou seja, é bem grandinho. Tem 263 PRGs. Tudo funciona muito bem, obrigado. Mas... é 16 bits!!! Naum funciona legal nos windows da familia NT, e linux só atraves de emulação (mesmo problema do windows NT), fica lennnnntoooooo. Isso ninguem vai mudar, isso é fato!!!!! Também passei pelo dilema de qual linguagem escolher. Testei VFP, particularmente naum gostei, pouca literatura, curso nem na lua tem e a instalacao do executavel final no cliente é um saco, vc tem que levar quase que a linhagem inteira pra dentro da maquina do cliente, com relacao ao poder de desenvolvimento da ferramenta naum discuto, a dita cuja é poderosa. Ai ouvi uns comentários sobre harbour, pesquisei, li bastante, fui numa palestra em Sampa promovida pelo Marcelo Lombar (alias, foi muito boa), depois decidi, vou para harbour. E agora, por onde começar??? Naum tinha nem idéia!!!! Neste momento surge um amigo nosso aqui do forum (que todo mundo sabe quem é) dissendo que em uma semana transformaria todo o meu codigo fonte de clipper para harbour. Ah!!! Dúvido!!!! Cai do cavalo.... o cara veio aqui e vez o que disse que faria. Em uma semana passamos todo o programa para compilar em habour usando a gtwvw para saidas de tela, ou seja, passei a ter um programa 32 bits com um visual digamos assim... semiwindows... Mas que atendeu minha necessidade e a dos meus clientes também. Ah... outra coisa, depois, com um pouco de boa vontade e séria dedicacao conseguimos fazer algumas adpitacoes para que 97% dos arquivos PRGs servicem tanto para clipper como para harbor. Entao conseguimos ter, ao mesmo tempo, e o mesmo programa, para windows e para dos, sem ter que alterar codigos fontes diferentes, apenas 3% dos PRGs sao diferentes, na hora de compilar, a instrucao de compilacao busca os 3% do clipper ou os 3% do harbour, de acordo com o que eu quero no momento. Ficou ótimo !!!!!!!!!!! Agora é claro que isso teve um custo. O nosso amigo naum ia vir aqui no fim do mundo de graça!!!! Aqueles que acham que isso é uma exploracao, por favor, liguem para a borland e perguntem quanto custa uma copia do Delphi completo (por exemplo). O harbour é open source!!!!
Dúvidas??? Estou a disposicao !!!!!!!!
Tenho um sistema em clipper 5.2e + Blinker 7.0 + SixNsx 2.0 + Visual Lib (na minha opniao esta é a melhor combinação para um programa em clipper), pra vcs terem ideia do tamanho, o executável compilado sem a compressao do blinker dá 3.036.352 bytes (3 mega) e com a compressao dá 1.152.640 bytes (1 mega), ou seja, é bem grandinho. Tem 263 PRGs. Tudo funciona muito bem, obrigado. Mas... é 16 bits!!! Naum funciona legal nos windows da familia NT, e linux só atraves de emulação (mesmo problema do windows NT), fica lennnnntoooooo. Isso ninguem vai mudar, isso é fato!!!!! Também passei pelo dilema de qual linguagem escolher. Testei VFP, particularmente naum gostei, pouca literatura, curso nem na lua tem e a instalacao do executavel final no cliente é um saco, vc tem que levar quase que a linhagem inteira pra dentro da maquina do cliente, com relacao ao poder de desenvolvimento da ferramenta naum discuto, a dita cuja é poderosa. Ai ouvi uns comentários sobre harbour, pesquisei, li bastante, fui numa palestra em Sampa promovida pelo Marcelo Lombar (alias, foi muito boa), depois decidi, vou para harbour. E agora, por onde começar??? Naum tinha nem idéia!!!! Neste momento surge um amigo nosso aqui do forum (que todo mundo sabe quem é) dissendo que em uma semana transformaria todo o meu codigo fonte de clipper para harbour. Ah!!! Dúvido!!!! Cai do cavalo.... o cara veio aqui e vez o que disse que faria. Em uma semana passamos todo o programa para compilar em habour usando a gtwvw para saidas de tela, ou seja, passei a ter um programa 32 bits com um visual digamos assim... semiwindows... Mas que atendeu minha necessidade e a dos meus clientes também. Ah... outra coisa, depois, com um pouco de boa vontade e séria dedicacao conseguimos fazer algumas adpitacoes para que 97% dos arquivos PRGs servicem tanto para clipper como para harbor. Entao conseguimos ter, ao mesmo tempo, e o mesmo programa, para windows e para dos, sem ter que alterar codigos fontes diferentes, apenas 3% dos PRGs sao diferentes, na hora de compilar, a instrucao de compilacao busca os 3% do clipper ou os 3% do harbour, de acordo com o que eu quero no momento. Ficou ótimo !!!!!!!!!!! Agora é claro que isso teve um custo. O nosso amigo naum ia vir aqui no fim do mundo de graça!!!! Aqueles que acham que isso é uma exploracao, por favor, liguem para a borland e perguntem quanto custa uma copia do Delphi completo (por exemplo). O harbour é open source!!!!
Dúvidas??? Estou a disposicao !!!!!!!!
terra software, blz gostei do seu comente, pratico e objetivo ate q enfim algo de concreto e pratico, eh isso q precisamos praticidade, e resolveu seu problema. . . diferente de algo vago que falam aqui. . . em relacao a pagamento aho q ninguem ta pidindo nada de Graca aqui, se realmente tiver algo em maos q realmente funcione tem seu preco, falo de alguns q acham q tem a soluao, pensam q domina a ferramenta e vai criando algo pra ganhar dinheiro.. no seu caso eh diferente e pago pra ver tambem a coisa acontecer .. vc poderia disponibilizzar algum sistetma seu gratis pra gente ver um executavel gerado com esse tal de habour, particulamente eu, to mim cossando todinho pra ver um sistema rodando...
""
- rrfsistemas
- Usuário Nível 3

- Mensagens: 249
- Registrado em: 11 Jul 2004 18:16
- Localização: Uberlândia/MG
Obs : já perceberam uma coisa ?
depois que surgiu o x/harbour - hwgui, minigui etc,etc... vcs estão se estapeando para fazer o outro engolir algo... (literalmente) . Parem pra pensar !!
Peguei alguns trechos de conversas em outros foruns para analisar e cheguei a conclusão de que isto esta mais para um problema do que uma solução !!
Vejam o trecho abaixo ; para que tanto trabalho se vc pode apenas num click criar um executável ??
Todo mundo diz que quer funcionalidade e q não tem tempo pra isso ou aquilo...
Gente vamos cair na real ...
Todo mundo deveria pesquisar, ler bastaaaaaaaaaaante mesmo , ir em palestras e cursos em BH, antes de dar um tiro no escuro.
No VFP vc pode: criar Dlls, chamar um EXE dentro de outro EXE,ou seja planejar seu código , sem precisar tornar o program um monstro, de tão grande...
Quando vc seleciona a opção de encriptação, o mínimo do código vai para o instalável, caso contrário até os comentários , com o Inno setup ou com o InstallShield (vem com o VFP 7), fica molezinha a instalação.
No VFP 5, o próprio cria o instalável pra vc...
Programa simples em clipper
O mesmo programa simples convertido para VFP (todos)
eu mesmo o fiz...e não me cobrei nada (hehe)
mais prático e objetivo que isto é impossível ... :? só um milagre !!
:xau
depois que surgiu o x/harbour - hwgui, minigui etc,etc... vcs estão se estapeando para fazer o outro engolir algo... (literalmente) . Parem pra pensar !!
Peguei alguns trechos de conversas em outros foruns para analisar e cheguei a conclusão de que isto esta mais para um problema do que uma solução !!
Vejam o trecho abaixo ; para que tanto trabalho se vc pode apenas num click criar um executável ??
Código: Selecionar todos
- baixe o CVS em http://www.tortoisecvs.org/
- depois de instalado, ele pedirá para rebootar a máquina, faça isso
- depois de iniciado o Windows, abra o Windows Explorer
- clique com o botão direito em C:\ e escolha "CVS Obter Módulo..."
- abrirá uma janela pedindo informações, abaixo segue o que deve ser preenchido :
** protocol : pserver
** server : cvs.sf.net
** repository folder : /cvsroot/hwgui
** user name : anonymous
** module : hwgui
** senha : tecle enter
em uma janela, será mostrado o progresso da instalação dos arquivos da HwGUI no C:\ da sua máquina na pasta HwGUI, quando terminar, basta clicar no OK
Para compilar a lib HwGUI :
- abra uma janela do DOS
- vá para a pasta HwGUI
- digite "set HB_PATH=c:\xharbour" (sem as aspas)
- digite "make_b32 clean"
- digite make_b32
Ps: Borland c++ instalado em c:\bcc55 e xharbour instalado de c:\xharbour (baixe os binarios oficiais do xharbour de www.xharbour.org
e adicione como ultima linha de seu autoexec.bat (coloque essas linhas antes de dar o reboot por causa do tortoise cvs
set hb_path=c:\xharbour
set path=c:\xharbour\bin;c:\bcc55\bin;%path%
Gente vamos cair na real ...
Todo mundo deveria pesquisar, ler bastaaaaaaaaaaante mesmo , ir em palestras e cursos em BH, antes de dar um tiro no escuro.
No VFP vc pode: criar Dlls, chamar um EXE dentro de outro EXE,ou seja planejar seu código , sem precisar tornar o program um monstro, de tão grande...
Quando vc seleciona a opção de encriptação, o mínimo do código vai para o instalável, caso contrário até os comentários , com o Inno setup ou com o InstallShield (vem com o VFP 7), fica molezinha a instalação.
No VFP 5, o próprio cria o instalável pra vc...
Programa simples em clipper
Código: Selecionar todos
*----------------------------------------------------------------------------*
* RRF Sistemas de Informacao. Departamento de Software *
*----------------------------------------------------------------------------*
* Sistema .: Sistema de Gestao Financeira Versao : 2.00 *
* Analise .: Renato Ribeiro Ferreira *
*----------------------------------------------------------------------------*
* Programa : BC.PRG Versao : 2.00.02 *
* Tipo ....: Gerenciador Principal Escrita: 10/07/92 *
* Autor ...: Renato Ribeirop Ferreira Usando : Clipper 5.01 Mult User *
*----------------------------------------------------------------------------*
* Funcao ..: Gerenciador do Sistema *
*----------------------------------------------------------------------------*
* Data Responsavel Local Manutencao *
*----------------------------------------------------------------------------*
* 19/09/92 Renato M Service Original *
* 19/09/92 Renato M Service Layout Handler de PRG *
* 19/09/92 Renato M Service Picture Codcli03 *
* 28/10/98 Renato Imperio Identifica‡„o Revenda ou Consumidor *
*----------------------------------------------------------------------------*
* Objetos Utilizados *
*----------------------------------------------------------------------------*
* Arquivos .: *
* Graficos .: *
* Relatorios: *
* SubRotinas: *
* Telas ....: Tela do Sistema *
*----------------------------------------------------------------------------*
* Detalhes Adicionais *
*----------------------------------------------------------------------------*
Local GetList := {},BoxComp0,BoxComp1
sele A
use gfa003 index gfa103,GFA203
op1 = 1
ftelcad(" CADASTRO DE CLIENTES ")
do while .t.
tone(1000,1)
@ 04,00 say space(79)
@ 06,36 prompt ' Inclus„o ' message ' Inclus„o de CLIENTE.'
@ 06,48 prompt ' Altera‡„o ' message ' Altera‡„o de CLIENTE.'
@ 06,61 prompt ' Exclus„o ' message ' Exclus„o de CLIENTE.'
@ 06,73 prompt ' Fim ' message ' Fim das opera‡oes.'
menu to op1
if op1 = 4 .or. lastkey() = 27
close data
release all
return
endif
do while .t.
@ 04,00 say space(79)
stor 0 to codcli, codage, cpames, cpaano, przpgt
nomcli := nomfan := space(36) ; nf := " "
endcli := space(36)
endrec := space(36)
baicli := space(20)
bairec := space(20)
cidcli := space(20)
cidrec := space(20)
estcli := space(02)
estrec := space(02)
cepcli := space(08)
ceprec := space(08)
telcli := space(11)
datnsc := ctod(' / / ')
cgccpf := space(14)
insest := space(15)
identi := space(15)
nomage := space(20)
nrocta := space(10)
ultcpa := ctod(' / / ')
contat := space(20)
chfcpa := 0
situac := space(01)
DatInc := ctod(' / / ')
Comp_1 := Comp_M := Comp_U := ctod(' / / ')
CompV1 := CompVM := CompVU := 0.00
N_Fax_ := N_Celu := space(14)
RamAti := space(15)
Catego := "C"
conf := " "
@ 08,02 say "C¢digo...: Nome..: F.: "
@ 09,02 say "Endere‡o.: Data Nasc: "
@ 10,02 say "Bairro...: Cep......: "
@ 11,02 say "Cidade...: Estado...: "
@ 12,02 say "CGC/CPF..: Insc. Est: "
@ 13,02 say "Identid..: Telefone.: "
@ 14,02 say "C¢d.agenc: Cta Bco..: "
@ 15,02 say "Ult. cpa.: Cpa. mes.: "
@ 16,02 say "Contato..: Cpa. ano.: "
@ 17,02 say "Vendedor.: Prz.pgto.: "
@ 18,02 say "End. Rec.: Etiqueta.: "
@ 19,02 say "Bairro...: Cep......: "
@ 20,02 say "Cidade...: Estado...: "
go bott
codcli := codcli03 + 1
@ 08,13 get codcli pict '999999999999' && valid codcli = 0 .or. fdig11(codcli)
read
if codcli = 0 .or. lastkey() = 27
exit
endif
seek codcli
if eof() .and. op1 # 1
fmsg("Cliente n„o cadastrado",2)
loop
endif
if found()
codcli := codcli03 ; nomcli := nomcli03
nomfan := nomfan03 ; endcli := endcli03
baicli := baicli03 ; cidcli := cidcli03
estcli := estcli03 ; cepcli := cepcli03
telcli := telcli03 ; datnsc := datnsc03
cgccpf := cgccpf03 ; insest := insest03
identi := identi03 ; nomage := nomage03
codage := codage03 ; nrocta := nrocta03
ultcpa := ultcpa03 ; cpames := cpames03
cpaano := cpaano03 ; contat := contat03
chfcpa := chfcpa03 ; przpgt := przpgt03
endrec := endrec03 ; situac := situac03
bairec := bairec03 ; cidrec := cidrec03
estrec := estrec03 ; ceprec := ceprec03
If !Empty(nomfan)
nf := "S"
EndIf
@ 08,34 get nomcli pict '@!'
@ 09,13 get endcli pict '@!'
@ 09,63 get datnsc
@ 10,13 get baicli pict '@!'
@ 10,63 get cepcli pict '@!'
@ 11,13 get cidcli pict '@!'
@ 11,63 get estcli pict '@!'
@ 12,13 get cgccpf pict '@!'
@ 12,63 get insest pict '@!'
@ 13,13 get identi pict '@!'
@ 13,63 get telcli pict '@R (!!!!)-!!!-!!!!'
@ 14,13 get codage pict '9999-9'
@ 14,21 get nomage pict '@!'
@ 14,63 get nrocta pict '@!'
// @ 15,63 get cpames pict '@E 9,999,999.99'
// @ 16,63 get cpaano pict '@E 9,999,999,999.99'
@ 16,13 get contat pict '@!'
@ 17,13 get chfcpa pict '99'
@ 17,63 get przpgt pict '99'
@ 18,13 get endrec pict '@!'
@ 18,63 get situac pict '!'
@ 19,13 get bairec pict '@!'
@ 19,63 get ceprec pict '@!'
@ 20,13 get cidrec pict '@!'
@ 20,63 get estrec pict '@!'
clear gets
if op1 = 1
fmsg("Cliente j cadastrado",2)
loop
endif
if op1 = 3
@ 22,01 say space(79)
@ 22,01 say 'Confirma exclusao (S/N) ? ' get conf valid conf $'SsNn'
read
if upper(conf) = 'S'
delete
endif
@ 22,01 say space(79)
loop
endif
endif
@ 15,13 get ultcpa
@ 15,63 get cpames pict '@E 9,999,999.99'
@ 16,63 get cpaano pict '@E 9,999,999,999.99'
clear gets
@ 08,34 get nomcli pict '@!' && valid fsp(nomcli)
@ 08,74 get nf pict "!" valid FFantasia(nf)
@ 09,13 get endcli pict '@!' && valid fsp(endcli)
@ 09,63 get datnsc
@ 10,13 get baicli pict '@!' && valid fsp(baicli)
@ 10,63 get cepcli pict '@!' && valid fsp(cepcli)
@ 11,13 get cidcli pict '@!' && valid fsp(cidcli)
@ 11,63 get estcli pict '@!' && valid fuf(estcli)
@ 12,13 get cgccpf pict '@!' valid fcgccpf(cgccpf)
@ 12,63 get insest pict '@!' && valid fsp(insest)
@ 13,13 get identi pict '@!' && valid fsp(identi)
@ 13,63 get telcli pict '@R (!!!!)-!!!-!!!!'&& valid fsp(telcli)
@ 14,13 get codage pict '9999-9'
@ 14,21 get nomage pict '@!'
@ 14,63 get nrocta pict '@!' && valid fsp(nrocta)
@ 16,13 get contat pict '@!'
@ 17,13 get chfcpa pict '99'
@ 17,63 get przpgt pict '99'
@ 18,13 get endrec pict '@!'
@ 18,63 get situac pict '!' valid situac $'SN'
@ 19,13 get bairec pict '@!'
@ 19,63 get ceprec pict '@!'
@ 20,13 get cidrec pict '@!'
@ 20,63 get estrec pict '@!' valid fuf(estrec)
read
OldCor0 := SetColor()
BoxComp0 := Boxcc(10,09,10,20,69,5,.t.,7)
BoxComp1 := Boxcc(11,09,10,09,69,1,.f.,6)
@ 09,10 Say Padc(" Dados Complementares ",60)
SetColor('w+/B,b/w,,,G+/B')
@ 11, 11 say "Vect§ Cart„o ¯ "
@ 12, 11 say "Lim. Cr‚dito ¯ ¯ R$ "
@ 13, 11 say "Saldo.Rest.. ¯ ¯ R$ "
@ 14, 11 say " Ult. Compra ¯ ¯ R$ "
@ 15, 11 say " Fax ¯ "
@ 16, 11 say " Celular ¯ "
@ 17, 11 say " Ramo Ativid ¯ Categoria ¯ "
datinc:= datven03
comp_1:= comp_103
comp_m:= comp_m03
comp_u:= comp_u03
compv1:= compv103
compvm:= compvm03
compvu:= compvu03
n_fax_:= n_fax_03
n_celu:= n_celu03
ramati:= ramati03
catego:= catego03
@ 11, 26 Get DatInc
@ 12, 26 Get Comp_1
@ 12, 41 Get CompV1 Pict "@E 999,999.99" color "G+/b"
@ 13, 26 Get Comp_M
@ 13, 41 Get CompVM Pict "@E 999,999.99" color ("GR+/b")
@ 14, 26 Get Comp_U
@ 14, 41 Get CompVU Pict "@E 999,999.99" color ("BG+/b")
@ 15, 26 Get N_Fax_
@ 16, 26 Get N_Celu
@ 17, 26 Get RamAti
Read
CleaBox(09,10,20,69,BoxComp0)
SetColor(OldCor0)
@ 22,01 say space(79)
if op1 = 2
@ 22,01 say "Confirma altera‡„o (S/N) ? " get conf valid conf $'SsNn'
else
@ 22,01 say "Confirma inclus„o (S/N) ? " get conf valid conf $'SsNn'
endif
read
@ 22,01 say space(79)
if upper(conf) = 'S'
if op1 = 1
append blank
endif
replace codcli03 with codcli, nomfan03 with nomfan
replace nomcli03 with nomcli, Datven03 with DatInc
replace endcli03 with endcli, Comp_103 with Comp_1
replace baicli03 with baicli, Comp_M03 with Comp_M
replace cidcli03 with cidcli, Comp_U03 with Comp_U
replace estcli03 with estcli, CompV103 with CompV1
replace cepcli03 with cepcli, CompVM03 with CompVM
replace telcli03 with telcli, CompVU03 with CompVU
replace datnsc03 with datnsc
replace cgccpf03 with cgccpf, N_Fax_03 with N_Fax_
replace insest03 with insest, N_Celu03 with N_Celu
replace identi03 with identi, RamAti03 with RamAti
replace codage03 with codage, Catego03 with Catego
replace nomage03 with nomage
replace nrocta03 with nrocta
replace ultcpa03 with ultcpa
replace cpames03 with cpames
replace cpaano03 with cpaano
replace contat03 with contat
replace chfcpa03 with chfcpa
replace przpgt03 with przpgt
replace codope03 with codope
replace endrec03 with endrec
replace situac03 with situac
replace bairec03 with bairec
replace cidrec03 with cidrec
replace estrec03 with estrec
replace ceprec03 with ceprec
endif
enddo
enddo
Return
eu mesmo o fiz...e não me cobrei nada (hehe)
Código: Selecionar todos
*----------------------------------------------------------------------------*
* RRF Sistemas de Informacao Departamento de Software *
*----------------------------------------------------------------------------*
* Sistema .: Sistema de Gestao Financeira Versao : 2.00 *
* Analise .: Renato Ribeiro Ferreira *
*----------------------------------------------------------------------------*
* Programa : BC.PRG Versao : 2.00.02 *
* Tipo ....: Gerenciador Principal Escrita: 10/07/92 *
* Autor ...: Renato Ribeirop Ferreira Usando : Clipper 5.01 Mult User *
*----------------------------------------------------------------------------*
* Funcao ..: Gerenciador do Sistema *
*----------------------------------------------------------------------------*
* Data Responsavel Local Manutencao *
*----------------------------------------------------------------------------*
* 19/09/92 Renato M Service Original *
* 19/09/92 Renato M Service Layout Handler de PRG *
* 19/09/92 Renato M Service Picture Codcli03 *
* 28/10/98 Renato Imperio Identifica‡„o Revenda ou Consumidor *
*----------------------------------------------------------------------------*
* Objetos Utilizados *
*----------------------------------------------------------------------------*
* Arquivos .: *
* Graficos .: *
* Relatorios: *
* SubRotinas: *
* Telas ....: Tela do Sistema *
*----------------------------------------------------------------------------*
* Detalhes Adicionais *
*----------------------------------------------------------------------------*
Local BoxComp0,BoxComp1,TelCad
Set SysMenu off
Set Status Bar Off
USE gfa003 Alias Clientes IN 0 && Order Tag gfa003
Select Clientes
Set Order to TAG TGFA103
op1 = 1
Do ftelcad1 with "Manutenção de Clientes",0,1,35,88
do while .t.
@ 00,00 clear to 03,87
@ 00,00 prompt ' \<Inclusão '
@ 00,col()+1 prompt ' \<Alteração '
@ 00,col()+1 prompt ' \<Exclusão '
@ 00,col()+1 prompt ' \<Fim '
menu to op1
If op1 = 4
Close Database
Release Window fontchar
_screen.cls
Set SysMenu on
Set Status Bar On
Return
Endif
If op1 <> 1 .and. op1 <> 2 .and. op1 <> 3
Loop
Endif
Do While .t.
Clear
If op1 = 1
@ 00,70 Say "Inclusão" FONT 'Arial', 16
endif
stor 0 to codcli, codage, cpames, cpaano, przpgt
Stor space(36) to nomcli, nomfan
nf = " "
endcli = space(36)
endrec = space(36)
baicli = space(20)
bairec = space(20)
cidcli = space(20)
cidrec = space(20)
estcli = space(02)
estrec = space(02)
cepcli = space(08)
ceprec = space(08)
telcli = space(11)
datnsc = ctod(' / / ')
Stor space(14) to N_Fax_ , N_Celu ,cgccpf
insest = space(15)
identi = space(15)
nomage = space(20)
nrocta = space(10)
ultcpa = ctod(' / / ')
contat = space(20)
chfcpa = 0
situac = space(01)
DatInc = ctod(' / / ')
Stor ctod(' / / ') to Comp_1,Comp_M,Comp_U
Stor 0.00 to CompV1,CompVM, CompVU
RamAti = space(15)
Catego = "C"
datinc = datven03
comp_1 = comp_103
comp_m = comp_m03
comp_u = comp_u03
compv1 = compv103
compvm = compvm03
compvu = compvu03
n_fax_ = n_fax_03
n_celu = n_celu03
ramati = ramati03
catego = catego03
wjuros = juros_03
coltxt = 01
@ 04,coltxt say "Código...» Nome..» F.» "
@ row()+1.2,coltxt say "Endereço.» Data Nasc» "
@ row()+1.2,coltxt say "Bairro...» Cep......» "
@ row()+1.2,coltxt say "Cidade...» Estado...» "
@ row()+1.2,coltxt say "CGC/CPF..» Insc. Est» "
@ row()+1.2,coltxt say "Identid..» Telefone.» "
@ row()+1.2,coltxt say "Cód.agenc» Cta Bco..» "
@ row()+1.2,coltxt say "Ult. cpa.» Cpa. mes.» "
@ row()+1.2,coltxt say "Contato..» Cpa. ano.» "
@ row()+1.2,coltxt say "Vendedor.» Prz.pgto.» "
@ row()+1.2,coltxt say "End. Rec.» Etiqueta.» "
@ row()+1.2,coltxt say "Bairro...» Cep......» "
@ row()+1.2,coltxt say "Cidade...» Estado...» "
Do Frame with "",20,.10,30,86
coltxt = 10
@ 21,coltxt say "Vectº Cartão » Juros » % "
@ row()+1.2,coltxt say "Lim. Crédito » » R$ "
@ row()+1.2,coltxt say "Saldo.Rest.. » » R$ "
@ row()+1.2,coltxt say " Ult. Compra » » R$ "
@ row()+1.2,coltxt say " Fax » "
@ row()+1.2,coltxt say " Celular » "
@ row()+1.2,coltxt say " Ramo Ativid » Categoria » "
@ 04,12 get codcli pict '999999999999' && valid codcli = 0 .or. fdig11(codcli)
read
if Empty(codcli) .or. lastkey() = 27
exit
endif
Seek codcli
If !Found() .and. op1 # 1
Messagebox("O código que você digitou não foi encontrado...",16,"Aviso")
Loop
Endif
If Found()
nomcli = nomcli03
nomfan = nomfan03
endcli = endcli03
baicli = baicli03
cidcli = cidcli03
estcli = estcli03
cepcli = cepcli03
telcli = telcli03
datnsc = datnsc03
cgccpf = cgccpf03
insest = insest03
identi = identi03
nomage = nomage03
codage = codage03
nrocta = nrocta03
ultcpa = ultcpa03
cpames = cpames03
cpaano = cpaano03
contat = contat03
chfcpa = chfcpa03
przpgt = przpgt03
endrec = endrec03
situac = situac03
bairec = bairec03
cidrec = cidrec03
estrec = estrec03
ceprec = ceprec03
Endif
If Found() .and. op1 = 1
Messagebox("O código que você digitou já está em uso...",16,"Aviso")
loop
endif
@ 4.0 ,33 get nomcli pict '@!' && valid fsp(nomcli)
@ 4.0 ,75 get nf pict "!" && valid FFantasia(nf)
@ row()+1.2,12 get endcli pict '@!' && valid fsp(endcli)
@ row() ,62 get datnsc
@ row()+1.2,12 get baicli pict '@!' && valid fsp(baicli)
@ row() ,62 get cepcli pict '@!' && valid fsp(cepcli)
@ row()+1.2,12 get cidcli pict '@!' && valid fsp(cidcli)
@ row() ,62 get estcli pict '@!' && valid fuf(estcli)
@ row()+1.2,12 get cgccpf pict '@!' && valid fcgccpf(cgccpf)
@ row() ,62 get insest pict '@!' && valid fsp(insest)
@ row()+1.2,12 get identi pict '@!' && valid fsp(identi)
@ row() ,62 get telcli pict '@R (!!!)-!!!!-!!!!'&& valid fsp(telcli)
@ row()+1.2,12 get codage pict '9999-9'
@ row() ,22 get nomage pict '@!'
@ row() ,62 get nrocta pict '@!' && valid fsp(nrocta)
@ row()+2.4,12 get contat pict '@!'
@ row()+1.2,12 get chfcpa pict '99'
@ row() ,62 get przpgt pict '99'
@ row()+1.2,12 get endrec pict '@!'
@ row() ,62 get situac pict '!' &&valid situac $'SN'
@ row()+1.2,12 get bairec pict '@!'
@ row() ,62 get ceprec pict '@!'
@ row()+1.2,12 get cidrec pict '@!'
@ row() ,62 get estrec pict '@!' &&valid fuf(estrec)
@ 21 , 26 Get DatInc
@ 21 , 50 Get WJuros Pict "@ 999.99" color ,gr/b
@ row()+1.2 , 26 Get Comp_1
@ row() , 41 Get CompV1 Pict "@ 999,999.99" color ,G+/b
@ row()+1.2 , 26 Get Comp_M
@ row() , 41 Get CompVM Pict "@ 999,999.99" color ,GR+/b
@ row()+1.2 , 26 Say Comp_U
@ row() , 41 Say CompVU Pict "@ 999,999.99" color ,BG+/b
@ row()+1.2 , 26 Get N_Fax_
@ row()+1.2 , 26 Get N_Celu
@ row()+1.2 , 26 Get RamAti
read cycle
* 6=sim 7 = nao
If op1 = 1
MSalvar = Messagebox("Deseja incluir este registro ?",36,"Siadem pergunta")
endif
if op1 = 2
MSalvar = Messagebox("Deseja gravar esta alteração ?",36,"Siadem pergunta")
endif
if op1 = 3
MSalvar = Messagebox("Deseja excluir este registro ?",36,"Siadem pergunta")
endif
if MSalvar = 6
if op1 = 1
append blank
endif
replace codcli03 with codcli, nomfan03 with nomfan
replace nomcli03 with nomcli, Datven03 with DatInc
replace endcli03 with endcli, Comp_103 with Comp_1
replace baicli03 with baicli, Comp_M03 with Comp_M
replace cidcli03 with cidcli, Comp_U03 with Comp_U
replace estcli03 with estcli, CompV103 with CompV1
replace cepcli03 with cepcli, CompVM03 with CompVM
replace telcli03 with telcli, CompVU03 with CompVU
replace datnsc03 with datnsc
replace cgccpf03 with cgccpf, N_Fax_03 with N_Fax_
replace insest03 with insest, N_Celu03 with N_Celu
replace identi03 with identi, RamAti03 with RamAti
replace codage03 with codage, Catego03 with Catego
replace nomage03 with nomage, juros_03 with wjuros
replace nrocta03 with nrocta
replace ultcpa03 with ultcpa
replace cpames03 with cpames
replace cpaano03 with cpaano
replace contat03 with contat
replace chfcpa03 with chfcpa
replace przpgt03 with przpgt
replace codope03 with codope
replace endrec03 with endrec
replace situac03 with situac
replace bairec03 with bairec
replace cidrec03 with cidrec
replace estrec03 with estrec
replace ceprec03 with ceprec
flush
endif
Enddo
Enddo
Return
****************************************************************
:xau
Editado pela última vez por rrfsistemas em 14 Dez 2005 01:48, em um total de 2 vezes.
"Não é a ferramenta que faz o artesão e sim a sua criatividade...""
Renato Ribeiro Ferreira
Tecnologia em Analise de Sistemas de Informação
http://www.rrfsistemas.hd1.com.br
( VFP 9 + MySql e/ou Oracle 11 ) - ...Harbour/MiniGui...
Renato Ribeiro Ferreira
Tecnologia em Analise de Sistemas de Informação
http://www.rrfsistemas.hd1.com.br
( VFP 9 + MySql e/ou Oracle 11 ) - ...Harbour/MiniGui...
Ola amigo. TerraSoftware
Gosteis da sua posição e a do rrfsistemas, mas gostaria de ver seu sistema como ficou, antes e depois e queria ver com você se é possivel ir em cianorte para ver o seu sistema como esta, pois preciso de uma solução. E você esta contente com os resultados.
Mas queria dizer que o meu modo de programar esta mais para o 5.3.
Ex.: do meu amigo rrfsistemas.....nada contra ele!
//como ele programa.
stor 0 to codcli, codage, cpames, cpaano, przpgt
nomcli := nomfan := space(36) ; nf := " "
endcli := space(36)
endrec := space(36)
baicli := space(20)
bairec := space(20)
cidcli := space(20)
cidrec := space(20)
estcli := space(02)
estrec := space(02)
cepcli := space(08)
ceprec := space(08)
telcli := space(11)
datnsc := ctod(' / / ')
cgccpf := space(14)
insest := space(15)
identi := space(15)
nomage := space(20)
nrocta := space(10)
ultcpa := ctod(' / / ')
contat := space(20)
chfcpa := 0
situac := space(01)
DatInc := ctod(' / / ')
Comp_1 := Comp_M := Comp_U := ctod(' / / ')
CompV1 := CompVM := CompVU := 0.00
N_Fax_ := N_Celu := space(14)
RamAti := space(15)
Catego := "C"
conf := " "
em quanto ele gasta 30 linha para declarar as variaveis, eu gasto poucas linha.
SELECT Cliente
GO BOTTOM
SKIP
aGetCli := InitData()
ReplData(aGetCli)
s3ip@hotmail.com
Gosteis da sua posição e a do rrfsistemas, mas gostaria de ver seu sistema como ficou, antes e depois e queria ver com você se é possivel ir em cianorte para ver o seu sistema como esta, pois preciso de uma solução. E você esta contente com os resultados.
Mas queria dizer que o meu modo de programar esta mais para o 5.3.
Ex.: do meu amigo rrfsistemas.....nada contra ele!
//como ele programa.
stor 0 to codcli, codage, cpames, cpaano, przpgt
nomcli := nomfan := space(36) ; nf := " "
endcli := space(36)
endrec := space(36)
baicli := space(20)
bairec := space(20)
cidcli := space(20)
cidrec := space(20)
estcli := space(02)
estrec := space(02)
cepcli := space(08)
ceprec := space(08)
telcli := space(11)
datnsc := ctod(' / / ')
cgccpf := space(14)
insest := space(15)
identi := space(15)
nomage := space(20)
nrocta := space(10)
ultcpa := ctod(' / / ')
contat := space(20)
chfcpa := 0
situac := space(01)
DatInc := ctod(' / / ')
Comp_1 := Comp_M := Comp_U := ctod(' / / ')
CompV1 := CompVM := CompVU := 0.00
N_Fax_ := N_Celu := space(14)
RamAti := space(15)
Catego := "C"
conf := " "
em quanto ele gasta 30 linha para declarar as variaveis, eu gasto poucas linha.
SELECT Cliente
GO BOTTOM
SKIP
aGetCli := InitData()
ReplData(aGetCli)
s3ip@hotmail.com
- rrfsistemas
- Usuário Nível 3

- Mensagens: 249
- Registrado em: 11 Jul 2004 18:16
- Localização: Uberlândia/MG
Caro amigo Evaldo da pra mostrar o que tem na sua função InitData()
Porque eu tbem uso objetos , este exemplo foi apenas para demostrar a COMPATIBILIDADE entre o Clipper e o VFP eu não estou discutindo a sua criatividade, sem recentimentos, :*
Porque eu tbem uso objetos , este exemplo foi apenas para demostrar a COMPATIBILIDADE entre o Clipper e o VFP eu não estou discutindo a sua criatividade, sem recentimentos, :*
"Não é a ferramenta que faz o artesão e sim a sua criatividade...""
Renato Ribeiro Ferreira
Tecnologia em Analise de Sistemas de Informação
http://www.rrfsistemas.hd1.com.br
( VFP 9 + MySql e/ou Oracle 11 ) - ...Harbour/MiniGui...
Renato Ribeiro Ferreira
Tecnologia em Analise de Sistemas de Informação
http://www.rrfsistemas.hd1.com.br
( VFP 9 + MySql e/ou Oracle 11 ) - ...Harbour/MiniGui...
-
TerraSoftware
- Usuário Nível 3

- Mensagens: 353
- Registrado em: 28 Jul 2004 13:14
- Localização: Cianorte-PR
- Contato:
Caros Colegas.
Infelizmente naum temos programas para demonstracao, alias, trabalhamos com um unico produto, ou seja, temos apenas um software, que hoje deve rodar aproximadamente uns 200 clientes. O que posso fazer é abrir as portas de nossa empresa para aqueles que desejarem ver pessoalmente tudo aquilo que falei. Posso deixar os amigos olharem os codigos fontes, os compiladores, os linkadores e os executáveis, sem problemas. Basta que os interesados agente um dia para isso. Para os que moram em Sao Paulo e regiao, eu estaverei ai do dia 27 ao dia 29 de dezembro, se alguem quizer terei prazer em demonstrar o software em meu not, basta agenda tambem. Sei como é dificil tomar uma decisao. Se eu puder ajudar, terei prazer nisso.
Infelizmente naum temos programas para demonstracao, alias, trabalhamos com um unico produto, ou seja, temos apenas um software, que hoje deve rodar aproximadamente uns 200 clientes. O que posso fazer é abrir as portas de nossa empresa para aqueles que desejarem ver pessoalmente tudo aquilo que falei. Posso deixar os amigos olharem os codigos fontes, os compiladores, os linkadores e os executáveis, sem problemas. Basta que os interesados agente um dia para isso. Para os que moram em Sao Paulo e regiao, eu estaverei ai do dia 27 ao dia 29 de dezembro, se alguem quizer terei prazer em demonstrar o software em meu not, basta agenda tambem. Sei como é dificil tomar uma decisao. Se eu puder ajudar, terei prazer nisso.
-
TerraSoftware
- Usuário Nível 3

- Mensagens: 353
- Registrado em: 28 Jul 2004 13:14
- Localização: Cianorte-PR
- Contato:
Lembrei de uma outra coisa importante.
Estamos projetando para o ano que vem trabalharmos tambem com linux, e iremos usar o mesmo codigo fonte, mudaremos apenas a forma de compilar e linkeditar. Entao passaremos a ter programas para 3 plataformas diferentes (dos, windows, linux) gerados a partir os mesmos codigos fontes. Isso é possivel!!!! E nos iremos fazer!!!!!!
Estamos projetando para o ano que vem trabalharmos tambem com linux, e iremos usar o mesmo codigo fonte, mudaremos apenas a forma de compilar e linkeditar. Entao passaremos a ter programas para 3 plataformas diferentes (dos, windows, linux) gerados a partir os mesmos codigos fontes. Isso é possivel!!!! E nos iremos fazer!!!!!!
Mas não estou discutindo a criatividade, só sitei um exemplo.
você tem que ter um arquivo cabecalho com os mesmo nome dos campos e na sequencia.
CLIENTE.CH
#xtranslate.codigo => \[01]
#xtranslate.contabil => \[02]
#xtranslate.conta => \[03]
#xtranslate.nome => \[04]
#xtranslate.fantasia => \[05]
#xtranslate.endereco => \[06]
#xtranslate.email => \[07]
#xtranslate.cep => \[08]
#xtranslate.bairro => \[09]
#xtranslate.cidade => \[10]
#xtranslate.estado => \[11]
E no inicio do seu PRG, você tem que incluir ele.
#include "cliente.ch"
E declara uma variavel aGetCliente
LOCAL aGetCliente := {}
...
...
SELECT Cliente
SET ORDE TO 1
IF nKey = K_INS //cadastro novo
GO BOTTOM //vai para o final do arquivo e avanca um registro
SKIP // assim ele pega um registro em branco.
ENDIF
//
aGetCliente := InitData()
//
@ 04 ,07 GET aGetCliF.nome PICT "@!"
@ 05 ,46 GET aGetCliF.endereco PICT "@!"
//
IF Confirme()
//
IF nKey = k_ins
WHILE !AddRec(); END
ELSE
WHILE !BloqReg(); END
ENDIF
ReplData(aGetCliF) //para gravar
(Cliente)->(DBCOMMIT())
(Cliente)->(DBUNLOCK())
//
ENDIF
Qualquer duvida posso ti enviar um arquivo PRG, com as funcoes.
Dessa forma seu tempo de programação diminui e muito.
A utilização de modernas tecnologias nunca foi o suficiente para criar sistemas de gestão eficientes. Mais do que isso, possuir experiência na atividade comercial a que se dedicação foi fundamental para o sucesso.
você tem que ter um arquivo cabecalho com os mesmo nome dos campos e na sequencia.
CLIENTE.CH
#xtranslate.codigo => \[01]
#xtranslate.contabil => \[02]
#xtranslate.conta => \[03]
#xtranslate.nome => \[04]
#xtranslate.fantasia => \[05]
#xtranslate.endereco => \[06]
#xtranslate.email => \[07]
#xtranslate.cep => \[08]
#xtranslate.bairro => \[09]
#xtranslate.cidade => \[10]
#xtranslate.estado => \[11]
E no inicio do seu PRG, você tem que incluir ele.
#include "cliente.ch"
E declara uma variavel aGetCliente
LOCAL aGetCliente := {}
...
...
SELECT Cliente
SET ORDE TO 1
IF nKey = K_INS //cadastro novo
GO BOTTOM //vai para o final do arquivo e avanca um registro
SKIP // assim ele pega um registro em branco.
ENDIF
//
aGetCliente := InitData()
//
@ 04 ,07 GET aGetCliF.nome PICT "@!"
@ 05 ,46 GET aGetCliF.endereco PICT "@!"
//
IF Confirme()
//
IF nKey = k_ins
WHILE !AddRec(); END
ELSE
WHILE !BloqReg(); END
ENDIF
ReplData(aGetCliF) //para gravar
(Cliente)->(DBCOMMIT())
(Cliente)->(DBUNLOCK())
//
ENDIF
Qualquer duvida posso ti enviar um arquivo PRG, com as funcoes.
Dessa forma seu tempo de programação diminui e muito.
Código: Selecionar todos
*************************************************************
FUNCTION InitData()
***********************
//
LOCAL aGets := ARRAY(FCOUNT())
//
AEVAL(aGets,{|x,nl| aGets[nl] := FIELDGET(nl)})
//
RETURN aGets
*************************************************************
FUNCTION ReplData(aGets)
************************
//
AEVAL(aGets,{|x,nl| FIELDPUT(nl,x)})
//
RETURN NIL
*************************************************************