Ir para conteúdo
Fórum Script Brasil

Graymalkin

Veteranos
  • Total de itens

    8.257
  • Registro em

  • Última visita

Tudo que Graymalkin postou

  1. Falta fechar os parênteses na primeira linha e tem uma vírgula ali depois de "area". Além disso, pra quê essa chamada a uma função "areaperimetro()" no final? E o ideal seria colocar esse código em uma nova janela (File -> New File) e executar (usando o F5), se você estiver usando o IDLE. Abraços!
  2. Multiplicando e dividindo por 60 (quantidade de segundos em um minuto e de minutos em uma hora) e 24 (quantidade de horas em um dia): secs = int(input("Por favor, entre com o número de segundos que deseja converter:")) minutos = secs / 60 horas = minutos / 60 dias = horas / 24 horas = horas - dias * 24 minutos = minutos - horas * 60 - dias * 24 * 60 segundos = secs - (minutos + horas * 60 + dias * 24 * 60) * 60 print "%i dia(s), %i hora(s), %i minuto(s) e %i segundo(s)" % (dias, horas, minutos, segundos) Certo?
  3. É, estranho esse comportamento, faço uso do CreateObject(), com o Word e o Excel principalmente, e sempre funcionou independente da versão. Como nunca gostei do Outlook, nem cogito a idéia de usá-lo para enviar e-mail, prefiro fazer o envio direto por SMTP. Abraços!
  4. Tente trocar esse linha do GetObject por CreateObject: Dim tempApp = CreateObject("Outlook.Application") Veja se dá certo. Abraços!
  5. De acordo com a mensagem de erro, a conexão não está aberta ou é inválida. Tente checar o estado da conexão, após chamar cn.Open: MsgBox(cn.State) E veja se retorna 1, caso retorne 0 é porque a conexão não foi aberta, então você deve conferir se a sua string de conexão está correta. Abraços!
  6. Quanto ao gráfico não sei te informar qual seria a maneira mais prática, mas em relação à comunicação entre o Arduino e o seu projeto em C#, você pode usar o componente SerialPort para fazer a leitura/envio dos dados enviados pela porta serial (assim como acontece no Monitor Serial da Arduino IDE). Abraços!
  7. Ah, beleza, estive sem internet esses dias e só hoje que fui ver seu post. Abraços!
  8. A função input() te retorna uma string (uma sequência de caracteres) e o erro te informa que não é possível multiplicar essa string por um float. O que você deve fazer é converter essa string em um float: inss = float(salario) * 0.5 E use o botão CODE (<>) na barra acima quando for postar um código, fica mais fácil pra ler. Abraços!
  9. Coloque tanto o fundo do form (BackColor), quanto a propriedade TransparencyKey como Red (vermelho). O que acontece é que essa propriedade deixa de "pintar" no form uma determinada cor, porém ela tem um bug e não funciona corretamente com algumas cores (principalmente o branco). Você pode ler sobre isso aqui: http://stackoverflow.com/questions/25471899/titlebar-not-clickable-with-form-transparencykey-white Abraços!
  10. Não conheço o Blender, mas a sua função funciona corretamente. Gerei um arquivo com a string em Base64 e atráves da sua função foi possível decodificar e abrir a imagem corretamente. Mas isso, é claro, para um arquivo comum como um PNG ou JPG. Em qual formato conhecido seria gerado esse arquivo do Blender? Usei Python para gerar um arquivo texto com o conteúdo em Base64, a partir de uma imagem PNG: import base64 arq = "c:/pasta/arquivo.png" f = open(arq, 'rb') chunk = f.read() f.close() chunkb64 = base64.b64encode(chunk) f = open(arq.replace(".png", ".txt"), 'w') f.write(chunkb64) f.close() E depois usei o VB.net para decodificar com a sua função: Dim arquivo As String = "c:\pasta\arquivo.txt" Dim sr As New IO.StreamReader(arquivo) Dim b64 As String = sr.ReadToEnd() sr.Close() Dim bmp As Bitmap = Base64StringToImage(b64) pb.Image = bmp Onde "pb" é uma PictureBox. Mas, é claro, isso só vai valer para um formato conhecido e que pode ser aberto no VB (sem a necessidade de bibliotecas externas). Abraços!
  11. Declara assim antes: Dim dados() As String Abraços!
  12. Como fica o preenchimento da Text1? Você preenche com, por exemplo, "16:24:10"? Se for, você vai poder fazer do jeito que falei: dados = split(Text1.Text, ":") horas = val(dados(0)) minutos = val(dados(1)) segundos = val(dados(2)) totalsegundos = segundos + minutos * 60 + horas * 3600 MsgBox(totalsegundos) Seria isso? E pra quê a segunda textbox? Abraços!
  13. Você está usando o VB6, certo? Seria mais fácil você usar a função Split(): dados = split(Text1.Text, ":") MsgBox(dados(0)) MsgBox(dados(1)) MsgBox(dados(2)) Abraços!
  14. A propriedade InnerText é que mostra apenas o texto (no caso, as palavras), e InnerHtml deveria ter o código-fonte da página. Esse é o caminho certo (o que você está fazendo mesmo, usando o WebBrowser), se é necessário fazer login antes. Utilizo esse recurso em 2 sistemas para fazer login e obter dados em diferentes fornecedores. Note apenas que pode levar um tempo até que InnerHtml seja preenchido, de acordo com o carregamento da página. E repare também que esta propriedade existe para cada elemento da página, então vai depender de onde está o que você deseja, como, por exemplo em wb.Document.Body.InnerHtml, onde "wb" é o WebBrowser e você está pegando o código da tag BODY. Se você tiver o ID ou a tag do elemento que precisa, você pode usar os métodos GetElementById e GetElementsByTagName para obtê-los também (e talvez nem precisará desse processamento de strings do exemplo acima). E o método DownloadString a que você se refere é da classe WebClient, certo? Neste caso, você não tem como fazer o login, e o que será baixado é o código da página sem qualquer tipo de processamento (o que não vai rolar, já que você precisa fazer o login antes). Abraços!
  15. Sim, agora está mais claro. Então, na verdade o que você tem que limitar é a parte a ser extraída, ou seja, a substring. Se você não informar quantos caracteres você quer, este método pega dali em diante. E o IndexOf também pode ter um ponto de início. Veja: Dim posini, posfim As Integer Dim parte As String = "" Dim s As String = RichTextBox1.Text posini = s.IndexOf("ips.setSetting( 'date_format'") If posini >= 0 Then posfim = s.IndexOf(";", posini) If posfim > posini Then parte = s.Substring(posini, posfim - posini + 1) End If End If If parte.Contains("date_format") Then MessageBox.Show(parte) Else MessageBox.Show("Não contém") End If Abraços!
  16. Sim, use os métodos IndexOf para achar a posição de uma string em outra e depois Substring para pegar apenas uma parte. Abraços!
  17. Mas qual o erro que dá? Aparece algo como falta de DLL? Abraços!
  18. Experimente usar o evento Shown e veja se tem o mesmo problema (e se tem o efeito desejado). Agora, se a sua intenção é redimensionar os controles de acordo com o tamanho do form, o ideal seria definir a propriedade Anchor, de cada controle, para fazer esse ajuste automaticamente. Abraços!
  19. Provavelmente o problema está em onde esta função Redimensionar() está sendo chamada. Em qual parte (evento) você ativa a mesma? Abraços!
  20. O que você quer é isso aqui: set objShell = CreateObject("Shell.Application") Dim URL Dim StrLandesk StrLandesk = InputBox("Digite o ip da estação") URL = "http://" & StrLandesk & ":4343" objShell.ShellExecute "chrome.exe", URL, "", "", 1 Note que você precisa primeiro obter o que foi digitado (na linha do InputBox) para depois formar a string com o endereço. Abraços!
  21. Quando é assim eu geralmente olho pelo Chrome, usando o botão direito do mouse -> Inspecionar no elemento desejado. O que descobri é que é não há uma caixa de texto ali e sim uma DIV, com a propriedade contenteditable (o que permite que o conteúdo seja editável). Não sei se ajuda muito, mas já é um ponto de partida. Abraços!
  22. Isso aí, você pegou a ideia, assim também vai funcionar, mas tem uma falha aí no caso da pessoa fechar a janela (sem clicar no OK ou no Cancelar) e deverá entrar, não? Qual versão do Visual Studio você está usando? Experimente usar System.Windows.Forms.DialogResult no exemplo anterior. Abraços!
  23. Ao invés de usar Show(), você deveria usar ShowDialog() e retornar o resultado (se fez login ou não) para poder mostrar ou não o form principal, algo como: Me.Visible = False if jnlLogin.ShowDialog() = Windows.Forms.DialogResult.OK then Me.Visible = True else Application.Exit() endif Neste caso, o seu form de login deverá ter (no caso do login ter sucesso)... Me.DialogResult = DialogResult.Ok ... e (no caso de cancelamento): Me.DialogResult = Windows.Forms.DialogResult.Cancel Abraços!
  24. É bem provável que vá travar mesmo, afinal com 123456789 você manda ele fazer mais de 123 milhões de iterações. Mas você pode fazer algumas coisas para diminuir essa quantidade de iterações, mesmo com números grandes: 1) Coloque um... se contador > 2 então interrompa fimse ... dentro do seu para, pois assim que for encontrado mais de 2 divisores (contador>2) ele já vai imediatamente interromper o loop (e não precisará testar os outros 123 milhões). 2) Você pode testar se o número é par ou ímpar, já que sabe-se que o único primo par é 2, e todos os demais serão ímpares. Ou seja, logo de cara você já poderia descartar todos os pares diferentes de 2. 3) Você só precisa testar a divisão do número por todos os divisores até a raíz quadrada do próprio número (usando a função sqrt() ou raizq()). Para um número de 123456789 você testaria "apenas" até o divisor de 11111 (aproximadamente). Abraços!
  25. Já fez o teste tirando a parte da captura... #camera = picamera.PiCamera() #camera.capture('foto'+str(d)+'.jpg') ... e checando se ele entra no loop apenas uma vez... print("Tiraria a foto!") ... e se continua funcionando após isso? Abraços!
×
×
  • Criar Novo...