-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Isso, é disso que eu estava falando. Só olhei o primeiro pacote que deve ser enviado... S 0064 <version>.l <account name>.24B <password>.24B <version2>.B ... mas seguindo aquela legenda que tem lá, deu pra chegar a isso aqui: S = significa que isso vai ser enviado pelo cliente 0064 = acredito que seja o identificador da mensagem, devendo ser enviado os bytes correspondentes a 0x00 e 0x64. <version>.l = 4 bytes para descrever a versão <account name>.24B = 24 bytes para definir o nome da conta <password>.24B = 24 bytes para definir a senha <version2>.B = 1 byte para definir a segunda versão (talvez outro pedaço da versão) Entendeu? Acho que a partir daquele documento você vai poder fazer o que quer. Abraços, Graymalkin
-
Val() não tem sempre o mesmo retorno que CInt(). Veja estes exemplos: ? val("2.34") 2,34 ? cint("2.34") 234 ? val("2,34") 2 ? cint("2,34") 2 ? val(2.34) 2 ? cint(2.34) 2 ? val("palavra") 0 ? cint("palavra") 'Dá erro Além disso, se você olhar a assinatura de Val() você vai ver que ela recebe uma String e retorna um Double, enquanto que CInt recebe um Object e retorna um Integer. Certo? Graymalkin
-
Sei que você pode fazer isso com a FlexGrid e com a Hierarchical FlexGrid, mas desconheço se isso é possível com a DBGrid ou com a DataGrid (meu palpite é que não, há menos que seja utilizada alguma técnica obscura (subclasse...) ) Abraços, Graymalkin
-
Não sei se vale para o Visual C++ 2005, mas em geral faz-se algo do tipo (no final do código): system("pause"); Ou: getch(); Abraços, Graymalkin
-
Falou então! Fechando, Graymalkin
-
Você colocou o input32x.ocx na pasta Windows\System (ou Windows\System32 no caso do XP) e registrou o mesmo com o regsvr32? É, realmente fiz algumas experiências aqui e cheguei a mesma conclusão de antes: o Masked Edit é uma porcaria... Sinto muito . Abraços, Graymalkin
-
Exatamente. Isso é feito pela palavra-chave static. Isso é feito pela palavra-chave const. Os métodos construtores devem ser métodos com o mesmo nome da classe. O método destrutor deve ser o nome da classe com um ~ (til) antes. Aqui vai um exemplo com todos os itens acima (veja os comentários): public class Teste { public const int constante = 2; // Atributo constante public static int estático = 2; // Atributo estático public Teste() // Método construtor { } public Teste(int x) // Outro método construtor { } ~Teste() // Método destrutor { } } Exatamente. O objeto só vai expôr para utilização os métodos públicos (que nesse caso são chamados de métodos de instância, por não terem a palavra-chave static). Os método privados são definidos para utilização apenas dentro da classe (ou dentro do objeto) sem a possibilidade de haver uma chamada direta a este método. Imagine um objeto Automóvel, no qual exista um método chamado Ligar(), que é público. O método Ligar() pode ser chamado pelo usuário (seria o ato de colocar a chave na ignição e girá-la). Esse método (que é público) vai estar exposto ao usuário. No entanto, o ato de "ligar" vai exigir a chamada à diversos métodos, como AtivarBombaGasolina(), AtivarArranque(), LigarMotor(), etc. Estes métodos não estão disponíveis ao usuário (sendo métodos privados). Ou seja, os métodos públicos definem o que o utilizador pode fazer (afinal de contas, essa é a interface exposta pelo objeto), enquanto que os métodos privados definem tarefas do objeto que não são controláveis (acessíveis diretamente) pelo utilizador. Sacou? Abraços, Graymalkin
-
Você poderia utilizar um campo autonumeração ou ter uma tabela exclusivamente para guardar e obter o último código. A vantagem de ter essa tabela sozinha e atualizá-la é que a atualização vai ser rápida o suficiente para que fique extremamente improvável que dois usuários possam obter o mesmo código. Abraços, Graymalkin
-
Exatamente. Essa função foi criada para converter valores hexadecimais de uma URL, que ficam com um "%" na frente. Por isso, você tem que utilizá-la assim: Dim h As String = "A3" MessageBox.Show(System.Uri.HexUnescape("%" & h, 0)) E isso vai retornar o *caracter* correspondente, devendo você obter o valor ASCII do mesmo com a função Asc(). Certo? Graymalkin
-
Dê uma procurada sobre as funções FindWindow() e SetWindowPos() da API Win32. No API-Guide (http://www.allapi.net/ ou http://www.mentalis.org/) você encontrará exemplos delas. Abraços, Graymalkin
-
É em Components que você deveria fazer isso (os "componentes" tem representação visual, enquanto que as "referências" não). Você não tentou selecionar o arquivo em ambos não (Components e References)? Deveria ser só em Components. Abraços, Graymalkin
-
Vá no Object Browser (tecla F2) e em classes escolha "Strings". Do seu lado direito aparecerão todas as funções que podem lhe ser úteis para manipulação de strings (com descrição da função embaixo). Certo? Graymalkin
-
O método Refresh do form apenas redesenha o form, já o DoEvents libera recursos do sistema, quando em um loop, para que outras tarefas sejam realizadas (como o redesenho automático do form). Não existe nenhum tipo de equivalência entre os dois. Certo? Graymalkin
-
Você foi no site que eu indiquei e baixou o Input32X (http://www.eoliv.com/index.php?o=2&s=2)? Graymalkin
-
Não... você viu o que é o retorno de... a = System.Uri.HexUnescape((linha(coluna))) ...? Verifique o que essa função está retornando (se é que está retornando algo). Abraços, Grymalkin
-
Aí vai um exemplo do que falei no outro post: #include <string.h> #include <stdio.h> #include <stdlib.h> #include <iostream> using namespace std; int main() { double d; char s[10]; cout << "Digite um valor:"; cin >> s; cout << endl; for (int i=0; i<strlen(s); i++) if (s[i]==',') s[i] = '.'; d = atof(s); cout << d << endl; cout << (d+1.0) << endl; //Confirmando que "d" é um double system("pause"); } Certo? Graymalkin
-
Você quer dizer um servidor HTTP? Você pode começar estudando o winsock: http://www.desenvolvedores.net/modules.php...=article&sid=27 Depois é só partir para a implementação do protocolo HTTP: http://www.w3.org/Protocols/HTTP/HTTP2.html Certo? Graymalkin
-
Meu avatar é aleatório, mas quando é alterado, todos os meus posts passam a mostrá-lo. Tem uma explicação minha sobre o DoEvents neste tópico: http://scriptbrasil.com.br/forum/index.php?showtopic=26147 Certo? Graymalkin
-
Não é no DBGrid que você vai filtrar os dados, mas sim na fonte de dados do mesmo (um objeto Query, por exemplo). E você pode fazer isso através de SQL. Pode ser que os valores estejam com vírgula, não? Acho que strtofloat() só converte se eles estiverem com o ponto como separador decimal. De qualquer forma, não testei aqui, por isso posso estar falando besteira. Abraços, Graymalkin
-
O "congelado" você pode resolver colocando um ou mais DoEvents dentro das iterações, não? E dê uma olhada neste tópico também: http://scriptbrasil.com.br/forum/index.php?showtopic=24627 Abraços, Graymalkin
-
Realmente, mas você pode fazer um ponto assim: Panel1.CreateGraphics().DrawLine(New Pen(Color.Black), e.X, e.Y, e.X + 1, e.Y + 1) Panel1.CreateGraphics().DrawLine(New Pen(Panel1.BackColor), e.X + 1, e.Y + 1, e.X + 2, e.Y + 2) Certo? Graymalkin
-
Experimente fazer assim: <% Private sub valida_User() If informacoes=true then Response.Write("<script language=Javascript>window.open(""adm/default.aspx"", ""_parent"");</scr" & "ipt>") Else LabelErro.Text = "Dados inválidos!" End If End Sub %> Não testei aqui, mas veja se dá certo aí. Abraços, Graymalkin
-
Entendi, mas realmente esse código aí em C não ajuda muito... . De qualquer forma, acho que um "protocolo" oficial do jogo seria a melhor e mais correta maneira de se fazer isso. Esses outros programas semelhantes que você cita devem ter tido alguma fonte de informação sobre como é a transmissão e recepção (a "conversa") entre o cliente e o servidor, não acha? Abraços, Graymalkin
-
O VB.NET conta com recursos OO que não existiam no VB6, como herança, classes abstratas, não-divergência entre os tipos primitivos e objetos (os tipos primitivos agora são objetos), além de ter todo o poderio da .NET Framework (Atributos e Reflexão são recursos muito interessantes). Certo? Graymalkin
-
A função atoi (ArrayTOInt), converte um vetor de chars para um inteiro (a string "12" para o inteiro 12), ou seja, ela *não* é o contrário da conversão de um inteiro para um char. Ela é o contrário da conversão de um inteiro para um vetor de char, que é a função itoa (IntTOArray). Para converter entre char e int você não precisa de função nenhuma, conforme é explanado neste tópico: http://scriptbrasil.com.br/forum/index.php?showtopic=40546 Certo? Graymalkin