Ir para conteúdo
Fórum Script Brasil

Graymalkin

Veteranos
  • Total de itens

    8.257
  • Registro em

  • Última visita

Tudo que Graymalkin postou

  1. function exemplo(x) variavel = "executa comando" exemplo = variavel end function Seria isso? No VB6 (e anteriores) o retorno da função é feito através da atribuição do valor ao nome da própria. Abraços, Graymalkin
  2. Em que ramo de atividade você ouviu falar isso? Em geral, vejo esse termo sendo usado para designar prejuízos causados a bens segurados. Se bem que também pode significar algo que não está certo. Abraços, Graymalkin
  3. Você não precisa utilizar Call em situação nenhuma. É só mais uma das ambiguidades do VB. Mesmo para procedimentos que tem algum valor de retorno, você pode simplesmente fazer... rotina parâmetro1, parâmetro2 ... e o valor de retorno será descartado do mesmo jeito. E o mesmo vale para a função/sub estando ou não em um módulo. Não existe nenhuma situação que exiga o uso de Call, a não ser de ordem estética (os parâmetros da função/rotina ficam obrigatoriamente entre parênteses). Abraços, Graymalkin
  4. Não. O batch só chama os programas e pode até passar parâmetros para os mesmos, mas *não* tem a capacidade de controlá-los. Se por meio dos parâmetros o programa puder fazer o que você quer, tanto melhor. Infelizmente não sei se o Outlook possui tais recursos. Tanto melhor, então! Se você conhece ASP provavelmente conhece VBScript, não? Um arquivo VBScript é como um arquivo batch, no sentido de que pode ser executado, e tem a vantagem de poder fazer muito mais do que um batch. Inclusive o que você quer, enviar um e-mail. A biblioteca de que lhe falei na outra mensagem (Py.Sendmail) pode ser usada através de arquivos VBScript. Bastaria você criar um arquivo .vbs em qualquer lugar, com o seguinte conteúdo: Set k = CreateObject("Py.SendMail") k.SMTPServer = "smtp.servidor.com.br" k.To = "para@provedor.com.br" k.From = "de@provedor.com.br" k.Subject = "Assunto" k.Body = "Mensagem" k.AttachFile "c:\pasta\seuarquivo.extensão" k.Send Obviamente bastaria trocar os dados entre aspas por suas informações. Lembre-se também de dar uma olhada no arquivo texto que acompanha a biblioteca para instruções sobre como instalá-la. Com um duplo-clique sobre o arquivo criado, o programa será executado e enviará o e-mail. Abraços, Graymalkin
  5. Veja se é isso que você quer: Dim i As Integer Dim it As ListViewItem ListView1.View = View.Details ListView1.Columns.Add("Coluna", 1000, HorizontalAlignment.Left) For i = 0 To 100 it = ListView1.Items.Add("teste" & i) If (i Mod 2) = 0 Then it.BackColor = Color.Gray it.ForeColor = Color.Yellow End If Next i Execute o código acima em um form com uma ListView chamada "ListView1". Abraços, Graymalkin
  6. Você cria ali um OleDbCommand com um INSERT, porém em momento algum você o executa (o que deveria ser feito com o método ExecuteNonQuery() do mesmo). Não seria isso? Outra coisa ali é que eu acho que você deveria usar o evento IsPostBack ao invés do Page_Load. Dê uma olhada neste outro post: http://scriptbrasil.com.br/forum/index.php?showtopic=48284 Abraços, Graymalkin
  7. Use as rotinas para criação de arquivos textos e adicione quantos bytes (caracteres) você quiser. O exemplo abaixo cria um arquivo de 100 bytes: var t : textfile; i : integer; begin assignfile(t, 'c:\seuarquivo.www'); rewrite(t); for i:=1 to 100 do write(t, 'a'); closefile(t); end; Sacou? Graymalkin
  8. Graymalkin

    Dbcombo

    Esse DBCombo não estaria ligado no mesmo recordset ao qual você quer gravar, certo? Abraços, Graymalkin
  9. Dê uma olhada neste tutorial: http://desenvolvedores.net/modules.php?nam...order=0&thold=0 Abraços, Graymalkin
  10. Um arquivo bat sozinho não vai fazer isso. Tirando os testes condicionais e a capacidade de fazer um "loop", tudo que um arquivo batch faz é executar uma série de comandos/programas em uma ordem específica. No caso, o que você precisa é de um programa que envie um email, a partir da linha de comando, na qual serão passados os e-mails, o texto e o arquivo a ser anexado. Criei uma biblioteca que pode ser usada nesse caso (http://www.graymalkin.globalhosts.com.br/pysendmail.asp) e só seria necessário construir o programa que vai utilizá-la (o qual receberá as informações e passará para ela enviar o e-mail). Esse programa poderia ser chamado a partir de um arquivo bat (a fim de deixá-lo mais customizável). Você conhece alguma linguagem de programação? Isso não seria difícil de se fazer e exigiria poucos conhecimentos. Abraços, Graymalkin
  11. Basta declarar o evento assim: Public Event NOMEDOEVENTO(ARGUMENTOS) Note que é igual a declaração de uma função, porém sem a parte do código (e é claro, o "function" muda para "event"). Daí, quando for necessário que o evento seja chamado, você faz: RaiseEvent NOMEDOEVENTO(ARGUMENTOS) Note que em ambos os casos (declaração e chamada) os argumentos não são obrigatórios (você pode ter um evento sem argumentos, como é o evento Click da maioria dos controles). Abraços, Graymalkin
  12. Dê uma olhada neste exemplo simples com ADO: http://www.graymalkin.globalhosts.com.br/stuff/bd.zip Abraços, Graymalkin
  13. Experimente utilizar as funções de manipulação de arquivos texto, porém indicando a porta da impressora como arquivo. Exemplo: var imp : textfile; begin assignfile(imp, 'lpt1:'); rewrite(imp); writeln(imp, 'um teste'); writeln(imp, 'outro teste'); closefile(imp); end; Não testei aqui, mas acho que é isso. Abraços, Graymalkin
  14. O IsPostBack é executado quando a própria página chama a si mesma. Apesar de não especificado, o botão Submit chama a própria página ao ser clicado. Daí, o evento IsPostBack é executado. Note que a princípio a página só mostra a hora atual. Após o clique no botão ela mostra a hora e também a frase "Hello World!". Esse "s", geralmente vem representado como "sender", ou seja, "remetente". Porém, é mais propício chamá-lo de "chamador". Nele está uma referência ao objeto que chamou a rotina. Se, por exemplo, você quiser saber o que está escrito no botão que foi clicado e chamou aquele rotina, basta colocar (dentro dela): Response.Write(s.Text) E como, você já deve ter notado, o objeto "s" só existirá dentro daquela rotina. E esse parâmetro é declarado como Object porque esse é o tipo que pode representar qualquer objeto. Como não se pode precisar qual o objeto que chamará um determinado evento, deve-se usar Object, pois qualquer um cabe dentro dele. O objeto "e" representa todos os argumentos que um evento pode ter. Por exemplo, você tem um evento MouseDown (acho que isso não se aplica em ASP.NET, mas o conceito é mesmo) que é executado quando um botão do mouse é pressionado sobre o objeto. Então, você tem uma caixa de texto lá e quando você clica nela o evento é disparado. Mas, qual o botão do mouse foi clicado? O direito? O esquerdo? Em que posição do controle ele foi clicado? Todas as respostas estão em "e". Quando a rotina for chamada "e" automaticamente estará preenchido com estas informações: e.Button, que indica o botão; e.X, que indica a posição horizontal e e.Y que indica a posição vertical. Assim como "s", "e" também só existirá dentro da rotina. Certo? Abraços, Graymalkin
  15. Brother, aqui funfou legal. É claro que tive de mudar o caminho do banco de dados e os nomes dos campos (já que utilizei um banco de dados meu). Qual o erro apresentado aí? Abraços, Graymalkin
  16. Ah tá, sem problemas. Bom, no VB.NET eu faria assim: Dim cmd As New OleDb.OleDbCommand("SELECT Count(*) AS quantidade FROM tabela;", conn) Response.Write(cmd.ExecuteScalar()) Onde "conn" é um OleDbConnection previamente aberto. Abraços, Graymalkin
  17. Graymalkin

    Criar Tabela

    Dê uma procurada sobre a instrução SELECT INTO. Ela permite criar uma nova tabela a partir da estrutura de uma já existente. Conheço ela do mecanismo Jet (Access) e não sei se existe para outros motores. Abraços, Graymalkin
  18. Acho que entendi, mas não sei qual é a sua dúvida exatamente. De qualquer forma, dê uma lida neste post e veja se é o que você quer: http://scriptbrasil.com.br/forum/index.php?showtopic=45851 Abraços, Graymalkin
  19. Você nem ao menos tentou utilizar o código, né? Pois é só tirar o obj da frente. Quando se está no VBA é *implícito* que tudo vem de Word.Application. Portanto, se obj = Word.Application, basta você tirar o mesmo da linha, ou seja, ao invés de... qtpáginas = obj.Selection.Information(wdNumberOfPagesInDocument) ... você usará: qtpáginas = Selection.Information(wdNumberOfPagesInDocument) Dentro ou fora do Word, utilizar a programação via COM para controlar o aplicativo é *exatamente* a mesma. Tudo que você puder fazer via VBA dentro do Word poderá fazer fora pelo VB e vice-versa. No VB, não fazemos... set obj = CreateObject("Word.Application") ... ? Daria no mesmo se você fizesse, dentro do VBA: set obj = Word.Application Não há diferença nenhuma, apenas que no VBA você não precisa especificar o Word.Application porque ele já é implícito. Ah, e quando fiz o código, eu estava operando dentro do VBA no Word, exatamente onde você quer executá-lo. Ao transpor para cá é que coloquei o "obj" na frente, pois achei que você fosse utilizá-lo no VB. Mais uma prova de que não há diferenças. Abraços, Graymalkin
  20. Graymalkin

    Treeview

    Pela propriedade Parent do filho, que é uma referência ao nó pai. Abraços, Graymalkin
  21. No seu primeiro código você estava utilizando DAO, agora no segundo já está utilizando ADO. Afinal, qual dos dois você quer? Em relação ao erro que apareceu, foi porque você não especificou o objeto ADODB.Connection ao abrir a tabela. A linha... dtcomanda.Open ... deveria ser algo do tipo: dtcomanda.Open "tabela", cn, adopendynamic, adlockoptimistic Onde "cn" é um objeto ADODB.Connection que é criado para realizar a conexão com o banco de dados (o arquivo em si). Se quiser um exemplo de como se utiliza ADO, dê uma olhada neste aqui: http://www.graymalkin.globalhosts.com.br/stuff/bd.zip. O código está todo comentado. Abraços, Graymalkin
  22. Graymalkin

    Winsock

    Para o Winsock, dê uma olhada neste tutorial: http://desenvolvedores.net/modules.php?nam...=article&sid=27 Quanto a pegar a hora de um computador, você pode usar: shell "net time \\computador /set /yes" Com isso você acerta a data/hora do computador local de acordo com a data/hora do computador especificado ali ("\\computador"). Abraços, Graymalkin
  23. Você quer abrir uma janela de desconectar unidade de rede? Não serve só desconectar a unidade sem abrir janela alguma? . Se servir, acho que é só fazer: shell "net use x: /delete" Onde "x:" é a unidade a ser desconectada. Abraços, Graymalkin
  24. Graymalkin

    Vb - Me Ajudem!

    Não há um evento que funcione dessa maneira, mas você pode simplesmente tentar ler a chave e se não der certo é porque é a primeira que o programa está sendo executado. Veja: on error resume next v=Reg.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Programa\CArquivo") if err.number<>0 then msgbox "É a primeira vez!" Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Programa\CArquivo", VAR else msgbox "Não é a primeira vez!" endif on error goto 0 Entendeu? Ele vai tentar ler a chave, e se ele conseguir é porque não é a primeira vez que o programa está sendo executado (já que da primeira vez ele *grava* a chave). Se ele não conseguir ler ele exibirá a mensagem de que é a primeira vez e *gravará* a chave (para que das próximas vezes ele consiga ler e detectar que não é a primeira vez). Note que o valor lido pode nem te interessar, o que importa é saber se ele conseguiu ler ou não (o que sinaliza se é a primeira vez ou não). Seria isso? Abraços, Graymalkin
  25. http://gborg.postgresql.org/project/npgsql/projdisplay.php - Já deu uma olhada nisto? Nunca usei, mas é um provedor para .NET. Quanto a contar os registros, você pode usar a função Count() em uma SQL para isso. Ah, e vale lembrar que quando você falar de ASP.NET, deve especificar qual a linguagem sendo utilizada (C#, VB.NET, etc.), uma vez que o ASP.NET tem essa flexibilidade. Abraços, Graymalkin
×
×
  • Criar Novo...