Ir para conteúdo
Fórum Script Brasil

Graymalkin

Veteranos
  • Total de itens

    8.257
  • Registro em

  • Última visita

Tudo que Graymalkin postou

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

    Cint Ou Val

    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
  3. 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
  4. 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
  5. Falou então! Fechando, Graymalkin
  6. 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
  7. 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
  8. 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
  9. Graymalkin

    Arquivos

    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
  10. 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
  11. É 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
  12. 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
  13. Graymalkin

    Progressbar

    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
  14. Você foi no site que eu indiquei e baixou o Input32X (http://www.eoliv.com/index.php?o=2&s=2)? Graymalkin
  15. Graymalkin

    Arquivos

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

    Progressbar

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

    Progressbar

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

    Vb.net

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

    Converer Int Para Char

    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
×
×
  • Criar Novo...