-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Já ouviu falar do SELECT... INTO? Não sei se tem ele no SQL Server, mas no Jet (Access) pode-se inserir diretamente os registros de uma consulta em uma nova tabela, sem que seja necessário inserir linha por linha. Abraços, Graymalkin
-
Vá na propriedade ConnectionString e dê um clique em New Connection (que aparecerá ao abrir a combobox). Depois escolha o provedor (JET, na aba Provedor) e escolha o banco de dados (na aba Conexão) e voilá, sua string de conexão está pronta. Abraços, Graymalkin
-
Sim, você pode utilizar a rotina SaveSetting para gravar, a cada vez que o programa é iniciado ou pelo menos da primeira vez, sua localização (ou seja, App.Path) em uma chave do registro e depois utilizar a função GetSetting para obter o valor dessa chave (o que seria feito pelo outro programa). Faço exatamente isso para que um programa meu possa instalar atualizações sem que o programa de destino tenha uma localização específica. Abraços, Graymalkin
-
Dê uma olhada neste tópico, pois acho que isso pode te ajudar: http://desenvolvedores.net/modules.php?nam...=viewtopic&t=75 Abraços, Graymalkin
-
Você pode dar um exemplo de como está fazendo atualmente? Abraços, Graymalkin
-
Você sabe ordenar por SQL? Utilizando a cláusula ORDER BY? Se souber, basta utilizar o evento HeadClick, que te informa o índice da coluna clicada, para obter o campo associado (através da propriedade DataField da coleção Columns) e refazer a SQL, colocando o campo da coluna clicada como o campo de ordenação. Abraços, Graymalkin
-
Criar Ou Editar Uma Consulta Do Access Pelo Vb
pergunta respondeu ao brunohjoia de Graymalkin em Visual Basic
Você precisa realmente criar uma consulta no banco de dados? Não basta criar um Recordset com o retorno da consulta? Nunca tentei fazer isso que você quer, mas o segundo caso (gerar o recordset com uma consulta SQL) é o que faço praticamente o tempo todo. Abraços, Graymalkin -
Ah sim, de fato, utilizar scripts se torna algo bem prático na hora de fazer pequenas mudanças. Só que, sinceramente, eu não acho que VBScript seja muito útil nesse ponto. Em geral, quando preciso de algo assim, eu uso Python. Algumas rotinas de meus programas (feitos em VB e Clipper) na verdade são scripts Python que são chamados (aos quais posso ou não passar parâmetros). Mas, se sua intenção é mesmo usar VBScript a dica do Microsoft Script Control é válida e ele não é difícil de se usar. Abraços, Graymalkin
-
Criar Ou Editar Uma Consulta Do Access Pelo Vb
pergunta respondeu ao brunohjoia de Graymalkin em Visual Basic
Mas, o Access (o programa em si) está aberto com esse banco de dados no mesmo momento em que você executa esse código? Se estiver, é esse o problema. Abraços, Graymalkin -
O que seria "CLICAR EM UM COMANDO"? Clicar em um CommandButton? E o que você entende por "ABRIR NA MESMA HORA UM PICTURE BOX"? Abrir uma figura na picturebox? Seria isso? Por favor, exponha melhor a sua dúvida porque, com certeza, poderemos te ajudar melhor. Abraços, Graymalkin
-
Dê uma procurada (na Net) sobre um controle chamado "CCRP FolderTreeview Control". Abraços, Graymalkin
-
De VB6 mesmo eu desconheço a existência de outro, todavia você pode achar diversas implementações diferentes da linguagem BASIC, como o DarkBasic e o PureBasic, por exemplo. Abraços, Graymalkin
-
Criar Ou Editar Uma Consulta Do Access Pelo Vb
pergunta respondeu ao brunohjoia de Graymalkin em Visual Basic
Talvez seja possível fazer isso através de automação. Experimente marcar o Microsoft Access x.0 Object Library na opção References do menu Project e brincar com os objetos disponíveis na biblioteca, a fim de ver se consegue algo. Abraços, Graymalkin -
Nem sempre as impressoras acompanham a mesma tabela de caracteres do sistema em questão, por isso o ideal é imprimir caracter por caracter (o que você pode fazer com as funções asc() e chr() em um laço for) e determinar quais são os respectivos caracteres acentuados, a fim de fazer as modificações antes de imprimir (com a função replace()). Abraços, Graymalkin
-
No cliente: reinstale o Win98 (de preferência uma cópia limpa, não por cima do atual). E para você: arrume um Win98 (no seu computador ou não) e gere o pacote de instalação do seu programa a partir dele. Abraços, Graymalkin
-
Arquivos VBS são arquivos de VBScript para serem executados sozinhos. Eles são meramente arquivos textos comuns com instruções (extremamente parecidas, se não iguais, as que utilizamos no VB). Não sei se entendi exatamente o que você quer dizer por "de modo que eu edite o arquivo e o programa sofra auterações, como um xml...". VBScript é uma coisa e VB é outra, apesar das extremas semelhanças. Com o componente Microsoft Script Control você pode, a partir do VB, executar instruções de VBScript, passadas em uma string (que poderia provir de um arquivo .vbs). Se for isso que você quer, dê uma olhada no componente. Abraços, Graymalkin
-
Sim, de fato isso não existe mais. Porém, como as coisas evoluem (quase) sempre para melhor, um ComboBox agora armazena objetos e não mais meramente strings. Aliás, essa é a beleza de uma linguagem verdadeiramente OO (ok, joguem as pedras!). A título de exemplo criei um classe que representará o meu objeto: Class MeuObjeto Inherits System.Object Public título As String Public valor As String Public Overrides Function toString() As String Return Me.título End Function Public Sub New(ByVal título As String, ByVal valor As String) Me.título = título Me.valor = valor End Sub End Class Note que eu substitui a função toString() original de System.Object pela minha, que retorna o "título" do objeto. Isso porque a ComboBox utiliza-se dessa função para saber qual a representação à ser mostrada visualmente. Daí, basta fazer: ComboBox1.Items.Add(New MeuObjeto("primeiro", "a")) ComboBox1.Items.Add(New MeuObjeto("segundo", "b")) E teremos dois itens na ComboBox: primeiro e segundo. Mas, e para resgatar o "valor" deles, ou seja, "a" e "b"? Bastará fazer: MsgBox(ComboBox1.SelectedItem.valor) Isso mostrará o "valor" do item atualmente selecionado. Se for "primeiro", mostrará "a", se for "segundo", mostrará "b". Certo? Abraços, Graymalkin
-
Exatamente. Só que ao mexer com arquivos textos você deve ter em mente que deverá regravar o arquivo *todo* a fim de mudar apenas uma linha. Por isso que comentei sobre utilizar a instrução Open para abrir o arquivo como Input (leitura), ler o arquivo completamente (para uma string ou, de preferência, para um vetor), alterar o que deve ser alterado (na string ou no vetor) e depois gravar o arquivo todo de novo (abrindo o mesmo para Output (gravação)). Existe ainda o método de escrita binário, onde você pode alterar somente determinados bytes do arquivo, mas não vale a pena para o caso em questão (uma vez que vai ser muito mais trabalhoso e quase impossível mudar um byte sem ter que mudar todos os outros posteriores; ou seja, para trocar 3 por 5 (1 byte por 1 byte) é simples, porém para trocar 3 por 10 (1 byte por 2 bytes) já desarruma tudo). Abraços, Graymalkin
-
A mesma do VB6, ou seja, Now(), sendo que também existe um tipo para data/hora chamado "Date". Abraços, Graymalkin
-
A variável "arquivo" deve ser um número, que será utilizado para identificar o arquivo aberto. Para resolver isso, coloque a seguinte linha... arquivo = FreeFile() ... antes da linha do "Open ...". Abraços, Graymalkin
-
De fato, faltaram os valores das constantes, a saber: WM_NCLBUTTONDOWN = &HA1 HTCAPTION = 2 Abraços, Graymalkin
-
Quanto a desaparecer do CTRL+ALT+DEL, basta que você registre o seu programa como um serviço. Isso pode ser feito por meio da API RegisterServiceProcess, só que vale ressaltar que isso só valerá para o Win9x, já que a plataforma NT (Win2000/XP/2003) mostra os serviços de forma natural (o que é o correto, aliás). Tentei adaptar o código que uso com essa função, no VB, para o Delphi, só que não pude testar já que estou com o XP aqui. Declare a seguinte função: function RegisterServiceProcess(dwProcessId, dwType: DWORD): DWORD; external 'kernel32.dll'; Depois, chame-a no evento OnLoad do Form principal: RegisterServiceProcess(GetCurrentProcessId(), 1); E veja aí se dá certo. Abraços, Graymalkin
-
Foi só procurar pelo nome ReleaseCapture, que é uma das APIs utilizadas no exemplo acima (e que é utilizada para o mesmo próposito no .NET): http://scriptbrasil.com.br/forum/index.php...=releasecapture Além disso, o título do tópico é bem sugestivo: "Movimentar Janela Do Form .net" Abraços, Graymalkin
-
Ponteiros Em Pascal
pergunta respondeu ao Ø£¡vë¡®'§® de Graymalkin em Outras Linguagens de Programação
Procure no todo-poderoso Google e você deverá achar algo. Se você der uma olhada no fórum de C/C++ encontrará (no tópico Estruturas de Dados) algumas informações sobre ponteiros. Apesar de estar em C/C++ o conceito é o mesmo. Abaixo vou colocar um exemplo: program t; var p : ^integer; i : integer; begin i := 65; p := @i; writeln(p^); writeln(i); readln; end. Veja que "i" é um inteiro e "p" é um ponteiro para um inteiro (note o ^ na frente do tipo, na declaração de "p"; isso indica que ele é um ponteiro). Um ponteiro só armazena endereços, ou seja, ele "aponta" para um endereço (daí o nome "ponteiro"). No caso acima, eu atribuo 65 à "i" e atribuo o endereço de "i" (ou seja, "@i") ao ponteiro p. Dessa maneira, "p" está apontando para o mesmo endereço de "i". A linha seguinte pega o valor referente ao endereço apontado por "p" (por isso o ^ após) e escreve na tela. Em seguinda eu pego o valor do próprio "i" e escrevo também na tela. O resultado é que deverão aparecer duas vezes o número 65 na tela. O que acontece exatamente: o valor 65 só existirá uma vez na memória, representado ali pelo "i", porém eu faço com que uma outra variável minha (no caso o "p") fique se referindo ao mesmo endereço de "i". Sacou? Abraços, Graymalkin -
Você pode dar um exemplo disso? Abraços, Graymalkin