Jump to content
Fivewin Brasil

bluesman

Membros
  • Posts

    171
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by bluesman

  1. OBRIGADO PELA RESPOSTA KAPI ! MAS NAO ERA ISSO QUE EU QUERIA... NAO QUERO DESVIAR NADA QUERO FICAR PARADO TENTEI O SEGUINTE, MAS OBVIAMENTE NAO FUNCIONOU : activate window oWin do while valtype(oWin) = "O" enddo so quero continuar depois que o usuario terminar a janela entende? nao quero desviar... quero ficar paradao bem , é isso se der pra ajudar abraco FW1.92+Clipper 5.3+Lib+Blinker+BC++
  2. ALGUEM JA ME DEU ESSA DICA ! MAS BAGUNCADO COMO SOU, PERDI A MESMA !! QUERIA SABER COMO FAZER PARA QUE UMA JANELA TIPO "DIALOG" OU "WINDOW NORMAL" APARECESSE SEM O BOTAO DE "x" ( FECHAR JANELA ) NA BARRA AZUL. QUANDO DEFINO O STYLE CORRETO, ELE APARECE O BOTAO VEDADO, ATE AI , TD BEM... MAS QUERIA QUE NEM APARECESSE O BOTAO !! AGRADECO AOS QUE JA ME AJUDARAM, SE PODEM REPETIR A DICA OK ? BLUESMAN FW1.92+Clipper 5.3+Lib+Blinker+BC++ Editado por - bluesman on 02/05/2005 15:29:25
  3. ALGUEM PODERIA ME DIZER COMO FAZER PARA PARAR A EXECUÇAÕ DO PROGRAMA CLIPPER DEPOIS QUE DAMOS UM "ACTIVATE WINDOWS" ? ISTO É, QUERO SABER SE É POSSIVEL CONTINUAR O PROGRAMA APOS O "ACTIVATE" SOMENTE DEPOIS QUE O USUARIO FECHAR A JANELA ATRAVES DE UM BOTAO POR EXEMPLO. DAI SIM, O PROGRAMA CONTINUARIA NA LINHA SEGUINTE DO "ACTIVATE WINDOW". É POSSIVEL ISSO, OU SOMENTE É POSSIVEL USANDO-SE "DIALOG" AO INVEZ DE "WINDOW" / ABRACOS A TODOS BLUESMAN FW1.92+Clipper 5.3+Lib+Blinker+BC++
  4. Kapi : verifique no manual oficial do Blinker, pag 9-90, la esta bem explicado o que faz e deixa de fazer o PACKDATA. O segmento DATA no executavel, voce sabe que é onde ele coloca todas as constantes, entre elas os nomes de funcoes... o limite default do Blinker é 65535... Portanto qualquer sisteminha meio complexo com bastante funcao declarada e mais as constantes normais de codigo, ajunta muito mais que isso em volume de dados. Uma funcao a mais pode virar a gota que faltava, quando vc aumenta pruns 130000 vc cria espaco extra para mais constantes... e nomes de funcao... Quanto ao fato de colocar zilhoes de MODULES e FILES no LNK nao existe mesmo limitacoes, eu apenas me referi a boa pratica de fazer LIBs para ficar mais facil a manutencao do desenvolvimento como um todo... É isso ai Abr FW1.92+Clipper 5.3+Lib+Blinker+BC++
  5. Pois é : Desculpem a ignorancia do macaco... Mas o importante é que agora não ha mais limitacoes para acoplar algo em FW/Clipper. Hoje mesmo eu iniciei uma LIB so para tratar e editar o Registro do Win na maquina, acessando diretamente a API para tanto. Uma familia de funcoes para FW/Clipper. Quando tiver pronta vou dar de presente aos amigos. A não ser que ja exista algo em FW para editar e acessar o Registro do Win... Criar chaves novas, etc etc... Isso seria muito utila para fazer instalações bem profissionais de sistemas e programas em FW. Alguem conhece ? Abracos FW1.92+Clipper 5.3+Lib+Blinker+BC++
  6. Amigo: nao sei o que o Kleyton lhe disse pra fazer, mas talvez o problema volte... Observei que seu LNK tem a linha PACKDATA use a linha PACKDATA 130000 pois o valor default do Blinker é baixo e a montagem do executavel fica falha, sem espaco para anexar funcoes, o EXE para no ato da chamada pelo sistema operacional. Outro detalhe : voce usa muito prg declarado no LNK ! Amontoe tudo numa LIB criada por voce mesmo com um utilitario de LIB tipo LIB.EXE e assim vc nao meche no LNK quando inventar mais um PRG. usando a linha SEARCH MINHA.LIB Abr FW1.92+Clipper 5.3+Lib+Blinker+BC++ Editado por - bluesman on 01/04/2005 00:17:13
  7. Pessoal : Outro dia um monte de gente perguntou como fazer rotina em C++ acoplada a clipper etc etc etc... A Borland abriu geral e ta dando de graça o C++ 5.5 32 bits !! Uma colega nossa, Mariana, até perguntou onde arrumar e na ocasião eu não sabia. Agora ta FREEEEE ! Pega na www.borland.com o original todo oficial e free, com documentação e tudo o mais. Só tem que se cadastrar na Borland Community, mas é coisa rápida e a toa. Libera no ato o download, eu mesmo já peguei o meu, que ele tava meio incompleto e agora ta belezura, tudo oficial. Abracao FW1.92+Clipper 5.3+Lib+Blinker+BC++
  8. kapiaba: nao to entendendo, cara... divide no meio quer dizer o q ? voce nao recolhe a leitura numa variavel ? entao como q divide no meio? fica em duas variaveis? nao tenho leitor serial, pena... da uma esclarecida ai q te ajudo abr FW1.92+Clipper 5.3+Lib+Blinker+BC++
  9. O KAPI, FALHA EM TUDO QUE É XP OU SÓ NUMA MAQUINA XP ? JA TENTEI USAR LEITOR SERIAL E É DOSE... A MELHOR SOLUÇÃO QUE ACHEI , MAIS INDEPENDENTE DE PLATAFORMA É POR KEYBOARD, CAPTURANDO EM GETS... SE DER PRA MUDAR MUDE QUE VAI FICAR SEM DOR DE CABECA... INCLUSIVE O LEITOR É MAIS BARATO. SO NAO ENTENDI UMA COISA ? QUANDO VC DIZ PULA, É O Q ? ENCHE DE ESPACOS OU DEMORA PRA MANDAR O RESTO ? A ROTINA DE RECOLHER NA PORTA É SUA ? SE FOR FAÇA ELA DESPRESAR ESPACOS. FW1.92+Clipper 5.3+Lib+Blinker+BC++ Editado por - bluesman on 31/03/2005 18:54:13 Editado por - bluesman on 31/03/2005 18:55:59
  10. FABIO : OUTRA COISA QUE VOCE PODE TENTAR, PIS ME PARECE GERENCIAMENTO RUIM DE MEMORIA, SERIA AUMENTAR BEM A MEMORIA VIRTUAL DO SISTEMA OPERACIONAL EM : PAINEL DE CONTROLE->SISTEMA->RECURSOS->AVANCADAS ETC... A MEMORIA VIRTUAL DO WINDOWS, PARA TRABALHAR COM BMP GRANDES TEM QUE ESTAR BEM REGULADA.. ABR FW1.92+Clipper 5.3+Lib+Blinker+BC++
  11. Tenho varios sistemas de estoque distribuido e mais ainda que estoque "CAIXA DISTRIBUIDO" !! que é estoque de grana, espalhados nas unidades da empresa. uso uma solucao simples nao sincronizada, onde as unidades enviam arqs de atualizacao em formato proprietario nosso e esses arquivos sao integrados na base unica de cada um. isso é todos trocam arquivos com todos e td via FTP automatico, criptografado e seguro e muito muito mtuio importante ->>> "BBBAAARRRAAATTTIIINNNHHOOO" TUDO EM CLIPPER SEM MUITAS ACROBACIAS TECNOLOGICAS E MAIS IMPORTANTE AINDA TD EM FW AGORA, TERMINAMOS NOSSA CONVERSAO E ESTAMOS MUITO CONTENTES ,A SSIM COMO NOSSOS USUARIOS PELOS RESULTADOS ALCANCADOS. GRATOS A TODOS DESSE FORUM ABR FW1.92+Clipper 5.3+Lib+Blinker+BC++
  12. É isso ai, Marlon ! Eu continuo com DBF para não onerar meus clientes, pois os mesmos teriam que comprar Bancos de Dados relacionais caros e onerar as aplicações como um todo... Além de exigir um DBA ( DataBaseAdministrator ) treinado na opçao de Data Base feita... Outro fator altissimo de custo, a não ser que voce tambem aprenda a administrar o Banco adotado. Quanto a Imagens, faço uma coisa muito simples ( não so imagem, como sons e ate videos !!!!) uso um campo para fazer o "armazenamento extendido" ! isso é, use um campo caracter que contera um nome de arquivo padronizado por voce mesmo, o qual a inteface de seu programa vai abrir e exibir nas excelentes telas do FW, ou ate mesmo nos alto-falantes de seu usuario !! voce estabelece uma pasta padrao onde os arq de multimidia ficam depositados e tchunk ! tipo : cadastro de empregados : estrutura c 20 0 nome d 8 0 nascimento c 8 0 retrato -> nomes de arq de retratos de cada empregado... abracos FW1.92+Clipper 5.3+Lib+Blinker+BC++
  13. Uso a Light Lib há 12 anos e estamos trabalhando para abandona-la agora passando todo nosso acervo para FW... Quer um conselho de clippeiro de 15 anos?, não use... Vai de FW que não dá pra ninguem. Os objetos da LLIB nao sao bem bolados e naõ sao compativeis com a API do WIN. E mais, não trabalha com o FW, pois faz acesso direto na memoria de video, sem acionar a API, conclusao, vai travar tudo, em NT e XP entao nem vai conseguir... Isso seria misturar o Lula com o FHC na "Prisidencia" do "BRAZIL", não vai dar certo.. abr FW1.92+Clipper 5.3+Lib+Blinker+BC++
  14. ******************************** function padt(s,a,c) ******************************** * coloca espacos ou o caracter "C" para completar "a" caracteres * ou corta a string se "a" e' maior que o comprimento da string local b := len(s) if b >= a s = substr(s,1,a) else s = s + replicate(if(pcount()=2," ",c),a - endif return s FICA AI UM PRESENTINHO, UMA FUNCAO BASICA DE TODO CLIPPEIRO ! USE ASSIM : linha := padt(cadastro->nome,30) + " " + padt(str(cadastro->salario,"@E 9,999.99"),10) + etc... fwrite(hh,linha+chr(13)+chr(10)) fica tudo arrumadinho.. abracao FW1.92+Clipper 5.3+Lib+Blinker+BC++
  15. Amigao : Compile o prg usando a opcao clipper -p, para fazer o *.ppo dai examine o *.ppo criado, la dentro deve ter uma traducao ruim do comando que é feita pelo arquivo *.ch que voce declarou para inclusao... esse erro geralmente acontece quando o ppo resolve o comando em algo assim : {||&()} nao pode em clipper ter macro dentro de code block ! pois o code ja é uma macro resolvida.... quem botou o ovo primeiro, foi a galinha...???? Abr FW1.92+Clipper 5.3+Lib+Blinker+BC++
  16. Amigao : Isso que voce acaba de achar é dica valiosissima para mim ! Eu mesmo ia te sugerir se nao era o Client, mas quando li ate o fim, bateu com minha desconfianca... Devia dar problema no compartilhamento do arq CDX no server Novell, isso é o primeiro que abria o CDX td mas ele nao compartilahava com o segundo user em diante, certeza.. Grato pela contribuiçao altamente tecnica FW1.92+Clipper 5.3+Lib+Blinker+BC++
  17. Voce vai ter que cruzar duas combinacoes : 1. Tipo de impressao adotada (ASC ou GRAFICA) e 2. Tipo de impressora adotada para o serviço ( para o drive certo ) para ter um codigo so tanto pra um tipo de opçao no item 1, bole uma funcao do seguinte tipo :: function print_out(lin,col,txt,via) if via = 1 // dos por exemplo ->usa as funcoes de saida via impressao classe TDosPrn else ->usa as funcoes de saida via impressao classe TPrn endif return assim voce faz sempre um codigo so nos relatorios e para de se preocupar com as opcoes adotadas pelo usu. Abr FW1.92+Clipper 5.3+Lib+Blinker+BC++
  18. bluesman

    Helpe-me

    nao sei se entendi direito ? vc da um enter num determinado get e a "janela fecha " ? se for isso tem que ter alguma coisa dando :End() na janela de apoio, senao nao fecha... outro detalhe para nos esclarecer, o get ladrao, é o ultimo da sequencia de gets? verifique se a classe esta programada para fechar a janela de apoio quando termina o ultimo get... abr FW1.92+Clipper 5.3+Lib+Blinker+BC++
  19. Amigao : Para ir para Acsses ou Paradoz é melhor ficar com DBF mesmo ! Não sei se voce esta informado que Acsses não aguenta bases de dados nem de porte médio... é bem domestico mesmo. E Paradox, a Borland já descontinuou... Sei que existem RDDs para acessar Oracle e SQL Server, pesquise e veja, que essa seria uma boa solução para modificar ao minimo seus codigos e sua maneira de pensar em Clipper... Só para sua informção tenho conhceimento de grandes software houses do Brasil que optaram, por desespero, pelo acsses e quase faliram de tanto problema com clientes. Abr FW1.92+Clipper 5.3+Lib+Blinker+BC++
  20. a funcao nOR() faz uma combinacao hexadecimal dos valores disfarcados nas #define que vc pergunta... é assim que o pessoal da 5Win arrumou um jeito de multi-parametrizar uma classe... vc experimenta colocando um valor de cada vez na nOr() e vc vai ver o efeito de cada um e aprender pra toda vida e vai ver que nao precisar decorar o que cada um faz. coloque um de cada vez na nOr() abr FW1.92+Clipper 5.3+Lib+Blinker+BC++
  21. vejo duas solucoes : 1. nao sincronizada, vc manda arq de atualizacao entre as filiais que atualizaria abase de cada uma, para que cada uma veja o estoque da outra. os arqs podem ser enviados por FTP e depositados num server da vida e trocados entre si, num periodo de tempo desejado pela empresa. 2. sincronizado, base de dados centralizada num server da vida, este server pode ser um FTP server padrao de qualquer marca e vc usa o excelente WebDrive nos clientes, problemas : se cair conexao, cai tudo, fica que nem banco Itau quando funcionario quer aumento... "sistema está fora, desculpe !" e tem que usar banda larga, senao inviavel... abr FW1.92+Clipper 5.3+Lib+Blinker+BC++
  22. coisas a verificar : 1. o fabricante te da o fonte em C, *.C ? 2. se ele dá, voce monta a interface da funcao C, para Clipper, do jeito que expliquei para a mariana outro dia. vai funcionar garanto... 3. essa printer nao conheco, mas deve ser uma post script tb , especializada para cheques. a sintaxe post script dela deve sewr fornecida pelo fabricante, nesse caso tudo vai ficar mais facil pois vc so manda os comandos post script pela paralela ou serial usando o clipper mesmo e tudo vai ficar facil abr FW1.92+Clipper 5.3+Lib+Blinker+BC++
  23. alguem poderia me dizer a dica pra linkar um icone internamente no executavel, como tantos que ja existem em windows, NOTA : uso Blinker 5, é possivel ? hoje coloco o icone carregando em run-time um icone no icone da MDI mae... queria por o logo da empresa diretamente dentro do executavel...para aparecer no canto da MDI mae para aparecer no botao da barra de tarefas. abracos FW1.92+Clipper 5.3+Lib+Blinker+BC++
  24. kleyton : se organise e faca uma pasta com todas as classes modificadas dentro, isso é, todos os prgs de classes modificadas dai vc compila o Tget.prg alterado com sua versao de clipper, vai nascer um arq tget.obj depois usa um montador de libs tipo o jurassico-confiavel-bom-pacas-semproblemas-emdos-dominiopublico programa LIB.EXE, da seguinte forma : LIB KEYTON -+TGET ; nao esqueca o ponto e virgula, é essencial na sintaxe do LIB dai vai nascer o arq KLEYTON.LIB dai voce coloca em preferencia ( antes das outras ) a linha SEARCH KLEYTON no LNK de sua aplicacao, antes das outras libs ok ? observe que nem prestei atencao no detalhe "pastas", portanto acerte os diretorios no LNK, para ele achar a kleyton.lib dai tchunk, a sua tget entra no lugar da original do 5Win, ok ? se vc aprender fazer isso, vai ter um canhao na mao, principalmente para traduzir tudo que ta em ingles nas mensagens do 5Win !! vc pode montar sua KLEYTON.LIB para colecionat as classes la dentro todas retocadas conforme seu intelecto ! ROSSINE : tente o que eu disse acima, que é para toda vida e nao falha, pois o bSetGet aciona o buffer interno do get, por incrivel que pareca, ele existe, mas nao tem saida dele por instance variable, nao me pergunte porque... ABR FW1.92+Clipper 5.3+Lib+Blinker+BC++ Editado por - bluesman on 23/03/2005 16:40:27
  25. a lei permite vc criptografar se tem anuencia expressa do cliente, pois os dados sao patrimonio de informacao do mesmo, mas voce é contratado para protege-lo... dessa forma explique ao seu cliente o que é feito e forneca a ele uma ferramenta de baixo nivel, tipo um super dbu com o RDD criptografado que vc usa e vc estara protegido pela lei e nao sera acusado de "sumir" ou "ocultar" dados que nao lhe pertencem, fazendo-o assinar uma anuencia(concordancia) com a criptografia adotada. isso é valido por lei e te protege alias achei otimo esse rdd que criptografa, onde arrumou? abracao BM FW1.92+Clipper 5.3+Lib+Blinker+BC++ Editado por - bluesman on 22/03/2005 20:02:49
×
×
  • Create New...