kuroi

Membros
  • Content Count

    7411
  • Joined

  • Last visited

Community Reputation

0 Neutro

About kuroi

Contatos

  • Website URL
    http://

Recent Profile Visitors

13817 profile views
  1. Bom dia, estou com uma dúvida na criação de uma formula no VB.

     

    A |  B  |   C      |     vSaldoFinal

    0 | 13 | 129,5 |  116,5 = C + A - B

    0 | 13 | 129.5 |  103,5 ( Para calcular este campo, necessito do resultado do campo acima) = vSaldoFinal + A - C

     

    FÓRMULA:

    Somente no primeiro campo deve ser: C + A - B

    Nos próximos campos:

    vSaldoFinal + A - C

    vSaldoFinal + A - C

    vSaldoFinal + A - C

    vSaldoFinal + A - C

    Etc

    A fórmula que tenho aqui é: 

     

    WhilePrintingRecords;
    CurrencyVar vSaldoFinal;

    if {tabela.MOV_CH_SITUACAO}<>'C' then
        vSaldoFinal := ({@campoC} + {tabela.campoA}) - {tabela.campoB};
        

    vSaldoFinal;

     

    Poderiam me ajudar por favor?

  2. Grande Kuroi:

    Você já me salvou diversas vezes, e pode me salvar mais uma vez. Tenho o código abaixo que abre uma determinada pasta no Windows; até aí tudo bem, mas preciso de um código para depois fechar essa mesma página. HELP!!! Obrigado, uma vez mais. Grande abraço.

    Shell "explorer /n,C:\MinhaPasta", vbNormalFocus

  3. Boa tarde, vi que você orientou diversas pessoas e tem um ótimo conhecimento. Preciso muito de uma ajuda, pode me auxiliar?

    Estou com um problema semelhante a alguns casos que vi aqui no fórum, porém gostaria de sobrescrever uma determinada linha. Eu sei onde ela se encontra por número de linha e também por texto, mas não sei como posso substituir. Alguém pode me ajudar??

    Tenho um arquivo cps onde preciso substituir estas linhas:

    <setting name="authorization_username" value="789"/>                   ->> linha 92 do arquivo
    <setting name="display_name" value="789"/>                                   ->> linha 98 do arquivo
    <setting name="username" value="789"/>                                         ->> linha 155 do arquivo

    E alterar pelo valor que o usuário insere no script. O Script que tenho é o seguinte:

    strInput = InputBox ("Digite seu ramal")
    Const FOR_READING = 1
    Const FOR_WRITING = 2

    Set wshShell = CreateObject( "WScript.Shell" )
    strFileName = wshShell.ExpandEnvironmentStrings( "%userprofile%" ) & "\AppData\Local\CounterPath\RegNow Enhanced\default_user\settings.cps"

    Set objFS = CreateObject("Scripting.FileSystemObject")
    Set objTS = objFS.OpenTextFile(strFileName, FOR_READING)
    strContents = objTS.ReadAll
    objTS.Close

    Set objTS = objFS.OpenTextFile(strFileName, FOR_WRITING)

    strContents = Replace(strContents, "789", strInput)
    objTS.WriteLine strContents
    objTS.Close


    Até então ele funciona, porém ele deve rodar com mais usuários e o valor não vai ser sempre "789", deverá ser o valor que existe dentro daquele arquivo e naquela variável.

    Por exemplo se value for 1000 e o usuário inserir 500, o script deverá alterar no arquivo o valor de 1000 para 500.

    A minha dúvida é como alterar isso a partir do valor que possuo no arquivo, pois pelo replace eu consigo alterar a partir do valor que já estou passando no código.

    Então pensei em substituir a linha por alguns parâmetros pré-definidos, e dentro de value colocar o strInput que o usuário digitou. Sou novata em vb e não consegui encontrar na internet.

    Essa seria a melhor forma?
    Pode me ajudar?

  4. Prezado Kuroi, boa noite!

    Como você já me "salvou" diversas vezes, é que resolvi te pedir um socorro novamente. Abaixo estou enviando um código que era de um cadastro de receitas de culinária, e eu estou adaptando-o para cadastro de clientes. O que acontece? O programa anterior não aceita campos nulos, mas o atual, por ser um cadastro deve aceitar campos nulos. Gostaria de saber como modifico isso. O banco que estou usando é um Access. Antecipadamente agradeço pela sua atenção e gentileza. Frata.

    Ah, só mais uma coisinha, eu até modifiquei a parte do código que avisa que existem campos vazios, mas aí dá erro quando vai salvar. Brigaduuuuuuuuu..!!!

     

     

    'declarando os objetos necessários
    'command e recordset para interagir com o  BD
    'e declarando variavel para utilizar msgbox
    Dim cmd As New ADODB.Command
    Dim rs As New ADODB.Recordset
    Dim vinfo As Integer
    'chamando a sub que carrega a lista com os dados do BD
    Private Sub Form_Load()
    preenche_list

    End Sub

    'descarregando os objetos command e recordset quando
    'fechar o form e limpando os arquivos temp criados
    Private Sub Form_Unload(Cancel As Integer)
    Set cmd = Nothing
    Set rs = Nothing
    Set cnnreceitas = Nothing

    If Dir("c:*.tmp") <> "" Then
    On Error Resume Next
    Kill "c:*.tmp"
    End If

    End Sub

    'quando der duplo click na lista
    'filtra as informações no BD e joga nos campos
    'para alterar
    Private Sub List_receitas_DblClick()
    With cmd
        .ActiveConnection = cnnreceitas
        .CommandType = adCmdText
        .CommandText = "select * from receitas"
    Set rs = .Execute
    End With
    With rs
        .Filter = " receita like '" & List_receitas.Text & "'"
        Frame_cadastro.Visible = True
        Frame_Localizar.Visible = False
        Toolbar1.Visible = False
        Toolbar2.Visible = True
        travar_campos
        Text_cod = !cod
        Text_receita = !receita
        Text_ingredientes = !ingredientes
        Text_preparo = !preparo
        Text_email = !email
    End With
    End Sub

    'codigo que faz a busca na List quando é digitado
    'na text
    Private Sub Text1_Change()
    On Error GoTo trataerro

    With cmd
        .ActiveConnection = cnnreceitas
        .CommandType = adCmdText
        .CommandText = "select * from receitas"
        Set rs = .Execute
    End With
    With rs
        .Filter = " receita like '%" & Text1.Text & "%'"
        If .BOF And .EOF Then
        MsgBox ("Sequencia de caracteres não encontrado na lista")
        Else
        List_receitas = rs!receita
        End If
    End With

    trataerro:

    With Err
    If .Number <> 0 Then
    .Number = 0

    End If
    End With

    End Sub

    'faz as alterações entre as toolbar e os frames
    Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
    Select Case Button.Index
        Case 1
        Toolbar1.Visible = False
        Toolbar2.Visible = True
        Frame_cadastro.Visible = True
        Frame_Localizar.Visible = False
        Case 2
        Frame_Localizar.Visible = True
        Text1.Text = ""
        
        
    End Select
    End Sub

    'chama os procedimentos de gravar, inserir ou retornar
    'para o outro frame
    Private Sub Toolbar2_ButtonClick(ByVal Button As MSComctlLib.Button)
    Report

  • Olá, tenho uma dúvida sobre a semântica, principalmente agora após as inovações do HTML 5. Tenho um formulário de login e, caso o login falhe (por senha inválida, etc), quero mostrar uma mensagem de erro. Quando eu não me importava muito com questão de semântica, sempre usei tag span pra fazer isso, como no código abaixo: <section> <form id="form_login" name="form_login" method="post" action="<?php echo(Enderecos::CompletoAmp()) ?>"> <fieldset class="painel_formulario"> <input type="hidden" id="form_login_post" name="form_login_post" value="post" /> <label for="form_login_user" class="t_campo_form">Login: <input id="form_login_user" name="form_login_user" class="campo_form" type="text" maxlength="20" required="required" value="<?php echo((isset($_POST["form_login_user"]) ? htmlspecialchars($_POST["form_login_user"], ENT_COMPAT) : "")); ?>" /> </label> <label for="form_login_senha" class="t_campo_form">Senha: <input id="form_login_senha" name="form_login_senha" class="campo_form" type="password" required="required" maxlength="50"/> </label> <?php if ($msg != "") { ?> <span id="form_login_msg_texto" class="texto_msg_erro"><?php echo($msg); ?></span> <?php } ?> <input id="form_login_salvar" name="form_login_salvar" class="botao_form" onclick="javascript: return ValidaLogin(document.getElementById('form_login'), document.getElementById('form_login_user'), document.getElementById('form_login_senha'));" type="submit" value="Entrar" /> </fieldset> </form> </section> Mas agora tenho dúvida, qual seria a melhor tag pra se usar ao mostrar a mensagem de erro? Acho que p não se encaixaria, pois não se trata de um texto corrido e sim de um campo informativo. O que recomendam? Obrigado.
  • Densyy, você deve abrir o arquivo como binário (Open For Binary) e salvar os dados num array de Byte, como é feito no exemplo: http://stackoverflow.com/questions/2456110...e-into-an-array Depois disso, se já tiver conseguido fazer funcionar as conexões do Winsock, deve ser só enviar o array com o .SendData() e receber com .GetData(), informando no parâmetro type que o tipo recebido deve ser um Byte Array. Nunca tentei, mas imagino que funcione. Depois de receber, você grava chama um outro Open For Binary, e dessa vez em vez de usar o Get (como no primeiro link que passei), você usar o Put pra fazer o caminho inverso (passar do array pro arquivo). Mas no caso de arquivos grandes, acho melhor mandar aos poucos. EDITADO: Mas numa rede local, o FileCopy() também vai resolver, como sugeriu o Matheus - desde que haja as devidas permissões.
  • kuroi

    ADODB

    Movido para Visual Basic. Azelha, você teria que percorrer o RecordSet pra acessar todos os registros, com MoveNext. Só que não entendi onde você quer mostrá-los. Se você só tem um TextBox pra cada campo, você só pode mostrar 1 registro por vez. Mas o código seria esse: rs.Open "select * from tblProduto", cnn, adOpenDynamic, adLockReadOnly Do While Not rs.EOF '//Enquanto não chegar ao final do Arquivo txtMarca = rs.Fields(2) '//Leio os campos txtModelo = rs.Fields(3) rs.MoveNext '//Movo ao próximo Registro Loop[/code] Só que, no exemplo, ele vai percorrer todos e o usuário só verá o último.
  • kuroi

    Tela congelada

    Hum... porque vejo muitas macros que ficam movimentando o cursor, sempre selecionando a célula que se quer editar e alterando pelo ActiveCell por exemplo. Então a tela congelada seria quando programamos sem essa movimentação. Por exemplo, em vez de mover o cursor pra célula "B3", eu acessaria direto pelo Range("B3").Value, certo?? Ou existe um comando específico que "congela a tela" ou algo assim??
  • Tópico fechado por duplicação. Respostas aqui: http://scriptbrasil.com.br/forum/index.php?showtopic=172876
  • kuroi

    Tela congelada

    Queria saber exatamente o seria a "tela congelada"...
  • Leonardo, você pode fazer: Me.Controls("LblTeste" & TextBox1.Text).Enabled = True Mas acho mais fácil transformar as Label em array de Label e acessar pelo índice.
  • No VBScript, as variáveis são todas Variant, você não precisa (e nem pode) declarar o tipo dela. On Error GoTo também não funciona no VBScript (On Error Resume Next deve dar certo). Veja no segundo post desse tópico que o cara ensina uma técnica pra contornar esse problema, tratando o erro de pouco em pouco: http://stackoverflow.com/questions/157747/...-error-handling
  • Nosso querido colaborador Jhonas assume hoje o cargo de Monitor de nosso fórum, cargo este que acabou ficando vazio por tempo demais, mas que agora passa a ser ocupado por um nome de peso. Jhonas esteve durante um bom tempo mantendo a ordem na sala de Delphi, e agora será de grandíssima ajuda para que cuidemos bem deste nosso fórum. Com certeza, a escolha foi mais do que acertada, valeu Jhonas.
  • kuroi

    Ajuda

    Movendo pra Outros Assunto. Não tive esse problema que você falou.
  • kuroi

    INPUTBOX MASCARA

    Veja: http://www.freevbcode.com/ShowCode.asp?ID=1214 Acho que esse assunto também já saiu no fórum antes, dê uma pesquisada pois acredito que também já discutimos outras opções.