-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
É um programa que transforma instruções inteligíveis a nós (palavras, comandos, expressões, etc.) em códigos de máquina que permitem que o computador execute-os. Abraços, Graymalkin
-
Faça o seguinte: err.Clear On Error Resume Next 'método do commondialog (showOpen, showSave, etc.) if err.number=cdlcancel then msgbox "O usuário pressionou Cancelar" endif On Error Goto 0 Abraços, Graymalkin
-
Não use Unload para tornar o form invisível, use "form.Visible = False" ou "form.Hide". E o procedimento Main() é executado durante a inicialização do programa (quando definido para tal). Abraços, Graymalkin
-
Verifique as propriedades Width e Height do objeto Screen. Abraços, Graymalkin
-
Você pode usar os controles MAPI para isso (vá na opção Components do menu Project e marquê Microsoft MAPI Controls 6.0). Segue um exemplo de utilização: MAPISession1.DownLoadMail = False MAPISession1.SignOn MAPIMessages1.SessionID = MAPISession1.SessionID MAPIMessages1.Compose MAPIMessages1.MsgSubject = "Assunto" MAPIMessages1.RecipAddress = "para@blabla.com.br" MAPIMessages1.AttachmentIndex = 0 MAPIMessages1.AttachmentPathName = "c:\arquivo.txt" MAPIMessages1.Send MAPISession1.SignOff O exemplo acima cria um email e anexa um arquivo, e a seguir envia-o. Qualquer dúvida, 'stamos aí. Abraços, Graymalkin
-
A propriedade ActiveControl do form sempre retém uma referência ao controle atualmente selecionado. Portanto, você pode obter o que quer através do código: msgbox Me.ActiveControl.Name Abraços, Graymalkin
-
Experimente fazer: Dim janela As New SeuForm() janela.Show() Trocando o SeuForm pelo nome do form que você quer chamar. Abraços, Graymalkin
-
Você pode usar qualquer cor, com valores entre 0 e 16777215, ou utilizar a função RGB() para passar a tonalidade do vermelho, verde e azul (e obter o número correspondente). Existem ainda as constantes definidas em ColorConstants (basta digitar "ColorConstants." para vê-las). Abraços, Graymalkin
-
Você pode mudar diretamente as propriedades Top e Left para isso, mas existem valores mínimos para que seja possível ver alguma mudança. Abraços, Graymalkin
-
Perdoe minha ignorância, mas não entendi sua pergunta... Abraços, Graymalkin
-
Como eu sei "tudo isso"? Pra dizer a verdade: eu não sei "tudo isso". É aí que está o ponto fundamental: eu apenas sei para que serve cada coisa e sei como misturá-las para chegar ao "tudo isso". Isso é que é o importante. O ambiente do VB favorece muito o auto-aprendizado, já que quando você digita um "." ele te fornece uma lista de métodos e de propriedades, ou quando você abre "(" ele te diz exatamente o que você deve informar e qual será o resultado. Com noções mínimas de lógica de programação, você é capaz de fazer maravilhas em VB. Basta você saber o que procurar e onde procurar. Outra coisa que auxilia muito é o Object Browser (pressione F2 e você o verá). A maioria das funções tem nomes extremamente condizentes com suas respectivas ações (como a função Replace() usada no exemplo). Portanto, uma boa noção de inglês também é altamente recomendável. É claro que isso não é o bastante já que algumas funções não tem essa característica (como a função StrConv()), mas pra esses casos existe o fórum... (com certeza alguém já fez algo ou já viu algum exemplo de como fazer o que você quer, e lembra na hora que vê uma pergunta a respeito). Qualquer dúvida, 'stamos aí. Abraços, Graymalkin
-
Não de forma automática. O que você pode fazer é: Dim troca() As String Dim nome As String nome = StrConv("ramon da silva", vbProperCase) MsgBox nome troca = Split("Da;De;Do", ";") For Each e In troca nome = Replace(nome, space(1) & e & space(1), space(1) & LCase(e) & space(1)) Next e MsgBox nome Execute isso aí e veja os resultados. Abraços, Graymalkin
-
Faça como eu fiz: comece a aprender as duas e veja com qual você se adapta melhor. Abraços, Graymalkin
-
Double (vírgula flutuante de precisão dupla) é um tipo de dados, que comporta números entre -1,79769313486232E308 a -4,94065645841247E-324 para valores negativos e 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos. O "duplo" refere-se à precisão, não a quantidade de casos. Aquele exemplo ficaria assim: Private Sub Form_Click() dim lado as Double lado = Rnd() Select case lado Case is < .5 Print "coroa" Case .5 Print "nem um dos dois" Case Else Print "cara" End Select End Sub Abraços, Graymalkin
-
Certo, mas se "lado" fosse do tipo Double, iria dar no mesmo e só ocuparia 8 bytes ao invés dos 16 da Variant. Abraços, Graymalkin
-
Que isso?! Gostei do seu exemplo, e creio que você só não respondeu sobre os procedimentos porque a palavra em Pascal é Procedure enquanto que no VB é Sub. Em relação à sua pergunta: necessariamente não. No entanto, isso tem uma implicação. O VB assim como o Pascal é uma linguagem tipada, ou seja, as variáveis tem determinados tipos, como Integer, Long, Double, String, Object, etc. Todavia, o VB tem um tipo de dados chamado Variant que comporta qualquer um desses tipos mencionados (além de outros). Quando você não especifica o tipo de dados de uma função ou de uma variável, automaticamente ela se torna do tipo Variant. A nível de programação isso praticamente não tem diferença, mas em relação à memória consumida, uma variável Variant ocupa 16 bytes enquanto que uma Integer ocupa apenas 2 bytes. Abraços, Graymalkin
-
Com a função Rnd() você pode obter um número aleatório. Você pode gerar um número grande, tipo com dez algarismos. Isso no cliente. O seu sistema que gerará a contra-senha (que consequentemente também faz parte do seu programa, já que ele terá que fazer os mesmos cálculos para aceitar a senha) fará certos cálculos arbitrários. Por exemplo: 4567890123 A contra-senha para isso é: 2739465445 Como gerei essa contra-senha? Utilizei as seguintes condições: se o número é par, não é 0 e não é primo, seu correspondente é metade de seu valor; se o número é primo, soma-se 2 ao seu valor; se o número é 9 o contra-número é 6; se o número é 0 o contra-número é 5; se o número é ímpar, não é primo e não é o 9 (só pode ser o 1 mesmo), o contra-número é 4. Esse é bem simples, mas você pode fazer algorítmos mais complexos e utilizando não só números como letras também, e pegando aos pares ou em grupos de três ou quatro. Nesse caso, o limite é a imaginação. Abraços, Graymalkin
-
Não entendi... Veja bem: If val(Texto16)= val (texto17) then 'não tem nada aqui end if If val(Texto18)= val (texto19) then msgbox "Verdade" else msg box "Falso" end if A primeira condição não vai alterar em nada o funcionamento do seu código, já que ela não faz nada. Só a segunda condição é importante, e ela decide se vai aparecer "Verdade" ou "Falso". O que você pretende, exatamente? Abraços, Graymalkin
-
E qual é, exatamente, a sua dificuldade em fazer isso? Abraços, Graymalkin
-
O que é um método? Uma função ou procedimento que está dentro de um objeto. Exemplo: List1.AddItem "teste" AddItem é um método do objeto List1 que, como você já deve saber, adiciona um item à uma listbox. ---------------- O que é uma função? Uma função pode ser imaginada como um "mini-programa" que funciona por si só e retorna um valor (ou não). Exemplo de uma função: public function Soma(byval n1 as integer, byval n2 as integer) as integer dim total as integer total = n1+n2 Soma = total end function Exemplo de utilização dessa função: msgbox Soma(15, 31) Existem ainda as funções que já fazem parte da própria linguagem (como len(), instr(), replace(), right(), left(), etc.) ---------------- O que são as instruções? Uma possível definição para as instruções é que elas são o fundamento básico da linguagem. É através delas que formamos as funções e procedimentos. No conjunto de instruções podemos destacar as instruções de decisão (If e Select Case) e de iteração (For e Do While), entre outras. ---------------- O que é uma procedure (procedimento)? O mesmo que as funções com a diferença que não retornam um valor. Certas linguagens não tem essa noção de procedimento, e só tem funções (que fazem a mesma coisa e você tem a opção de não retornar um valor). Exemplo: public sub OláMundo() msgbox "Olá, Mundo!" end sub Alguém tem algo mais a acrescentar ou corrigir? Abraços, Graymalkin
-
Que eu saiba, naturalmente, não existe uma forma mágica de fazer isso. O jeito é: if Registrado then habilita opção tal 1 habilita opção tal 2 habilita opção tal 3 else desabilita opção tal 1 desabilita opção tal 2 desabilita opção tal 3 endif Esse "Registrado" no caso é uma variável booleana, cujo valor deverá vir de algum lugar (do Registro do Windows, de um arquivo texto, de um banco de dados, etc.). Abraços, Graymalkin
-
Exemplo: msgbox "uma linha" & vbcrlf & "outra linha" Abraços, Graymalkin
-
Um exemplo: msgbox strconv("ramon lourenço", VbProperCase) Abraços, Graymalkin
-
Dei uma olhada rápida e detectei algumas inconsistências, mas devem haver mais. Experimente trocar a linha... ElseIf (login <> Null) And (senha <> Null) Then ... por... ElseIf (login.text <> vbNullString) And (senha.text <> vbNullString) Then Fora isso, essa linha também não está correta: If Rs!s_client_password <> [senha] Then Por que [senha]? Não se usa isso em VB. Abraços, Graymalkin
-
O VB.net, quando comprei original, custou uns R$ 300,00 e pouco na Brasoftware. Não achei tão caro assim. Abraços, Graymalkin