Ir para conteúdo
Fórum Script Brasil

kuroi

Membros
  • Total de itens

    7.184
  • Registro em

  • Última visita

Tudo que kuroi postou

  1. kuroi

    VB e MS-DOS

    opa a dica do loop q eu tinha dado era pro findwindow, porque se você usar o shell e logo depois o findwindow, a janela demoraria algumas fracoes de segundo pra carregar, e o findwindow falharia se fosse executado antes de ela carregar. ai você podia usar um timer ou por em loop ate encontrar a janela. pro sendkeys acho q o jeito é com o timer mesmo. a não ser q o visual basic tenha alguma funcao tipo o delay() do pascal (q espera um determinado tempo pra continuar a execucao do codigo), mas nunca vi isso, sempre uso timer pra trabalhar com tempo. ou você tb pode por um loop q qualquer pra esperar um certo tempo. tipo, delcare a variavel x com valor 0, e enquanto for menor q, por exemplo 2000, vai somando 1. ai ele vai levar alguns segundos (ou milisegundos) pra chegar em 2000. pode parecer uma gambiarra, mas pelo menos o codigo fica mais simples, mas na verdade acho q é possivel q isso não funcione, porque ele estara executando codigo a todo momento, e o timer vai justamente dar um pause entre uma linha e outra. EDITADO: na epoca q escrevi isso, eu ainda não conhecia a funcao Sleep() da "kernel32". não testei aqui, mas se não me engano em algum outro tópico, um membro q não me lembro quem era comentou q funciona. ela é muito mais simples do q usar um timer: Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Sub Command1_Click() MsgBox "begin" Sleep 10000 'espera 10 segundos MsgBox "end" End Sub[/code] (codigo retirado de http://www.freevbcode.com/ShowCode.Asp?ID=7556)
  2. kuroi

    VB e MS-DOS

    provavelmente é isso q eu falei: provavelmente funciona quando o dos esta minimizado, porque como não precisa mostrar o caracter na tela, o tempo de processamento é menor. antes de usar o sendkeys tenta adicionar um timer de 1 segundo, e só chamar o sendkeys depois de um segundo e veja o q da. se não resolver, tente fazer o teste de enviar uma teclar por vez. sei la, ponha um timer e envie um caracter a cada meio segundo so de teste pra ver.
  3. hum, mas esse erro sera q ta relacionado mesmo com sql?? quando ele ocorre?? seria quando você executa alguma query?? poste ai o codigo da query, as informacoes sobre a tabela, etc.
  4. sei q esse tópico tem 4 anos, mas se alguém abrir e for ler, to dando a explicacao no meu modo de entender: na verdade acho q não é takezô não. a pronuncia é um poco parecida mas não é exatamente isso, o romaji correto do nome dele seria takezou (hiragana - たけぞう). o musashi (hiragana - むさし) é como se fosse com dois s em portugues (não é muzashi). e tb não é miamoto nem miamôto, o y do ya tb é pronunciado, seria miyamoto (hiragana - みやもと) mesmo e, pela sonoridade da pronuncia comum dos japoneses, geralmente fica mais parecido com miyamôto mesmo mas e o q acontece normalmente é q nas palavras em japones não existe silaba tonica, todas as silabas tem a mesma intensidade na palavra, a não ser em casos especifcos onde se usa sinal っ, q serve pra isso mesmo, pra intensificar uma certa sílaba como em zasshi (hiragana - ざっし, q significa revista) q o za seria mais ou menos uma silaba tonica mas tb nem é exatamente isso, tem um pronuncia meio q caracteristica. o q acontece q a sonoridade do japones é diferente do portugues. a pronuncia japonesa tem suas caracteristicas, e não da pra transformar em portugues. e se interessa a alguém, o ideograma (kanji) pra se escrever musashi é o mesmo de takezou (se não me engano é esse: 武蔵 - se algeum souber e estiver errado, me corrige). o kanji de miyamoto acho q é 宮本.
  5. opa, na verdade não precisaria de for. o q eu digo seria pra declarar la em cima, antes de qualquer sub, uma variavel, exemplo: Dim i As Integer no Form_Load você inicaliza ela com um valor, exemplo 1: i = 1 e antes de imprimir você testa, se for um poe o cabecalho: If i = 1 Then - Aqui imprime o cabecalho End If Open "LPT1" For Output As #1 Print #1, .TextMatrix(0, 0) & "-" & .TextMatrix(0, 1) & "-" & .TextMatrix(0, 2); Tab(0); .TextMatrix(.Rows - 1, 0) _ & "-" & .TextMatrix(.Rows - 1, 1) & "-" & .TextMatrix(.Rows - 1, 2) & "-" & .TextMatrix(.Rows - 1, 3) & "-" Close #1 i = i + 1 'Essa parte é a mais importante.[/code] bom, mas como parece q você não esta se preocupando em contar o numero de linhas, pra economizar codigo e processamento, você pode declarar a varaivel como boolean e mudar pra true dentro do if, mas você q sabe. ve se consegue fazer ai, qualquer coisa poste.
  6. hum, você pode declarar uma variavel no general e inicializar com o valor 1 no load do formulario. a cada linha q você imprimir você soma 1. se o valor da variavel for igual a 1 então você imprime o cabecalho. seria isso??
  7. acho melhor mover esse tópico pra delphi
  8. não entendi direito. você imprime o grid inteiro?? nesse evento você so imprime uma linha. você ta imprimindo uma por vez?? então como assim você quer por o cabecalho so na primeira, se você ta imprimindo so uma??
  9. cara tem um subforum exclusivo pra topicos sobre VBA. quando tiver duvidas sobre o assunto, poste la, beleza?? esse tópico to movendo pra la.
  10. patricia, coloque o evento no click do primeiro combo. pegue o valor selecionado do combo pela propriedade Text (ou pegue o indice pelo ListIndex). e ai pra você pode usar o metodo Clear() pra limpar o segundo combo e o AddItem() pra adicionar os valores q você quiser. veja se consegue fazer, qualquer coisa poste.
  11. estranho, todas as vezes q vi isso acontecer, isso aqui sempre resolvia: tem certeza q esta selecionado Can Grow?? tente dar uma olhada na opcao Keep Object Together do SubReport então. tenta ver como fica com ela checada e com ela deschecada. tente ver então tb a opcao Keep Together da section. quis dizer criar uma secion no report principal. tipo insira uma Group Footer B e la dentro ponha o subreport e mais nd alem dele. qualquer coisa, poste um printscreen do seu report no design e um print no preview apontando o problema, pra ver se a gente aqui consegue descobrir.
  12. kuroi

    Texto Padrão ao Inserir Linhas

    não entendi porque tem q ser por vba. se você simplesmente copiar o codigo e colar na outra coluna (ou arrastar a selecao de modo q ele copie automaticamente pra qtas colunas você quiser) não vai funcionar o q você quer??
  13. kuroi

    FORMULÁRIO NÃO ENXERGA

    insira um Módulo (no painel na esquerda onde fica a lista de formularios, clique com o botao direito e selecione Inserir -> Módulo). dentro do module, declare essa variavel q recebera o valor da inputbox como public. exemplo: Public var As String desse modo ela é enxergada por todos os formularios, e se o valor dela for alterado em um deles, quando você for pegar no outro, o valor vai estar alterado.
  14. kuroi

    Problemas Com Formatação

    tópico fechado. pra dar continuidade a ele, poste aqui: http://scriptbrasil.com.br/forum/index.php?showtopic=124718
  15. kuroi

    POPUP

    o q é esse popup?? uma pagina da web?? ou é um outro formulario??
  16. você teria q fazer um select separado com a funcao Sum. tipo assim: jSQL = "SELECT Sum(Valor) As Soma FROM [Financeiro] WHERE operacao LIKE '" & Jcriterio _& " ORDER BY datalancamento" no dbgrid não tenho certeza se da não, mas você pode usar o MsFlexGrid ou o MsHFlexGrid. tem exemplos no forum de como usar e inclusive de como mudar a cor tb. mas qualquer duvida, poste ai.
  17. kuroi

    Criar uma Dll COM

    consigo criar dlls em c++ com funcoes declaradas e consigo usar as funcoes em outras linguagens, como visual basic por exemplo. mas agora queria criar uma dll que contenham as classes q eu possa criar os objetos no visual basic por exemplo. tipo, q eu consiga registrar e etc. alguém tem alguma fica de como fazer isso?? da pra fazer no dev c++?? não encontrei nenhum tutorial sobre isso nd...
  18. kuroi

    Ajuda em SQL Server

    e se você fizer?? Update Tabela Set b = c, c = '' Where campo = codigo
  19. ate pouco tempo atras era so ate terrabyte mesmo. os outros tiveram q ser inventados pra calcular o tamanho do servidor da google.
  20. kuroi

    VB e MS-DOS

    bom, eu tinha pensado em você escrever o bat em por codigo visual basic, e abrir o bat com o runas. apesar q você tinha dito q não queria usar bat, entenda q dessa forma você pode fazer "como se o bat não existisse". você escreve o bat, salva temporariamente, roda e apaga. acho q seria mais "bem-feito" do que digitar o texto todo na janela, entende?? principalmente se forem varios comandos. a ideia q eu tinha passado do sendmessage era só para a senha, q ele pediria no runas. a e entenda tb q nunca tentei usar o runas. aqui no meu pc, só existe um usuario, q é o admin (e sem senha) e não da pra testar, então não posso te dar mta ajuda nos procedimentos do runas, mas se ele ta pedindo a senha, dei a ideia de como você digitar a senha. o codigo pode acabar ficando simples ou complicado, dependendo exatamente do q você precisa e como você implementar, mas da pra dexar funcionando legalzinho se for bem trabalhado, alem de q nem vai ser tão complexo quanto parece. bom o graymalkin tinha os exemplos certinhos la. mas pra usar o FindWindow, você faz assim ó: Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long aqui na janela do dos aparece escrtio, no titulo, o texto C:\WINDOWS\system32\cmd.exe então é esse q você vai procurar (note q ele adiciona o nome do bat tb no titulo da janela, ai você tem q ver certinho como vai ficar o nome da janela): hWindow = FindWindow(vbNullString, "C:\WINDOWS\system32\cmd.exe") o FindWindow vai gravar o enderco da janela na variavel hWIndow, entendeu?? assim, sempre q você precisar acessar a janela, você vai passar esse endereco. mas tipo, não use o FindWindow imediatamente depois de abrir a janela, pois normalmente demora-se algumas fracoes de segundo pra ela aparecer. ou você pode o FindWindow num loop ate ele achar a janela (se o hWindow for <> 0 significa q achou), ou habilita um timer e espera 1 ou 2 segundos pra chamar o FindWindow. bom, tem um problema q eu não tinha previsto quando postei antes. se você mandar o sendmessage com o settext com o hwnd da janela ele vai escrever no titulo da janela. normalmente, a gente procura o hwnd de um textbox e escreve nele. mas na janela do dos fica dificil, testei e não consegui de nenhum jeito aqui. não sei se você encontrou alguma forma, mas isso não tem mta importancia, porque existe um modo 1.123.098.034 de vezes mais simples do q o sendmessage: você pode simplesmente por o foco na janela e usar o SendKeys, é bem menos complexo. é só colocar foco na janela do dos e mandar o texto. você pode abrir com o shell com o vbFocus no segundo parametro e se você ajeitar certinho, talvez nem do FindWindow você precise, mas se você tiver problemas com o foco, pode usar a API: Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long se você fizer: SetForegroundWindow hWindow ele coloca a janela em foco (lembre-se q o hWindow você vai achar pelo FindWindow). ai mande o texto tipo: SendKeys "senha" e pra mandar o enter: SendKeys "{ENTER}" o unico problema q você pode ter com o SendKeys é com tempo, tipo, seu programa pode estar executando codigos antes da janela ter recebido o texto, nesse caso você pode ter q adicionar um timer, mas se você conseguir implementar certinho, é pra funcionar sem problemas. ai se precisar esconder a janela, pode usar a api: Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Boolean ShowWindow hWindow, 0 'Isso esconde ShowWindow hWindow, 5 'Isso mostra[/code] e pode ficar tranquilo q tanto o SetForegroundWindow quanto o SendKeys funcionam com a janela escondida. bom, não sei quanto a parte do runas, e de digitar a senha, tudo, mas pelo menos pra escrever o texto na janela esta tudo testado aqui e funcionou certinho. então se você tiver problemas nessa parte, muito provavelmente é o esquema do timer, ai qualquer coisa poste ai. e se você conseguir manejar foco certinho, tlavez nem precise das apis. ve se deu pra entender ai e se você consegue fazer, qualquer coisa poste. EDITADO: nos proximos dois dias, vai ser meio dificil de eu entrar no forum, entoa não tenha pressa pras respostas, beleza??
  21. cara, a sua conexao SqlConexao deve estar fechada por isso o erro. você tem q abrir a conexao (com o metodo Open) pra poder abrir o RecordSet.
  22. hum, não sei se no 2007 então for diferente. tente usar VBA.Chr()
  23. não entendi. a animacao esta em powerpoint ou em flash?? e onde entra o visual basic na historia?? a animacao esta sendo mostrada num programa em visual basic??
  24. hum, as datas não teriam q estar entre aspa?? tipo assim: sql = "SELECT * FROM registro WHERE data1 BETWEEN '" & Format(stra, "yyyy-mm-dd") & "' AND '" & Format(strb, "yyyy-mm-dd") & "'"
×
×
  • Criar Novo...