-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Trocar O Ip Da Conexão Pelo Nome Do Driver De Rede
pergunta respondeu ao raphaelwc de Graymalkin em Visual Basic
Hummm... isso você pode fazer por uma chave no registro. Não me lembro qual é ela exatamente, mas se você abrir o Regedit e procurar pelo seu IP atual você com certeza a encontrará. Só não sei se a mudança lá é efetivada na hora ou se vai ser necessário reiniciar o computador. Abraços, Graymalkin -
Não sei se entendi bem qual foi a sua solução, mas quando você declara um objeto assim... Classe *Objeto; ... você tem que utilizar o operador -> para fazer referência aos membros. Já quando é... Class Objeto; ... você tem que utilizar o ponto (.) mesmo. Mas, geralmente, o compilador te avisa sobre isso. Abraços, Graymalkin
-
Isto é feito na hora da execução. No caso, o MSIL são bytecodes que só são entendidos pela .NET Framework e quando o programa é executado é que os bytescodes são convertidos para a linguagem de máquina da plataforma e executados. É bem semelhante ao modo de execução de Python e Java, por exemplo. Abraços, Graymalkin
-
O nome da tabela está realmente certo? É "clinte_hospe"? Abraços, Graymalkin
-
No caso, você vai ter que alterar a estrutura do nó para poder guardar os dados que você quer. A estrutura daquele lá na página é: typedef struct no { int value; struct no *next; } lista; O importante ali é o int value que é o campo que armazenará o "valor" do nó. No caso, é um inteiro (int). A idéia é trocar ele pelo tipo de dado que você quer armazenar (que pode ser outra estrutura, como a que você declarou no seu código). Não estou com tempo agora, mas posso ver se no próximo final de semana eu faço um exemplo disso pra você. É só me lembrar. Abraços, Graymalkin
-
E não dá erro enquanto você preenche a data? Para campos textos este lance de ir preenchendo e ele buscando é tranquilo, porém para dados que só tem algum significado quando estão completos (como é o caso de uma data) isso não é lá muito prático de se fazer. Relendo seu primeiro post eu notei o seguinte "pois com ela só aparece o registro que digitei a data de vencimento quando termino de digitar e não como o sql faz trazendo todos os registros parecidos". Uma data só é uma data se estiver completa, ou seja, se tiver dia, mês e ano, no mínimo. Você quer procurar datas incompletas? Se o cara digitar "25/ / " você quer procurar os registros só com esse 25? Se for, a lógica vai ser bem diferente do normal. De qualquer maneira, acredito que você poderia fazer isso aqui no evento OnChange da MaskEdit: var busca : Boolean; begin busca := True; try StrToDate(MaskEdit1.Text); except on EConvertError do busca := False; end; if (busca) then begin ... end; end; Isso faria com que a busca só fosse executada quando fosse inserida uma data válida na MaskEdit. Seria isso que você quer? Abraços, Graymalkin
-
Qual o evento da MaskEdit que você utiliza para realizar a busca? Talvez fosse o caso de fazer uma exceção neste evento para não realizar a busca quando for o caso da máscara, não? Abraços, Graymalkin
-
Você *não* colocou o código que eu falei... Olha o seu código: cnn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;data source=" & App.Path & "\Fitlau.mdb;" & "\Fitlau.mdb;Password=system;" Tem "Fitlau.mdb" duas vezes. Além disso, App.Path retorna o caminho sem a última barra quando se trata da raíz de uma unidade (D:) e com a barra quando se trata de uma pasta (C:\Teste\). Mas, afinal, você quer fazer isso em um ADODC ou em um objeto ADODB.Connection??? Se for no ADODC você vai ter que preencher a propriedade ConnectionString do mesmo *via código* e não nas propriedades dele no form. Experimente colocar isso aqui no Load do form que tem o ADODC: pasta = iif(right(app.path, 1)="\", left(app.path, len(app.path)-1), app.path) arquivo = pasta & "\Fitlau.mdb" Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & arquivo & ";Persist Security Info=False" Adodc1.Refresh E deixe *vazia* a propriedade ConnectionString do ADODC no form. Abraços, Graymalkin
-
Você sabe percorrer o vetor, certo? Porque é isso que o código abaixo faz: for (i=0; i<N; i++) { printf("Nome: %s Tamanh %d\n\n",vetor[i].ID,vetor[i].tamanho); } Então, bastaria chamar a função de inserção (que tem na página que você indicou) para cada um dos elementos do vetor. Abraços, Graymalkin
-
Bom, acredito que cada vez que você chama GetProcessHeap() você pega uma pilha de processos *nova*, portanto você está pegando pilhas diferentes quando cria e quando libera. Acredito que você deveria fazer algo assim: hHeap = GetProcessHeap() TempBuff = HeapAlloc(hHeap, 0, pcbNeeded) ret = EnumJobs(hPrinter, 0, 127, 1, TempBuff, pcbNeeded, pcbNeeded, pcReturned) CopyMem Jobs(0), ByVal TempBuff, pcbNeeded ... If TempBuff Then HeapFree(hHeap, 0, TempBuff) Note que o mesmo hHeap que é passado para a alocação e passado para a desalocação. Acredito que isso não acontecia no seu código, uma vez que você chamava GetProcessHeap() duas vezes (note que eu chamei apenas uma). Não testei o código acima, mas acho que deu pra pegar a idéia, né? ;) Graymalkin
-
Mas, você já implementou as funções para lidar com listas circulares ou têm elas prontas aí? Graymalkin
-
Como assim? A grade fica vazia depois que você coloca a máscara na EditMask? Graymalkin
-
Então procure em Ferramentas -> Controles Adicionais no VBA. Abraços, Graymalkin
-
Não estaria faltando inicializar os objetos do vetor? Ou seja, criar os objetos antes de tentar acessá-los? Veja se o seguinte exemplo funciona aí: #include <iostream> #include <stdlib.h> #include <string> #include <vector> using namespace std; int main() { vector<string> palavras; vector<string>::iterator palavra; palavras.push_back(string("isto")); palavras.push_back(string("é")); palavras.push_back(string("um")); palavras.push_back(string("teste!")); for ( palavra = palavras.begin(); palavra != palavras.end(); palavra++ ) { cout << *palavra << endl; } system("pause"); } E onde você arrumou essa AnsiString? Não achei aqui no Dev-C++, por isso fiz com strings normais de C++. Abraços, Graymalkin
-
Com o mouse? Cara, acho que isso é meio difícil uma vez que uma DataGrid se torna apenas uma tabela em HTML (as tags table, tudo, tr, etc.) quando é enviada ao cliente. Já experimentou procurar alguma solução em JavaScript para o problema? Não sei se existe, mas eu procuraria isso com JavaScript, uma vez que este seria um tipo de manipulação que ocorreria do lado do cliente e não do servidor. Abraços, Graymalkin
-
O que você quer exatamente? Fazer streaming? Abraços, Graymalkin
-
Você fez uma matriz de bytes, correto? Sim, exatamente. O segundo parâmetro do construtor de um StreamWriter, naquele caso, se chama Append e define se você quer adicionar a um arquivo existente ou recriá-lo do zero. O False então diz que ele deve sempre recriar o arquivo e nunca gravar no final de um que já exista (se não fosse isso, na segunda vez que você executasse o arquivo ficaria com o dobro do tamanho porque ele mesmo seria adicionado ao destino). É, também podem ser utilizados, mas StreamReader e StreamWriter são mais práticos porque leêm e gravam strings (sim, eu sei que BinaryWriter também faz isso, mas ele também exige a criação de um objeto Stream). Abraços, Graymalkin
-
Sim, a idéia é interessante, porque os conceitos são os mesmos para qualquer linguagem. Porém, a tendência natural das pessoas é buscar a solução na linguagem utilizada, então acredito que o pessoal continuaria postando nas respectivas áreas (como VB e C/C++, por exemplo). Sim, poderíamos mover os tópicos para a nova sala, mas será que é realmente necessário? Ela teria movimento o bastante para justificar sua criação? Ou seria melhor criar sub-salas para isso nas respectivas linguagens mais procuradas? Abraços, Graymalkin
-
Nunca fiz algo assim (não com ASP.NET), mas acho que você deveria procurar por um "chat" com ASP.NET, não? Eu encontrei isso daqui se ajudar: http://www.codeproject.com/useritems/simplechat.asp Abraços, Graymalkin
-
Subclassing é basicamente você interceptar as mensagens que uma determinada janela (e por "janela" leia-se qualquer controle no Windows, como janelas, botões, caixas de texto, etc.) recebe e manipulá-las para fazer coisas como "colorir os itens de uma combobox". Seria mais-ou-menos, como o próprio nome sugere, uma "herança" (subclass é um sinônimo de herança no jargão OO). Só não fica tão bonito quanto uma herança em OO (e é daí que venha a razão de eu chamá-la de "obscura"). :) Abraços, Graymalkin
-
Exatamente. Uma vez que um objeto do tipo Object pode acomodar qualquer outro, se eu colocar uma String nele, é de se pensar que ele possa fazer qualquer coisa que uma string pode, certo? Ou seja, se eu *sei* que uma string tem um método SubString() (que retorna parte dela), é natural eu pensar que um objeto Object que faça uma referência a essa string também tenha esse mesmo método, correto? Em VB isso é verdade, mas em C#, por exemplo, não. Aliás, até dá pra chamar o método em C#, mas você vai escrever muuuuiiiitttooo mais do que o normal. Tem um artigo meu sobre isso (utilizar late-binding com C#) em um dos tópicos aqui do fórum, mas eu também publiquei ele aqui: http://www.onmasters.com.br/?area=ler_arti...rtigos&artid=61 Abraços, Graymalkin
-
Eu acho bem mais prático ler o arquivo para um array de bytes e acessar as posições diretamente. Veja um exemplo abaixo: Dim nomearq As String = "c:\arquivo.exe" Dim arquivo As New StreamReader(nomearq, System.Text.Encoding.Default) Dim conteúdo As String = arquivo.ReadToEnd() arquivo.Close() Dim b() As Byte = System.Text.Encoding.Default.GetBytes(conteúdo) b(256) = Asc("J") b(257) = Asc("a") b(258) = Asc("b") b(259) = Asc("a") Dim gravar As New StreamWriter("c:\teste.exe", False, System.Text.Encoding.Default) gravar.Write(System.Text.Encoding.Default.GetString(b)) gravar.Close() Sacou? ;) Veja que isso é só um **exemplo** e é óbvio que você *pode* (mas acho que nem precisa, uma vez que você sabe o offset inicial) precisar de um laço For para ir trocando os bytes, a diferença é que você não vai precisar *caminhar* com o For até lá. Abraços, Graymalkin
-
O que é uma "caixa de seleção"? Sua idéia é mostrar uma pergunta com várias alternativas como respostas para o caboclo escolher uma? E cada pergunta valer uma determinada quantidade de pontos? Se for isso, acredito que dê para fazer sim, através de VBA. Abraços, Graymalkin
-
Com o jeito que eu falei acima (comunicar via WebBrowser) acredito que daria para fazer isso (o PHP ativar o módulo no Access). Isso você pode fazer por automação, criando um objeto Excel.Application através da função COM(). Mas, você pretende executar o PHP no servidor ou no cliente? Quero dizer, você vai instalar o interpretador PHP na máquina cliente para executar um script? Ou você vai utilizar o PHP para gerar páginas dinâmicas (ou seja, funcionando no servidor)? Isso porque o lance de abrir o Excel e escrever algo nele depende de onde o PHP vai estar sendo executado. Abraços, Graymalkin
-
Inserção De Dados No Sql Server Através Do Vbs
pergunta respondeu ao Estag de Graymalkin em Visual Basic
Retirar esse... On Error Resume Next ... do começo e roda o script para você ver se ocorre algum erro (provavelmente deve estar ocorrendo). A linha acima diz para ignorar qualquer erro, então desta maneira você só diminui as chances de encontrar o problema (uma vez quando o erro ocorre ele te diz onde é). Abraços, Graymalkin