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

    Macro autoexecutavél

    movido pra vba. agora "não funciona" pode significar 1000 coisas, explique melhor.
  2. no cmd, você usario && e não &. mas pra ler o conteudo do q você executou no cmd, você pode gravar num txt e depois abrir pelo vb6: Shell "ping 127.0.0.1 > C:\x.txt" agora, não entendi a parte de mostrar mantendo a formatacao...
  3. kuroi

    Shell no VB6

    hum, mas esse powershell consegue executar scripts a partir de um arquivo, não?? não precisaria ser dentro do cmd. mas se você deseja fazer assim, de uma olhada nesse tópico q tem td q você precisa saber: http://scriptbrasil.com.br/forum/index.php?showtopic=124445
  4. ai você só definiu o tipo, não criou a variavel. ponha Public Type no module pra poder declarar em qualquer lugar. ai você pode declara a variavel assim: Dim x As Tipagem x.vNome = "kuroi" x.vCod = 1 'etc[/code] Sub e Function são pra declaracao de procedimentos, sendo q existem tb propriedades (Property) e eventos (Event), usados normalmente dentro de classes (num Class Module) ou controles (num User Control). agora quanto a outros tipos de estruturas, tb não conheco nenhum guia... alem de Type, só to me lembrando agora de Enum, q serve pra declarar varias constantes numericas dentro de uma estutura: [code]Enum numeros um = 1 dois = 2 tres = 3 End Enum num = numeros.um num = um 'assim tb funciona
  5. você não adicionou a commondialog no formulario. procure ela na caixa de ferramentas e se não encontrar, adicione o componente Microsoft Common Dialog Control em menu Ferramentas -> Controles adicionais...
  6. fique de olho na sala onde você posta. esse aqui é "sugestoes e criticas", não tem nd a ver com php, vou mover ao lugar certo.
  7. acho q o problema não é em declarar. o erro deve ta é aqui onde você tenta gravar valor nela como se fosse uma variavel inteira: scanf("%d",&bn); tente com %s: scanf("%s", bn);
  8. kuroi

    Agenda - ótima

    parece q ele ate edita, só q você tem q digitar tudo de novo. e parece q não da pra excluir mesmo. na verdade, esse codigo ta é muito muito ruim, o melhor é você esquecer isso ai... se for pra mexer no codigo, o melhor seria você fazer um novo desde o comeco, não é tão dificil assim. ele grava esses dados num arquivo texto (chamado "address.dat"). faz uma busca por tutoriais de arquivos texto no vb6. aqui tem um bom: http://www.macoratti.net/txt_arqs.htm apesar de q esse tutorial é pra trabalhar com arquivos texto em conjunto com banco de dados, e pelo q eu entendi, sua intencao é não usar bancos de dados, o tutorial tem todos os fundamentos de q você precisa pra ler o arquivo texto. e aqui um outro tutorial bem detalhado sobre o assunto (em ingles): http://www.dreamincode.net/forums/topic/29...quential-files/ ou faca umas buscas no google pra ver se encontra outros. ai a medida q você for tendo duvidas, vai postando ai.
  9. hum, olha o codigo do onclick quando você só usou aspa simples: onclick='return verifica('$msg')'> como eu seu onde termina o atributo onclick?? o navegador, quando for interpertar o hmtl, vai pensar q o onclick é só isso: onclick='return verifica(' e vai achar q o q tem depois é sujeira. o problema é q ele tava confundindo as aspas q delimitam o atributo com as aspas q fazer parte do valor do atributo (do texto dentro dele). agora, se eu usar aspa dupla pra delimitar o valor do atributo, no html, não vai haver conflito com as aspas simples de dentro: onclick="return verifica('$msg')"> e mais ou menos a mesma coisa no php. imagina q você queira usar um echo pra escrever o codigo q passei logo acima, ficaria tipo assim: echo "onclick="return verifica('$msg')">" e ai, onde acaba o texto passado para o echo?? o php entenderia q o echo seria só isso: echo "onclick=" e entenderia o resto como erro de codigo. agora, pra contornar isso, se digitarmos \", o php entende q aquilo é uma aspa q faz parte do texto e não o delimitador da string: echo "onclick=\"return verifica('$msg')\">" agora, quanto a essa outra funcao q você disse q funcionou, não sei direito. passe mais detalhes, ou o codigo q você usou pra gente ver se entende exatamente o q era.
  10. você ta usando aspa simples tanto no codigo html quanto no javascript, ai acho q quando você abre a aspa dentro do javascript ele pensa é q você ta fechando o valor do atributo do html. use aspa dupla pro html: <a href="cliente_alterar.php?acao=bloquear&id=$id&bloqueio=$bloquear" onclick="return verifica('$msg')">$icone</a> mas não entendi direito o q você quer fazer. entenda q não da pra misturar o javascript com php. o php é executado no servidor ANTES da pagina carregar. o javascript é executado no navegador DEPOIS da pagina ter sido carregada. como o javascript faz parte do codigo html q é escrito pelo php, antes da pagina carregar você pode então usar o php pra escrever o codigo javascript q vai ser executado no navegador. mas o javascript não pode chamar diretamente uma funcao q esteja no php. caso precise fazer isso, você tera q usar ajax. não sei se é exatamente isso q você tava tentando fazer, mas achei melhor passar essa explicacao. EDITADO: olhando com mais atencao, acho q entendi o q você quer. acho q o problema são as aspas mesmo. no php, na hora de escrever a funcao, faca assim e veja se não funciona: echo " <tr BGCOLOR=#FFFFCC> <td><font face=Arial size=-2><b>". $id ."</b></font></td> <td><font face=Arial size=-2><b>". $cnpj ."</b></font></td> <td><font face=Arial size=-2><b>". $razaosocial ."</b></font></td> <td><font face=Arial size=-2><b>". $cpf ."</b></font></td> <td><font face=Arial size=-2><b>". $nome ."</b></font></td> <td><font face=Arial size=-2><b>". $responsa ."</b></font></td> <td align=\"center\"><a href=\"cliente_alterar.php?acao=alterar&id=$id\"><img border=0 src=figuras/alterar.ico></a></td> <td align=\"center\"><a href=\"cliente_alterar.php?acao=bloqueia&id=$id&bloqueio=$bloquear\" onclick=\"return verifica('$msg')\">$icone</a></td> </tr> ";[/code]
  11. mas você tem q considerar a estutura do arquivo?? tipo, você teria q procurar numa posicao especifica?? se você simplesmente quiser saber se a palavra existe dentro do arquivo, você vai usando um InStr() em cada linha ate encontrar: http://scriptbrasil.com.br/forum/index.php...st&p=617373
  12. hum, mas esse if deveria funcionar sim... hum, olhando o seu for, você esta comecando a partir do segundo item, tb... o certo seria comecar no 0. fora isso, vamos tentar especificando a propriedade .Text no ListItem: For x1 = 0 To lsvListaCompra.ListItems.Count - 1 If (InStr(1, UCase(lsvListaCompra.ListItems(x1).Text), UCase(string1), vbBinaryCompare) <> 0 Or InStr(1, UCase(lsvListaCompra.ListItems(x1).Text), UCase(string2), vbBinaryCompare) <> 0 Or InStr(1, UCase(lsvListaCompra.ListItems(x1).Text), UCase(string3), vbBinaryCompare) <> 0) Then temProdEspecial = True End If Next[/code] mas por acaso o seu listview tem varias colunas?? se for o caso, ai o codigo é otro ne. você teria q especificar em qual coluna quer buscar (ou se quiser buscar em todas, usar um outro for dentro desse q percorra as colunas).
  13. não acho q seja possivel no crystal, moverei para delphi.
  14. hum... como faz tempo q não mexo com essas coisas, posso acabar falando besteira... mas esse codigo do foreach ta dentro do void PrintPage() certo?? olha, eu li por ai q o e.HasMorePages funciona da seguinte maneira: ocorre o evento PrintPage() e ele imprime uma pagina. quando chegar no final (somente quando chegar no final), ele vai ler o e.HasMorePages. se ele for true, ele chama o evento de novo pra imprimir a proxima pagina. se for false, ele não imprime e acaba a impressao. então, não vai funcionar se você colocar dentro do foreach. você teria q imprimir uma pagina uma unica vez dentro do PrintPage(). ai você seta o e.HasMorePages = true e ai ele volta e imprime a proxima. se ficar dentro do foreach não vai funcionar mesmo. mas tb não entendi como você esta usando o PrintPageEventArgs dentro dessas duas funcoes... acho q o certo seria você declarar assim: void ImpressaoVerso(object sender, PrintPageEventArgs ev) { /* codigo */ } void ImpressaoFrente(object sender, PrintPageEventArgs ev) { /* codigo */ }[/code] ai o codigo do multiprint deve funcionar... o codigo anterior, tb acho q, se você declarasse as funcoes como passei acima, deveria funcionar mais ou menos assim: [code]void Imprime() //ai você chama essa funcao a partir de onde quiser, um clique de botao, etc { /* aqui você declara as variaveis, tipo a contPaginas e poe os outros codigos q você quiser. */ foreach (datadgridviewrow dr in ds) { pd.PrintPage += new PrintPageEventHandler(this.ImpressaoVerso); //pd é o nome do seu PrintDocument pd.Print(); contPaginas++; if (contPaginas > totalPaginas) return; pd.PrintPage += new PrintPageEventHandler(this.ImpressaoFrente); //pd é o nome do seu PrintDocument pd.Print(); contPaginas++; if (contPaginas > totalPaginas) return; } } ai você seta o e.HasMorePages = false dentro de impressaoverso e impressaofrente. veja ai se os codigos ajudam...
  15. kuroi

    Editar Linha

    não entendi.
  16. lucas, acontece q, basicamente, todo array é um ponteiro. se você declarou o z como char*, ele aponta pra uma area especifica da memoria. quando você tentar ler os dados armazenados nessa area (como char*), ele vai ler todos os carateres ate chegar no caracter 0 q delimita o final da string. por isso, funciona tb como se fosse um array de char, q declaramos como char[tamanho] por exemplo. agora, só q acontece q tem q ficar de olho na alocacao de memoria. se você declarar a variavel como char* ela é inicializada apontando pra um espaco de memoria qualquer e você não sabe o q tem la. a não ser q vc, posteriormente aponte-o pra um lugar onde você saiba q existe alguma string, ou caso você aloque dinamicamente algum espaco pra ele apontar, você não deve tentar acessar os dados da area pra onde ele esta apontando, porque você simplesmente não sabe onde é. pode ser qualquer lugar, inclusive areas de memórias reservadas pra outros programas, o q vai causar o seu programa a ser fechado, caso você tente acessar.
  17. acho q é isso q você quer não?? If (InStr(1, UCase(lsvListaCompra.ListItems(x1)), UCase(string1), vbBinaryCompare) <> 0 Or InStr(1, UCase(lsvListaCompra.ListItems(x1)), UCase(string2), vbBinaryCompare) <> 0 Or InStr(1, UCase(lsvListaCompra.ListItems(x1)), UCase(string3), vbBinaryCompare) <> 0) Then
  18. andre, esse codigo esta dentro do evento PrintPage(), certo?? o certo então, seria você imprimir cada pagina a cada passagem do PrintPage() e não imprimir duas paginas na mesma passagem. o q tem nas funcoes ImpressaoVerso() e ImpressaoFrente()?? quem gerencia os lados da pagina é a sua propria impressora. desde q você selecione pra imprimir frente e verso, ela vai alternando automaticamente, você não precisa controlar isso. o certo seria a cada passagem no PrintPage(), q você chamasse somente a funcao ImpressaoVerso() ou só a ImpressaoFrente(), mas não as duas. você pode fazer um contador, ou mesmo usar o contPaginas. exemplo, quando ela for impar você imprime no verso, quando for par imprime na frente. ai no final, você coloca o e.HasMorePages = true; ate q o seu dataset chegue no final, veja se não funciona ai. EDITADO: cheguei atrasado. não conheco a classe MultiPrintDocument, mas acho q daria pra fazer com a PrintDocument, mesmo... o q exatamente tem dentro das suas funcoes ImpressaoVerso() e ImpressaoFrente()??
  19. wilherme, q banco de dados você usa?? acho q na verdade, ele deve ta gravando certo com esse codigo q você usa, mas na hora q você abre no banco, ele só mostra a primeira linha, exatamente porque cada registro só ocupa o tamanho de uma linha. no access por exemplo, se você aumentar o tamanho da linha na vertical, você vai ver o conteudo do campo todo, e a linha debaxo deve estar la. ou se você ler o registro no seu programa e mostrar no formulario, ele deve mostrar as duas linha, não??
  20. isso não é visual basic e sim visual basic .net. vou mover pro lugar certo. agora você quer gravar dois registros no banco, ou quer gravar um só, mas q quer q aparecam as duas empresas no mesmo campo no mesmo registro??
  21. use a funcao strcpy(): http://www.cplusplus.com/reference/clibrary/cstring/strcpy/ mas se você declarar x como char, ele só vai poder guardar 1 caractere. você teria q alocar como um ponteiro e alocar o espaco pra guardar. melhor como declarar como array, com o espaco já alocado, como esta no exemplo do link. agora, pela mensagem de erro q você passou, parece q você não ta é declarando a struct corretamente. poste o codigo q você usou.
  22. Shell "net send " & ip73 & " " & msgp ???
  23. só conheco esse jeito, como você queria fazer?? se for em tempo de execucao, parece q não da pra adicionar um novo item como controle (aquele codigo do Controls.Add()), tentei e ele não aceita o objeto Menu. da pra setar o item do menu como array (preenchendo o Index dentro do Menu Editor), e se você chamar o Load(), ele vai adicionar uma nova opcao, mas não encontrei modos de muda-lo de lugar (de dentro de uma opcao para fora ou para dentro de outra), nem de adicionar subitens. mas sempre tem metodos alternativos ne. pesquisando, encontrei esse tutorial bem legal aqui: http://vbtuga.blogspot.com/2008/04/vb6-cri...s-dinmicos.html
  24. não precisa de api não. a parte do menu esta aqui: http://scriptbrasil.com.br/forum/index.php?showtopic=71250 você vai saber a linha e a coluna q foram clicadas pelas propriedades .MouseCol e .MouseRow. um exemplo como eu faria: Private Sub p_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = 2 Then 'botao direito p.Col = p.MouseCol p.Row = p.MouseRow p.SetFocus PopupMenu xxx, , p.Left + x, p.Top + y End If End Sub[/code] aqui, p é o nome do flexgrid e xxx o nome do menu. se você criar o menu xxx (clique com o botao direito no formulario na tela de design e selecione Menu Editor...), com as subopcoes q você quer, e deixa-lo como Visible False, você pode usar esse codigo, e no clique dos submenus, chamar as rotinas q você quiser (Alterar, Excluir, etc.)
×
×
  • Criar Novo...