Ir para conteúdo
Fórum Script Brasil

Decio

Membros
  • Total de itens

    797
  • Registro em

  • Última visita

Posts postados por Decio

  1. Então você precisa usar uma API do Windows. O sendkeys não resolve. Infelizmente eu não achei nada parecido com o seu problema para facilitar, mas uma tentativa que você pode fazer é usar a API SendMessage do Windows. O exemplo mais parecido que achei foi este site: http://www.xtremevbtalk.com/showthread.php?t=92526.

    Para dar certo você vai precisar saber o nome da janela do aplicativo que você vai chamar.Se eu tivesse mais tempo eu tentava ver se o exemplo da certo para você, mas hoje estou meio enrolado.Tenta ver o que você consegue.

  2. Se quiser algo simples, tenta assim:

    Private Sub Form_Load()
    
    Call imprime_Cabecalho(List1)
    
      For a = 1 To 50
        List1.AddItem Format(a, "#000") & " 000099        BEB LACT ITAMB600             "
        List1.AddItem "     1,0 Un x         0,05 NS1            0,05 >>"
      Next a
    
     List1.ListIndex = List1.ListCount - 1
    End Sub
    
    Sub imprime_Cabecalho(ByVal lst As ListBox)
    List1.Font = "Courier New"
    List1.Width = 5895
    List1.Height = 3570
    
     lst.AddItem Date & "  " & Time & "   CCF:000000      COO:000000"
     lst.AddItem "               CUPOM FISCAL"
     lst.AddItem " ITEM   CÓDIGO       DESCRIÇÃO"
     lst.AddItem "        UN.     VL.UNIT(  R$)   ST    VL.ITEM(  R$)"
     lst.AddItem "------------------------------------------------"
    End Sub

    O único problema é a última linha em destaque.

  3. Eu faria de outra forma. A barra de rolagem visualmente não fica muito legal. Mostre apenas a quantidade de itens que cabem na tela e a medida que vender um item, substitui o primeiro.Se o cliente tiver alguma dúvida de algum item vendido que não esta na tela, o que vai ser muito difícil, pois a atenção dele esta no item vendido no momento, basta olhar no próprio cupom mpresso que est sendo emitido. É apenas uma sugestão.

  4. Pelo pouco que sei em programação USB, é possível sim, mas você precisa saber qual o chip de comunicação USB que existe no hardware.Depois você vai no site do fabricante para pegar os drivers. Uma época eu estava mexendo em um hardware que tinha um chip da FTDI (http://www.ftdichip.com). La tinha os exemplos para download, inclusive em VB, os drivers e a documentação para chamar as APIs do drivers e se comunicar com o dispositivo USB. Isto é apenas uma dica. Outra coisa que pode ser feita, se o problema for a falta de micro com porta paralela no mercado, é usar um adaptador USB->PARALELA. Assim nem precisaria mexer no aplicativo.

  5. Não acredito que seja problema do Windows.Existem várias formas de se criar um arquivo.Mesmo funcionando aparentemente bem e não tendo erro no código, acho que a única forma de ajudar é vendo o problema.Se você tiver o trecho do código posta aqui que talvez alguém te ajude, se quiser pode mandar por e-mail, se eu descobrir o que está acontecendo eu posto a resposta aqui.

  6. Tenta simplesmente comparar as duas strings sem o laço for:

    comparador=strcmpi(novaplaca,p->placa); //compara as strings, se iguais retorna(0)

    if(comparador==0)

    print=0;//registra que encontrou a placa

    else

    print=1; //registra que não achou a placa

  7. Dependendo do que você vai fazer , basta criar um programa normalmente e deixar ele carregado. você pode mudar a propriedade do form para deixa-lo invisível, por exemplo.Neste caso você poderia colocar um atalho no iniciar para carregar o arquivo sempre que o sistema for inicializado.Agora se você que iniciar como se fosse um serviço do Windows (.sys) dai já é mais complicado e o VB não é a ferramenta adequada para isto.

  8. Existem várias formas de se fazer isso, uma delas pode ser esta:

    Dim x As Currency, Y As Currency, r As Currency
    
    'Aqui calcula a raiz:
     x = 10
     Y = 2
    
    r = x / Y
    
    If InStr(1, CStr(r), ",", vbTextCompare) = 0 Then
    'Não encontrou vírgula, então é um inteiro
      MsgBox Sqr(r)
    End If
    
    'Aqui não calcula a raiz:
     x = 5
     Y = 3
    
    r = x / Y
    
    If InStr(1, CStr(r), ",", vbTextCompare) = 0 Then
    'Encontrou vírgula, então é não é um inteiro
      MsgBox Sqr(r)
    End If
    
    

    Um cuidado com a procura pela vígula é que se a variável estiver definida como Currency, como é o caso aqui,

    ela pode ser alterada para ponto ao invés da vírgula pelas configurações regionais do Windows.

    De qualquer forma, concordo com resposta anterior.Não é necessário fazer esta verificação.

  9. Um comentário...se o amigo quer aprender C, o cout pra ele nesse momento não procede, pois é uma função do c++. Vale também explicar o porquê de int main e não void main.

    Na verdade, pode permanecer void main(void), pois a função não retorna valor algum.

    Fiz minha resposta em cima do ambiente que me foi passado, ou seja o Dev C++.Lembro que quando usei o Dev, deu pau na hora de copilar usando o padrão "void main()", tendo que ser substituido por int main(). Acredito que o nosso colega esteja com o mesmo problema.

    Quanto a usar o printf do C ou o cout do C++, não vejo nenhum problema em aprender um ou outro ou os dois ao mesmo tempo.

×
×
  • Criar Novo...