fluna
-
Posts
402 -
Joined
-
Last visited
-
Days Won
1
Posts posted by fluna
-
-
Tabela de promoção:
Cod_pro, c , 6 , 0
Preço, n 10 , 2
quant_max, n, 10, 0
validade, d , 8, 0->crie uma rotina para cadastrar produtos em promoção.
1 -ao vender, procure o codigo nessa tabela,2 - coloque todos os registros cujo cod_pro corresponda num array
3-analise o array para questão de datas (validade) válidas;
4-após digitar a quantidade, verifique se ela é <= quant_max; se for, pegue o preço no array (em vez de usar o do cadastro de produtos)
...por aí.
-
Acho que todos aqui sabem o que acontece se alguém clica com botão direito em uma pasta (pelo menos no windows 7) e seleciona a opção "Restaurar versões anteriores". Aí o TI vê que o sistema não está funfando (provavelmente indices comrrompidos ou instalação do mariadb com probelmas) vai .lá, escolhe uma das versões que lhe da na telha e manda ver. resultado: encrenca pro programador.
-
Provavelmente uma pasta de dados estava inacessível e o TI restaurou uma versão antiga da pasta.
-
kkkkk -O sistema é bruto com o kapiaba kkkkk
-
Obrigado a todos, boa noite.
-
Como ficou: ************************** Function Whatsapp( cPara ) ************************** Local oShell,wCodCli,lSair,lOk If !IsInternet() MsgInfo("Necessário Uma Conexão com Internet !"+CRLF+"Operação cancelada") Return(.f.) Endif wCodCli:=alltrim(right(cpara,5)) Select cli cli->(OrdSetFocus("codigo")) seek wcodcli lOk:=found() Select SRV if !lok ? "Erro! cliente não encontrado on cadastro!" return(.f.) endif cPara:=alltrim(CLI->FONE_MOVEL) cNome:=alltrim(CLI->NOME) CursorWait() nSegs:=val(GetPvProfString("WhatsApp","SecWaitPage","0",SysArq)) cMens:=GetPvProfString("WhatsApp","MsgPrinting" ," ",SysArq) cSair:=GetPvProfString("WhatsApp","FechaNavegador" ," ",SysArq) If empty(nSegs) nSegs:=10 // 10 segundos WritePProString( "WhatsApp","SecWaitPage","10",SysArq ) Endif If empty(cMens) cMens:="Avisamos que O SEU APARELHO ja esta disponivel! Voce ja pode vir retira-lo." WritePProString( "WhatsApp","MsgPrinting",cMens,SysArq ) Endif If empty(cSair) cSair:="S" WritePProString( "WhatsApp","FechaNavegador","S",SysArq ) Endif cPara:=AjustaFone( cPara ) If Empty( cPara ) MsgInfo("Número do telefone de "+cNome+" inválido, verifique!") return(.f.) endif cHora:=Time() nHora:=val(substr(cHora,1,2)+substr(cHora,4,2)) cHora:=iif(nHora>=0000 .and. nHora <=1200 ,"Bom Dia, " , "" ) cHora:=iif(nHora>=1201 .and. nHora <=1800 ,"Boa Tarde, ",cHora) cHora:=iif(nHora>=1801 .and. nHora <=2359 ,"Boa Noite, ",cHora) cCabc:= cHora+"A "+wNomeEmpresa+" tem um recado para voce!" oShell:= CreateObject( "WScript.Shell" ) oShell:run("https://web.whatsapp.com/send?phone="+cPara) WaitSeconds(nSegs) oShell:sendkeys("*"+cCabc+"*") ; WaitSeconds( 3 ) ; oShell:SendKeys("~") ; WaitSeconds( 1 ) oShell:sendkeys("_"+cMens+"_") ; WaitSeconds( 3 ) ; oShell:SendKeys("~") ; WaitSeconds( 1 ) oShell:sendkeys("*Nosso contato: "+wFoneEmpresa+"*") ; WaitSeconds( 3 ) ; oShell:SendKeys("~") ; WaitSeconds( 3 ) If cSair="S" oShell:SendKeys("%{F4}") // ALT+F4 fecha o navegador, mas deixar aberto fica mais rápido.... Endif CursorArrow() Return nil ***************************** FUNCTION AjustaFone( xFone ) ***************************** Local i,cLetra,cFone:="" For i=1 to len(xFone) cLetra:=Substr(xFone,i,1) cFone+=iif(cLetra="0","0",iif( val(cletra)>0,cLetra,"")) Next If Substr(cFone,1,2)#"55" cFone:="55"+cFone Endif cFone:=alltrim(cFone) If len( cFone ) # 13 cFone:=" " endif Return( cFone )
-
Grande mestre léo! Salve salve... (saudades... -verdade!)
andei "parado" uns tempos
voltei à ativa a alguns meses atrás.Tô na pista de novo rssss
meu número: (63) 992618619 (whatsapp).
Se eu puder ser útil, é só contactar.
-
Me desculpe, adutheil; talvez eu não tenha me expressado corretamente. A janela a que me refiro é uma página web. O script abre uma nova página web, mesmo que a mesma já esteja aberta no navegador... Ex: estou com a página do whatszap aberta, mas quando executo o sistema abre outra página do whats em vez de usar a que está aberta. De qualquer maneira, obrigado pela ajuda.
-
Tenho uma rotina em que abro uma página web para mandar recado para clientes no whatsapp; o problema é que ele abre várias janelas em vez de usar uma que já está aberta;
if ..... // já existe janela aberta * * Else oShell:run("https://web.whatsapp.com/send?phone="+cPara) ; Sleep(nSecs) Endif
Alguém poderia me ajudar a resolver isso? Tipo, se a página já está aberta, usá-la em vez de abrir outra no navegador
Obrigado. -
-
Preciso resetar as margens do .rtf antes de imprimir, mas fica aparecendo uma dialog (que não é minha) de margem, eu gostaria se setar as margens sem aparecer essa dialog. alguém poderia me ajudar?
-
64 bits não gosta que copie nada pro raíz do c:\ (seria isso?)
-
crie um dbf (linha,c,250,0)
APPE FROM <arq.xml> SDF
e voilá... podes ler um xml com até x bilhões de linhas kkkkkkk
-
Comecei em 84 num cp500 com o dbase-II, depois dbase-III, III-Plus, Clipper, etc... (cobra212 -2 disquetão de 8 polegadas, um com o S.O e o outro para sistema/dbf rsss)
-
É para um sistema se laboratório, onde os exames são criados pelo próprio usuário em duas fases: Uma: ele cria o texto exame já prontinho, com todo o texto que "der na telha", e define qual parte do texto será preechido, ainda na fase da configuração do exame, ele seta as referencias para cada ponto de digitação; Uma vez terminada a configuração, esse dado são guardasos em um .INI com o mesmo nome do formulário; Depois, quando for digitar um exame, seleciona o formulário e preenche; na digitação, os sistema vai no ini e "pesquisa" as referencias para o get preenchido. (temos cerca de 1300 exames, telas genéricas para eles não funcionam, então, transfir para o operador fazer a tela a seu gosto hehehehe. (eles adoraram a idéia) Inicialmente pensei em usar o TextEdit (rtf), mas deparei-me com com várias dificuldades... (tipo desligar o insert antes de entrar no texto, fazer com que o cursor não "invada" a palavra ao lado... etc. -Abraços a todos que ajudaram.
-
Valeu emota!!!!!! Obrigadaço.
-
***** PERDÃO, ERRO NO CÓDIGO ANTERIOR ****
código correto:
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
Function Main()
local oDlg, oRich
Define font ofnt name "Lucida Console" size 0,-12
vTab:={" "}
vGet:={}
ctxt:=MemoRead( "Teste.txt" )
For x=1 to mLcount(cTxt,95)
cFrase:=MemoLine(cTxt,95,x)
aadd(vtab,cFrase)
NextDEFINE DIALOG oDlg from 1,1 to 40,100
lin:=1
For i=1 to Len( vtab )
nLin:=lin*9.0
@ nlin,10 say vtab[ i ] of odlg font oFnt pixel
cTxt:=vtab[ i ]
For x=1 to len( cTxt )
If substr(ctxt,x,1)="["
wtxt:=substr(ctxt,x)
nPos:=at("]",wtxt)
nTam:=iif(nPos>0,nPos-2,0)
cVar:=iif(nTam>0,substr(ctxt,x+1,nTam)," ")
If nTam > 0
aadd(vGet,{ nlin-2 , (x*3.5)+8.4 , cVar } )
Endif
Endif
Next
lin+=.9
Next
aadd(vGet,{ NIL , NIL , NIL} )
For i=1 to Len( vGet )-1
@ vGet[i,1],vGet[i,2] get oGet Var vGet[i,3] of odlg pixel noborder // size len(vGet[i,3])*4,8
Next
ACTIVATE DIALOG oDlg CENTERED
Return NIL -
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
Function Main()
local oDlg, oRich
Define font ofnt name "Lucida Console" size 0,-12
vTab:={" "}
vGet:={}
ctxt:=MemoRead( "Teste.txt" )
For x=1 to mLcount(cTxt,95)
cFrase:=MemoLine(cTxt,95,x)
aadd(vtab,cFrase)
NextDEFINE DIALOG oDlg from 1,1 to 40,100
lin:=1
For i=1 to Len( vtab )
nLin:=lin*9.0
@ nlin,10 say vtab of odlg font oFnt pixel
cTxt:=vtab
For x=1 to len( cTxt )
If substr(ctxt,x,1)="["
wtxt:=substr(ctxt,x)
nPos:=at("]",wtxt)
nTam:=iif(nPos>0,nPos-2,0)
cVar:=iif(nTam>0,substr(ctxt,x+1,nTam)," ")
If nTam > 0
aadd(vGet,{ nlin-2 , (x*3.5)+8.4 , cVar } )
Endif
Endif
Next
lin+=.9
Next
aadd(vGet,{ NIL , NIL , NIL} )
For i=1 to Len( vGet )-1
@ vGet[i,1],vGet[i,2] get oGet Var vGet[i,3] of odlg pixel noborder // size len(vGet[i,3])*4,8
Next
ACTIVATE DIALOG oDlg CENTERED
Return NILExemplo do texto:
Este é um texto onde as posições do get dentro dele
são flutuantes, dependendo de onde estiver um
colchete [ ] estilo o bom e velho
cliper.
Teste1 [ ]Teste2 [ ] e [ ] ou [ ]
teste3 [ ]teste4 [ ],[ ],[ ],[ ],[ ],[ ],[ ]
-
Sistema para controle de açaiteria (com fontes) R$ 200,00
versão para experimentar: (favor baixar a versão e experimentar antes de perguntas ou negociação)
https://mega.nz/#!lmQHzTZK!r6UyHM39pMnqTaR-UfjCx-a5kaHIDXNgE0YNYn-5ctQSite para visualizar as telas: https://fabiolunna.wixsite.com/acai
-
Vc está assinando o .exe dentro dos .RC?
(colocar no tipo do .RC)
1 VERSIONINFO
FILEVERSION 1, 0, 0, 0
PRODUCTVERSION 1, 0, 0, 0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
{
BLOCK "StringFileInfo"
{
BLOCK "041604B0"
{
VALUE "CompanyName", "Nome da softhouse\000"
VALUE "FileDescription", "Nome-Do-Exe - Titulo-Da-janela-Principal\000"
VALUE "FileVersion", "1.0\000"
VALUE "LegalCopyright", "2015,2016 - Nome da softhouse\000"
VALUE "OriginalFilename", "NOME-DO-EXE.EXE\000"
VALUE "ProductName", "Nome-do-exe\000"
VALUE "ProductVersion", "2.0\000"
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 1046, 1200
}
} -
Já tive esse problema... a solução seria (se for crachá), colocar no codigo de barras algum caracter que não exista no teclado, no inicio ou no fim do codgo; mas esse caracter deve estar presente apenas no codigo de barra; não deve, obviamente, aparecer na representação numerica (se houver).; aí, o resto é fácil: se o caracter estiver presente, veio do codigo de barras....
-
Alguém sabe como faço para criar um aplicativo que jogue na bios a sequencia FN+F11? explico: a tecla F11 ta bixada, dai a dificuldade de entrar no wifi; tentei pegar o codigo da tecla fazendo uma "escuta" mas não deu nada! criei um xbrowse e monitorei o nKey para ver se aparecia. Se teclar F11, aparece, mas se teclar FN+F11 não acontece nada...
detalhe: uso teclado externo porque o do note tá todo bixado... dai a necessidade de criar um aplicativo para "ligar" a placa wifi, cuja sequencia é FN+F11
-
Não pode ser o tema(windows) instalado?
-
SQLRDD X REDE
in Programação
Posted
Mas o sql tem um campo tipo incremento que já faz isso automaticamente pra você quando faz um append blank.... (último+1) -porque não usa? -já tentou?