Ir para conteúdo
Fórum Script Brasil

Graymalkin

Veteranos
  • Total de itens

    8.257
  • Registro em

  • Última visita

Tudo que Graymalkin postou

  1. Graymalkin

    Ajuda - Urgente

    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
  2. Graymalkin

    Strconecction

    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
  3. 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
  4. 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
  5. Você pode dar um exemplo de como está fazendo atualmente? Abraços, Graymalkin
  6. 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
  7. 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
  8. 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
  9. 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
  10. Graymalkin

    Duvida Picturebox!

    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
  11. Graymalkin

    Arvore De Pesquisa

    Dê uma procurada (na Net) sobre um controle chamado "CCRP FolderTreeview Control". Abraços, Graymalkin
  12. Graymalkin

    Compilador De Vb6

    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
  13. 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
  14. 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
  15. 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
  16. 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
  17. Graymalkin

    Combobox

    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
  18. Graymalkin

    Passar Valores

    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
  19. Graymalkin

    Data/hora

    A mesma do VB6, ou seja, Now(), sendo que também existe um tipo para data/hora chamado "Date". Abraços, Graymalkin
  20. Graymalkin

    Instrução Open

    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
  21. De fato, faltaram os valores das constantes, a saber: WM_NCLBUTTONDOWN = &HA1 HTCAPTION = 2 Abraços, Graymalkin
  22. Graymalkin

    Ctrl Alt Del

    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
  23. 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
  24. 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
  25. Graymalkin

    Printf

    Você pode dar um exemplo disso? Abraços, Graymalkin
×
×
  • Criar Novo...