-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Que eu saiba não há uma maneira de desabilitar isso. Até porque isso foi criado com o propósito de impedir que worms se espalhem por aí usando seu email. Entretanto, talvez seja possível "burlar" isso fazendo com que o "Sim" seja pressionado automaticamente. Se você mexe com API do Windows, dê uma olhada nas APIs FindWindow, FindWindowEx e SendMessage, pois acho que elas serão úteis para fazer isso. Abraços, Graymalkin
-
Vai depender muito do que tem no conteúdo dele. Uma idéia seria fazer como falei no exemplo anterior (colocar o código entre <% e %>) mudando o .html para .asp e deixando em um servidor ASP. Daí, você chamaria a página normalmente. Abraços, Graymalkin
-
Sim, de fato o método Execute() do Connection retorna um Recordset, portanto quando você faz uma query e tem um objeto para lidar com os dados, ele é um Recordset. Portanto, tanto faz fazer... cn.Open "... rs.Open "...", cn ... ou somente: cn.Open "... set rs = cn.Execute("...") Em ambos os casos, você estará criando um Recordset em "rs". E sim, você pode usar um Recordset sozinho, sem um Connection. Se você especificar um arquivo no método Open (é claro que deve ser um arquivo que tenha sido previamente salvo com o método Save no formato XML ou ADTG), você terá os dados populados no Recordset como se tivessem sido provenientes de uma tabela. Abraços, Graymalkin
-
Complementando a resposta do Aragorn13 (aliás, porque você odeia o seu nick?!), o VBScript pode ser usado tanto isoladamente quanto em conjunto com ASP (talvez outros servidores também o suportem). No caso do ASP, em qualquer página HTML que você queira que algum código seja executado, você coloca o código entre <% e %> ou na tag <script />. Exemplo: <% nome = "aslira" Response.Write("Olá, " & nome %> É claro que existem alguns pormenores no caso, mas se você der uma pesquisada pode achar vários exemplos. Abraços, Graymalkin
-
A maioria dos controles que o Delphi tem o VB também tem. A diferença é que no primeiro os controles já são padrões enquanto que no VB precisa-se fazer referências aos mesmos. No entanto, existem alguns que realmente não existem no VB (a não ser que alguém já tenha feito) como o RadioGroup (tem também um que é para checkboxes no mesmo estilo), por exemplo. Infelizmente esse foi o único exemplo que meio veio a mente no momento (estou sem Delphi aqui) mas se lembrar de outro te falo. Abraços, Graymalkin
-
Só uma dica: quando for assim, vá no menu Ferramentas->Macro e escolha Gravar Nova Macro. Daí, enquanto estiver gravando faça o que você quer com qualquer célula. Após terminar, clique no botão de stop da barra flutuante que apareceu anteriormente. Em seguida, aperte ALT+F11 (ou vá pelo menu) para chegar ao ambiente do VBA. Estando lá, vá no módulo que deverá estar do lado esquerdo da tela (onde fica o projeto) e lá estará o código que é usado para fazer o que você gravou na macro. Em suma, ele escreve o código para você. Obviamente, esse código pode ser usado a partir do VB. Abraços, Graymalkin
-
Sim, você pode associar uma determinada extensão ao seu programa. Como exemplo, segue a parte do XPlayer que associa a extensão .mp3 a ele. Adicione também o módulo Registro.bas ao projeto para poder executar o código abaixo. 'Programa e descrição sKeyName = "XPlayer" sKeyValue = "MP3 Song" Registro.SaveString HKEY_CLASSES_ROOT, sKeyName, "", sKeyValue '.mp3 sKeyName = ".mp3" sKeyValue = "XPlayer" Registro.SaveString HKEY_CLASSES_ROOT, sKeyName, "", sKeyValue 'open sKeyName = "XPlayer\shell\open\command" sKeyValue = Chr$(34) & GetDir() & "\XLaunch.exe" & Chr$(34) & " %1" Registro.SaveString HKEY_CLASSES_ROOT, sKeyName, "", sKeyValue 'Ícone sKeyName = "XPlayer\DefaultIcon" sKeyValue = GetDir() & "\XPlayer.exe,-1" Registro.SaveString HKEY_CLASSES_ROOT, sKeyName, "", sKeyValue SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0 Adicione as declarações abaixo também num módulo: 'API's e Constantes para a associação Public Declare Sub SHChangeNotify Lib "shell32.dll" (ByVal wEventId As Long, ByVal uFlags As Long, dwItem1 As Any, dwItem2 As Any) Public Const HKEY_CLASSES_ROOT = &H80000000 Public Const MAX_PATH = 260& Public Const REG_SZ = 1 Public Const SHCNE_ASSOCCHANGED = &H8000000 Public Const SHCNF_IDLIST = &H0& Abraços, Graymalkin
-
Fica assim não. Isso é assim mesmo. As vezes isso também ocorre comigo com frequência. Daí, apago tudo e começo a fazer de novo. E, se ainda não consigo, deixo pra lá. Daí, após algum tempo (dias, semanas, meses ou anos (?)), inevitavelmente acabo tentando fazer de novo, e quase sempre tenho sucesso. Abraços, Graymalkin
-
Realmente, foi só tirar os On Error Resume Next que ele me revelou diversos erros. Um deles é que havia referência a um vetor chamado Vars que não havia sido declarado em lugar algum. O outro problema é que ao detectar que não existe nada em Vars o índice do primeiro item deveria ser explicitamente 0, depois é que deveria ser UBound(Var) + 1. Segue o cógido todo: 'No form: Dim sintax As New BMain Private Sub Form_Load() Text1.Text = "v#teste, teste1" & vbCrLf & "showVar=List1" End Sub Private Sub ver_Click() Dim lines() As String lines() = Split(Text1.Text, vbCrLf) For i = LBound(lines) To UBound(lines) sintax.interpretador (lines(i)) Next i End Sub 'Na BMain Dim Var() As VarType Private Type VarType nome As String valor As Variant End Type Public Function interpretador(linha As String) 'On Error Resume Next 'Para variáveis: Dim stringa As String, pdivVars() As String 'Dim listName As Object If Left(linha, 2) = "V#" Or Left(linha, 2) = "v#" Then stringa = Split(linha, "#")(1) pdivVars() = Split(stringa, ", ") Call guarda_vars(pdivVars()) End If 'If Left(linha, 7) = "showVar" Then ' stringa = Split(linha, "=")(1) ' listName = stringa ' Call mostrar(listName) 'End If End Function Public Function guarda_vars(nome() As String) Dim unk On Error Resume Next unk = UBound(Var) erro = Err.Number On Error GoTo 0 If erro = 9 Then For i = LBound(nome) To UBound(nome) If i = 0 Then n = 0 Else n = UBound(Var) + 1 End If ReDim Preserve Var(n) Var(n).nome = nome(i) Next i Else For i = LBound(nome) To UBound(nome) Var(i).nome = nome(i) Next i End If End Function Public Function mostrar(list As Object) For i = LBound(Var) To UBound(Var) list.AddItem (Var(i).nome) Next i End Function Ah, e o ShowVar nunca vai funcionar desse jeito. Não há como executar códigos dinâmicamente no VB (infelizmente, ), portanto não há como relacionar string "List1" com o objeto List1 existente no form. A não ser, é claro que você faça isso de forma explícita (supondo que sNome é uma variável string que tem o nome do objeto que você quer): if sNome = "List1" then set obj = List1 elseif sNome = "List2" then set obj = List2 endif Abraços, Graymalkin
-
Tira o "On Error Resume Next". Talvez por isso você não esteja vendo o erro. Abraços, Graymalkin
-
Certo... Mas acho que tu passaste o post errado brother....acho que esse seria mais apropriado: http://scriptbrasil.com.br/forum/index.php...8589&hl=binário Abraços, William Rodrigues Não, a intenção dele é: Portanto, não interessa salvar em binário para ele. E naquele post tratamos sobre criptografia nas últimas mensagens (que é o interessante para ele). Abraços, Graymalkin
-
Leia de novo: . Portanto, basta você fazer: ToolBar1.Buttons(2).Enabled = True A linha acima é a transcrição da frase que coloquei na mensagem anterior. Se Buttons é uma coleção, então cada elemento que faz parte da coleção é um objeto do tipo Button que por sua vez tem seus próprios métodos e/ou propriedades. Abraços, Graymalkin
-
Dá uma olhada nesse post: http://scriptbrasil.com.br/forum/index.php?showtopic=30195. Ambas as alternativas, ASP ou automação do IE, devem servir para o seu caso se for o que entendi. Abraços, Graymalkin PS: Por que o nome do tópico é "Clicks Com Mouse"?
-
Sim, com a propriedade Enabled do objeto Button que está na coleção Buttons. Abraços, Graymalkin
-
Arquivos binários só representam números de outra maneira, strings permanecem intactas. Todavia, acho que esse post pode te ajudar: http://scriptbrasil.com.br/forum/index.php...topic=23059&hl= Abraços, Graymalkin
-
Ah tá. Então você pode fazer assim: Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Caption Case "teste1" MsgBox "Primeiro botão!" Case "teste2" MsgBox "Segundo botão!" End Select End Sub É claro que, ao invés de usar a propriedade Caption, você pode usar a propriedade Index e identificar os botões por seus índices. Aí fica a seu critério. Abraços, Graymalkin
-
E, para quem usa Windows, recomendo o editor PythonWin que acompanha o pacote Win32 Extensions (http://starship.python.net/crew/mhammond/w.../Downloads.html). Abraços, Graymalkin
-
Necessariamente você não precisa criar os botões por código, basta clicar com o botão direito na Toolbar e escolher "Properties", daí criar os botões na aba Buttons da janela que surgiu. No entanto, se sua vontade é mesmo criar os botões por código, você pode fazer da seguinte maneira: Toolbar1.ImageList = ImageList1 Toolbar1.Buttons.Add , , "teste", , 1 Toolbar1.Buttons.Add , , "teste2", , 2 O código acima supõe que você tem também uma ImageList que contém duas imagens (de índices 1 e 2). Abraços, Graymalkin
-
Seu código está correto. Fiz o teste aqui. De qualquer forma, experimente chamar a rotina assim: Configurar_Grid MSFlexGrid1 Ao invés de usar "Call...". Abraços, Graymalkin
-
Para o caso do alinhamento, dê uma olhada na propriedade CellAlignment. Abraços, Graymalkin
-
A idéia seria algo assim: Printer.ScaleMode = vbmilimeters Printer.CurrentX = 50 Printer.CurrentY = 50 Printer.Print text1.text Printer.Enddoc Abraços, Graymalkin
-
Da primeira maneira que você tentou dá certo, apenas você não deve ter colocado o Exit Sub para impedir que ele passe na rotina de tratamento de erro sem que realmente tenha ocorrido um, exemplo: On Error GoTo trataerro cn.execute "insert into ...." exit sub trataerro: cn.execute "insert into" 'aqui outro insert erro=1 Abraços, Graymalkin
-
Na seguinte linha... rst.open "Select form cliente where CodigoCliente = " & val(txt_S_Escolha.text) ... falta especificar o objeto Connection (ADODB.Connection) que deve ter sido aberto na rotina "Conectar". É o segundo parâmetro do método Open do ADODB.Recordset. Abraços, Graymalkin
-
Usando as propriedades CurrentX e CurrentY do objeto Printer, além de definir a propriedade ScaleMode para milímetros. Abraços, Graymalkin
-
Veja se a opção "Save Data With Report" do menu File (no Crystal) está marcada quando seu relatório estiver aberto no mesmo. Caso positivo, desmarque-a e salve o relatório novamente. Abraços, Graymalkin