Jump to content
Fivewin Brasil

SISTEMASIT

Membros
  • Posts

    126
  • Joined

  • Last visited

Everything posted by SISTEMASIT

  1. DEFINE BRUSH oBrush1 File(mIMGFUNDO) Rubem Jr http://sistemasit.com Belem/PA
  2. Aproveitando um pouco a ideia de cada um: FUNCTION PriMaiuscula(PMA) LOCAL PMB:='',PMC,PMX,fMAI:=.T.,mEXC:=" ./-()&'" mEXC+='"' FOR PMX = 1 TO LEN(allTRIM(PMA)) PMC:=SUBSTR(PMA,PMX,1) PMB+=if(fMAI,upper(PMC),lower(PMC)) fMAI:=(PMC$mEXC) NEXT PMB := StrTran( PMB , 'De ' , 'de ') PMB := StrTran( PMB , 'Da ' , 'da ') PMB := StrTran( PMB , 'Das ' , 'das ') PMB := StrTran( PMB , 'Do ' , 'do ') PMB := StrTran( PMB , 'Dos ' , 'dos ') PMB := StrTran( PMB , 'Ii' , 'II') RETURN(PMB) Rubem Jr http://sistemasit.com Belem/PA
  3. NO2imp NG IMPRESION EN IMPRESORAS SOLO WINDOWS. (NO DOS) Por medio de este programa podra enviar archivos tipo TXT (texto) a impresoras que no impriman en DOS (como la Canon BJC-1000,BJC-2100, etc...) esto tambien ayuda a realizar impresiones a traves de la red local, con solo escojer la impresora requerida. evitando asi la molesta captura de puertos. o para imprimir en impresoras con puerto USB o enviar FAX. Se facilitan junto con el programa un ejemplo de un archivo texto generado con un programa clipper, el cual puede utilizar para probar esta utilidad. lo puede hacer de la siguiente manera. NODOSIMP listado.txt 80 PRE/VER donde listado.txt es el nombre del archivo texto y 80 es el numero de caracteres por linea. PRE si desea preliminar o no. VER si desea Verbal o no. Novedades en esta nueva generacion..... - Ahora se puede utilizar como spool, se debe crear una carpeta llamada \n2spool en el raiz. El parametro es /SPOOL y sobrescribe cualquier otro parametro Nota: mirar ejemplo cola.bat - nuevo parametro /DEL que borra el archivo texto una vez impreso. - nuevo parametro /LOOK2 que permite usar una segunda libreria de impresion. - nuevo parametro /LOOK3 que permite imprimir en modo DOS directamente sin cambios. - Las lineas ahora seran las mismas que quepan en la impresora sin importar la letra que se use, o sea si son 60 lineas, seran 60 para tipos de letra de 80 CPL o para 120 CPL o 140 CPL etc... esto para que sea mas facil migrar listados de sus programas clipper , C, fortran, Cobol, Basic etc.. en otras palabras interlineado constante. INSTALACION Copie el programa NODOSIMP.EXE al directorio donde lo va a utilizar o instalelo en un sitio de su ruta (PATH). INSTRUCIONES DE MANEJO Me referire como ejemplo a un programa clipper. **PROGRAMA PRUEBA.PRG *** IMPRESION DE LISTADO DE DIRECTORIO DE CLIENTES CLEAR USE CLIENTES SET PRINTER TO Lista.txt REPORT FORM CLIENTES TO PRINT SET PRINTER TO RUN NODOSIMP Lista.txt 80 /PRE/SEL/VER/APA/GRA/MUL/NOANSI/MAR1 ERASE Lista.txt RETURN *** el parametro 80 significa un listado de 80 caracteres o menos de ancho *** si coloco 96 significa un listado de 96 caracteres o menos de ancho *** para 120 significa un listado de 120 caracteres o menos de ancho *** para 140 significa un listado de 140 caracteres o menos de ancho *** para 160 significa un listado de 160 caracteres o menos de ancho *** todo esto en una hoja normal tama¤o carta, aunque tambien debe funcionar *** con oficio o A4. *** el parametro PRE significa con preliminar e impresora por defecto. *** el parametro PRE/SEL significa preliminar con seleccion de impresora. *** el parametro SEL significa seleccion de impresora sin preliminar. *** el parametro VER significa verbal (muestra en una ventana que archivo esta procesando) *** el parametro APA significa impresion apaisada. *** el parametro GRA sirve para anadir un grafico a la primera hoja que se imprima en la ubicacion definida. esto se define en el archivo texto LOGO.DAT de la siguiente manera. - primera linea: nombre del archivo grafico (tipo jpg,gif,bmp,wmf,emf,ico) - segunda linea: fila inicial del grafico - tercera linea: columna inicial del grafico - cuarta linea : fila final del grafico - quinta linea : columna final del grafico. Se puede cambiar el nombre del archivo de definicion de grafico. colocandole el parametro y el nombre del archivo asi: GRA!nombre archivo!. si le agregamos el parametro MUL el grafico no solo saldra en la primera hoja si no en todas las demas. *** el parametro NOANSI sirve para :Por defecto el nodosimp convierte los caracteres OEM a ANSI, si coloca el parametro NOANSI este las deja en formato OEM, pero visto en windows. ( o sea su equivalente). En resumidas cuentas si el programa que utiliza esta en clipper el nodosimp lo convertira automaticamente al carcater adecuado en windows. en caso de no especificar archivo de definicion de graficos propio por defecto se toma logo.dat *** el parametro MAR sirve para anadir un margen a la primera columna del listado. el numero encontrado despues de este parametro sera tomado como margen, solo se aceptan valores de 1 a 9. *** Nuevo parametro PAPERSIZE mirar lista de papeles segun impresora en PAPELES.TXT *** Parametro KEY es utilizado en la version comercial para evitar copias en la version DEMO es obligatorio el parametro KEY000000-00 de ultimo, en caso contrario no funcionara. *** estos parametros funcionan con combinaciones de los mismos separados por slash (/). VERSIONES PUBLICADAS 1.0 - Version inicial todas las caracteristicas del nodosimp antigua generacion mas las nuevas opciones de SPOOL, LOOK, DEL, NOFIXED. Compilado con OOHG. (object oriented harbour gui) /SPOOL modo spool de impresion. /LOOK se puede usar LOOK2 (alternativo) , LOOk3 (dos) segun se requiera. /DEL para borrar el archivo despues de imprimir. /NOFIXED para usar interlineado no proporcional por defectro es proporcional 60 lineas. 1.1 - /LOOK LOOK4 (Exportacion a Excel), LOOK5 (Exportacion a RTF usada por word o wordpad), LOOK6 (Exportacion a formato CSV). para los formatos LOOK5 y LOOK6 los archivos de salida seran printer.rtf y printer.CSV respectivamente. LOOK7 (exportacion a HTML) LOOK8 (exportacion a PDF) 1.3 LOOK9 (exportacion a Open Office calc) FUNCIONAMIENTO Esta utilidad lo que hace es leer el archivo texto linea por linea y al mismo tiempo imprimiendolo en formato Windows con el tipo de letra courier new de ancho fijo. Cada vez que encuentra un caracter de control conocido para ella como el 12 o FF (Form Feed) o ^L lo interpreta, ejecuta y sigue imprimiendo. Nota: Puede hacer lo siguiente (en versiones anteriores no se podia). ej: @ 10,10 say 'Firma:' @ 10,10 say '______' esto siginifica una sola linea de impresion. Caracteres de control que maneja por si solo esta utilidad. chr(12) = 12 o FF. salto de pagina. estandar Ademas chr(14) = letra ancha 60 cpl estandar chr(18) = modo normal 80 cpl estandar chr(15) = modo condensado 140 cpl hibrido chr(16) = modo condensado 120 cpl extendido chr(17) = modo semi condensado 96 cpl extendido chr(19) = negrita extendido chr(20) = modo super condensado 160 cpl extendido chr(21) = codigo de barra ean-13 tamano 24 extendido chr(22) = codigo de barra ean-13 tamano 36 extendido chr(23) = codigo de barra ean-13 tamano 48 extendido chr(24) = codigo de barra code 39 tamano 22 extendido chr(25) = codigo de barra code 39 tamano 28 extendido chr(26) = codigo de barra interleaved2of5 tamano 36 extendido chr(27) = codigo de barra interleaved2of5 lectura humnana tamano 36 extendido chr(28) = codigo de barra code 128C tamano 28 extendido Notas importantes: - La utilizacion de estos caracteres de control solo se pueden hacer a nivel de linea. Con esto quiero decir que no puedo utilizar dos caracteres de control diferentes en la misma linea (a menos que sea la negrita en combinacion con otro). - Para utilizar codigos de barra o graficos de linea deben estar previamente instaladas los fonts que se adjuntan, se instalan desempaquetandolos en una carpeta y luego copiandolos CON EL EXPLORER de esa carpeta y pegandolos en la carpeta de fonts correspondiente (normalmente C:\windows\fonts) OJO: no sirve extraerlos del zip directamente a esa carpeta. CONSIDERACIONES. Esta utilidad no pretende en ningun momento remplazar la utilidad PageScript u otras similares. Solo se busca poder utilizar con unas minimas modificaciones en los listados las impresoras (SOLO WINDOWS) y que las impresiones a traves de la red, o hacia puerto USB resulten mas sencillas. Tambien se puede enviar fax desde aqui. Que modificaciones? 1) Mandar el listado a un archivo Texto 2) Colocar al final del listado un RUN NODOSIMP [Archivo texto] [Caracteres Por Linea] [PRE/SEL/VER/APA/GRA/MUL/NOANSI] 3) Borrar el listado generado para ahorrar espacio en disco. 5) Si esta trabajando en Red debe crear nombres unicos para los archivos texto. 6) debe colocar el ejecutable NODOSIMP.EXE en el Path o Ruta de busqueda. 7) Tener en cuenta que los saltos de pagina (# lineas por pagina) los controla su programa no esta utilidad. 8) Se pueden utilizar (en clipper,harbour) instrucciones tales como: @ say, ? o report form segun su conveniencia. 9) Tambien lo puede utilizar con otros lenguajes de programacion como el C, BASIC FORTRAN ETC... o desde la linea de comandos. 10) Si va a utilizar graficos de lines debera instalar las fonts contenidas en linedraw.zip 11) Si va a utilizar codigos de barra debera instalar las font contenidas en el archivo fuentes.zip 12) si lo utiliza en modo SPOOL, el listado saldra por la impresora predetrminada a menos que se especifique otra con /IMP[] AGRADECIMIENTOS. Esta utilidad fue desarrollada bajo HARBOUR + OOHG !!!! (clipper sigue y seguira vivo). Se les agradece a todos los compa¤eros de la lista de HMG, minigui y OOHG Agradezco tambien muy especialmente a Roberto Lopez creador de la HMG y a Rydzard Rylko por su contribucion a HMG con la libreria HBPRINTER y a Vicente Guerra. creador de OOHG. LICENCIAMIENTO. Este programa lo puede utilizar usted en su oficina o en los sistemas que usted haya desarrollado. (Es comercial y por lo tanto no puede ser revendido.) No me hago responsable por el mal manejo del mismo o por los perjuicios causados por su mala utilizacion. Garantizo la utilizacion de codigo de barras EAN-13 las otras no he podido probarlas porque no tengo el lector Si le agrado esta utilidad, tiene alguna sugerencia, o encontro algun BUG puede enviar un correo a: pcman2010@yahoo.com Ciro Vargas Clemow Kra 42F # 82-220 Tel 57-5-3781009 Barranquilla - Colombia http://sistemascvc.tripod.com Las actualizaciones seran enviadas a su casilla electronica de forma gratuita. A solicitud del interesado. Nota: los usuarios de nodosimp antiguo con una licencia valida podran adquirir el No2imp NG a mitad de precio. Rubem Jr http://sistemasit.com Belem/PA
  4. http://www.consultoriafaccin.com.br/artigos-faccin/valor-carteira-clientes.html Rubem Jr http://sistemasit.com Belem/PA
  5. Eu ja penso 24 x 1 - pelo menos 2 anos na avaliação Rubem Jr http://sistemasit.com Belem/PA
  6. Tente fazer assim: Gere seu relatorio em ARQUIVO texto e depois use o comando COPY. O saldo de página você precisa controlar na sua aplicação copy file ARQUIVO.TXT to LPT1 Rubem Jr http://sistemasit.com Belem/PA
  7. Você ja tentou incrementar o numero da linha além do tamanho da página e eliminar o oPrn:NewPage() ? Rubem Jr http://sistemasit.com Belem/PA
  8. Tenho sistema para PALM OS e WINDOWS MOBILE, faz transação remota via internet. posso gerar um protocolo TXT pra conversar com o seu sistema Rubem Jr http://sistemasit.com Belem/PA
  9. 41 anos Comecei em BASIC no CP400 (1983) COBOL no CP/M (1986) dBASE IV (1988) Rubem Jr http://sistemasit.com Belem/PA
  10. ************************* function FindCEP( cCep ) //devem ser somente os numeros Local oPg, cBuf, tmp, aRet := array(7) aFill(aRet,'') cbuf :=space(255) xcep := ccep if isinternet() if xCep <> "00000000" .and. !empty(xCep) oPg:=CreateObject("Microsoft.XMLHTTP") oPg:Open("GET","http://cep.republicavirtual.com.br/web_cep.php?cep=" + xCep + "&formato=xml",.F.) ErroNET:=.F. Try oPg:Send() catch oError ErroNET:=.T. End Try if !ErroNET cBuf := oPg:responseBody if rtrim(substr(cBuf, at('', cBuf), 9)) = "" exib_alert("CEP não encontrado, Verificar","CEP On-Line") cBuf = space(255) end else exib_alert("Erro na busca","CEP On-Line") cBuf = space(255) end end end mCEPestado = upper(tiraacento(substr(cBuf, at('', cBuf) + 4, 2))) mCEPCidade = upper(tiraacento(substr(cBuf, at('', cBuf) + 8, at('', cBuf) - (at('', cBuf) + 8)))) mCEPBairro = upper(tiraacento(substr(cBuf, at('', cBuf) + 8, at('', cBuf) - (at('', cBuf) + 8)))) mCEPEndere := upper(tiraacento(substr(cBuf, at('', cBuf) + 17, at('', cBuf) - (at('', cBuf) + 17)))) mCEPendere+= " "+upper(tiraacento(substr(cBuf, at('', cBuf) + 12, at('', cBuf) - (at('', cBuf) + 12)))) return Rubem Jr http://sistemasit.com Belem/PA
  11. botando a minha Rubem Jr http://sistemasit.com Belem/PA
  12. oOle:=CreateObject("InternetExplorer.Application") oOle:Visible:=.t. // Apresenta o Browser oOle:ToolBar:=.f. // Desativa a barra de ferramentas oOle:StatusBar:=.f. // Desativa a barra de status oOle:MenuBar:=.f. // desativa a barra de menu oOle:Navigate("http://winsit.com.br") // Abre o site Rubem Jr http://sistemasit.com Belem/PA
  13. wsPORTAPRN:="COM1" xARQDLL:="MP2032.dll" if ! file(xARQDLL) MsgALert("Faltando Arquivo",xARQDLL) else xDLL:=LoadLibrary(xARQDLL) end ******************** function BNF_IniciaPorta() xRET:=DLLCALL(xDLL,32,"IniciaPorta",wsPORTAPRN) if xRET<1 MsgAlert("problemas ao abrir a porta de comunicação ","(1) Erro Bematech DLL2032.dll") end DLLCALL(xDLL,Nil,"AjustaLarguraPapel",80) return function BNF_ComandoTX(___xArgCOMANDOTX) xRET:=DLLCALL(xDLL,32,"ComandoTX",___xArgCOMANDOTX,len(___xArgCOMANDOTX)) if xRET<1 Msgalert("Erro na comunicação","Erro Bematech DLL2032.dll") quit end return function BNF_FormataTX(__BNFTexto, __BNFTipoLetra, __BNFItalico, __BNFSublinhado, __BNFExpandido, __BNFEnfatizado) xRET:=DLLCALL(xDLL,Nil,"FormataTX",__BNFTexto+CRLF,__BNFTipoLetra, __BNFItalico, __BNFSublinhado, __BNFExpandido, __BNFEnfatizado) if xRET=0 Msgalert("Erro de comunicação física","(3) Erro Bematech DLL2032.dll") quit end return function BNF_Bitmap(___BNFImagem) xRET:=DLLCALL(xDLL,Nil,"ImprimeBitmap",___BNFImagem,0) if xRET=0 Msgalert("Erro de comunicação","(4) Erro Bematech DLL2032.dll") elseif xRET=-1 Msgalert("Erro de execução","(4) Erro Bematech DLL2032.dll") elseif xRET=-2 Msgalert("Arquivo BMP Inexistente","(4) Erro Bematech DLL2032.dll") elseif xRET=-3 Msgalert("Arquivo BMP Inválido ou corrompido","(4) Erro Bematech DLL2032.dll") elseif xRET=-4 Msgalert("Parametro Inválido","(4) Erro Bematech DLL2032.dll") end if xRET#1 quit end return Rubem Jr http://sistemasit.com Belem/PA
  14. http://sistemasit.com.br/sitnfe.htm'>http://sistemasit.com.br/sitnfe.htm Rubem Jr http://sistemasit.com Belem/PA
  15. Pra quem está atrasado com a NFe ou não está safisfeito com a sua solução, tenho um motor para integrar seu sistema com a NFe da receita de uma forma muito simples e barata Veja no link: http://sistemasit.com.br/sitnfe.htm'>http://sistemasit.com.br/sitnfe.htm Rubem Jr http://sistemasit.com Belem/PA
  16. Tradução: Eu tenho sido chamado de "ultrapassado" "ignorante" e muitas outros nomes legais por admitir que eu gosto do xBase para outros profissionais da computação. Eu tenho encontrado nele a melhor padronização (ou proximidade de padronização), Desenvolvimento rápido que é. Não me leve a mal, xBase está longe de ser perfeito, eu compreendo perfeitamente as sugestões de melhorias, mas ele ainda bate muitas outras linguagens com seus defeitos. (xBase é um termo para linguagens derivadas do dBASE III+, como CLIPPER FoxPro e outras) Rubem Jr http://sistemasit.com Belem/PA
  17. '+CRLF xMPNOME:=StrTran(alltrim(xMPNOME)," ","+") xMPNOME:=StrTran(alltrim(xMPNOME),"&"," E ") xMPENDERECO:=alltrim(xMPENDERECO) xMPENDERECO:=StrTran(alltrim(xMPENDERECO)," ","+") xMPENDERECO:=StrTran(alltrim(xMPENDERECO),",","+") xMPENDERECO:=StrTran(alltrim(xMPENDERECO),".","+") xMPCIDADE:=StrTran(alltrim(xMPCIDADE)," ","+") if isinternet() oPg:=CreateObject("Microsoft.XMLHTTP") xMPENDERECO+="+"+xMPCIDADE+"+-+"+xMPESTADO xSITEMG:="http://maps.google.com/maps/api/geocode/json?address="+xMPENDERECO+"&sensor=false" oPg:Open("GET",xSITEMG,.F.) ErroNET:=.F. Try oPg:Send() catch oError ErroNET:=.T. End Try if !ErroNET cBuf := oPg:responseBody else cBuf := space(255) end xPosLOC:=At("location",cBuf) if xPosLOC=0 exib_alert("Erro na busca","Maps Google") else cBuf:=right(cBuf,len(cBuf)-xPosLOC) xLat:=subs(cBuf,at("lat",cBuf)+6,14);xLat:=alltrim(left(xLat,at(",",xLat)-1)) xLon:=alltrim(subs(cBuf,at("lng",cBuf)+6,14)) xARQMAPA := wsrd_loca+"\SitLocal\mapa.htm" ConteudoHTM:=mTITHTML+CRLF ConteudoHTM+=' ' marginwidth="0" src="http://maps.google.com.br/?ie=UTF8&hq=&'+; 'hnear='+; '&ll='+xLAT+','+xLON+'&spn='+xLAT+','+xLON+'&z=17&output=embed">'+CRLF ConteudoHTM+="
  18. http://www.nfe.fazenda.gov.br/portal/WebServices.aspx Rubem Jr http://sistemasit.com Belem/PA
  19. FUNCTION TiraAcento(cText) cText := StrTran(cText,"\","/") cText := StrTran(cText,"Ã","A") cText := StrTran(cText,"Â","A") cText := StrTran(cText,"Ã","A") cText := StrTran(cText,"Ä","A") cText := StrTran(cText,"À","A") cText := StrTran(cText,"ã","a") cText := StrTran(cText,"â","a") cText := StrTran(cText,"á","a") cText := StrTran(cText,"ä","a") cText := StrTran(cText,"à ","a") cText := StrTran(cText,"É","E") cText := StrTran(cText,"Ê","E") cText := StrTran(cText,"Ë","E") cText := StrTran(cText,"È","E") cText := StrTran(cText,"é","e") cText := StrTran(cText,"ê","e") cText := StrTran(cText,"ë","e") cText := StrTran(cText,"è","e") cText := StrTran(cText,"Ã","I") cText := StrTran(cText,"ÃŽ","I") cText := StrTran(cText,"Ã","I") cText := StrTran(cText,"ÃŒ","I") cText := StrTran(cText,"í","i") cText := StrTran(cText,"î","i") cText := StrTran(cText,"ï","i") cText := StrTran(cText,"ì","i") cText := StrTran(cText,"Ó","O") cText := StrTran(cText,"Õ","O") cText := StrTran(cText,"Ô","O") cText := StrTran(cText,"ó","o") cText := StrTran(cText,"Ö","O") cText := StrTran(cText,"Ã’","O") cText := StrTran(cText,"õ","o") cText := StrTran(cText,"ô","o") cText := StrTran(cText,"ó","o") cText := StrTran(cText,"ö","o") cText := StrTran(cText,"ò","o") cText := StrTran(cText,"Û","U") cText := StrTran(cText,"Ú","U") cText := StrTran(cText,"Ãœ","U") cText := StrTran(cText,"Ù","U") cText := StrTran(cText,"û","u") cText := StrTran(cText,"ú","u") cText := StrTran(cText,"ü","u") cText := StrTran(cText,"ù","u") cText := StrTran(cText,"Ç","C") cText := StrTran(cText,"ç","c") cText := StrTran(cText,"£","E") cText := StrTran(cText,"&","E") cText := StrTran(cText,"<",".") cText := StrTran(cText,">",".") cText := StrTran(cText,"ª","a") cText := StrTran(cText,"º","o") cText := StrTran(cText,"´"," ") cText := StrTran(cText,"²","2") cText := StrTran(cText,"³"," ") cText := StrTran(cText,"¹","1") arINICIO:=32 arFIM :=126 xRetText:="" For IcText=1 to len(cText) LetracText:=subs(cText,IcText,1) if asc(LetracText)arFIM LetracText:=" " end xRetText+=LetracText next RETURN(xRetText) Rubem Jr http://sistemasit.com Belem/PA
  20. Oi Rone... você reportou um erro na rotina do LUIZ. A minha rotina está em DICAS: eis o LINK: http://fivewin.com.br/exibedicas.asp?id=1084 Rubem Jr http://sistemasit.com Belem/PA
  21. msn: http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=17053 Rubem Jr http://sistemasit.com Belem/PA
  22. "+CRLF+; ' '+; ' 'height="310" width="450"> '+CRLF+; "
  23. "+CRLF+; ''+CRLF+; " " version: 2,"+CRLF+; " type: 'profile',"+CRLF+; " rpp: 6,"+CRLF+; " interval: 6000,"+CRLF+; " width: 304,"+CRLF+; " height: 550,"+CRLF+; " theme: {"+CRLF+; " shell: {"+CRLF+; " background: '#333333',"+CRLF+; " color: '#ffffff'"+CRLF+; " },"+CRLF+; " tweets: {"+CRLF+; " background: '#000000',"+CRLF+; " color: '#ffffff',"+CRLF+; " links: '#4aed05'"+CRLF+; " }"+CRLF+; " },"+CRLF+; " features: {"+CRLF+; " scrollbar: false,"+CRLF+; " loop: false,"+CRLF+; " live: false,"+CRLF+; " hashtags: true,"+CRLF+; " timestamp: true,"+CRLF+; " avatars: false,"+CRLF+; " behavior: 'all'"+CRLF+; " }"+CRLF+; "}).render().setUser('sistemasit').start(); "+CRLF+; "
  24. Apurando mais a função eu percebi que realmente se tirar os acentos a função funciona melhor... E se mandar o bairro vazio também Rubem Jr http://sistemasit.com Belem/PA
  25. Só uma pequena correção: mudar a linha: xARQMAPA := wsrd_loca+"\SitLocal\mapa.htm" por: xARQMAPA := "c:\mapa.htm" Ou qualquer outra pasta pessoal Rubem Jr http://sistemasit.com Belem/PA
×
×
  • Create New...