Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
[C#] Criando um servidor #2
5 participantes
Aldeia RPG :: Centro de aprendizagem :: Programação :: C#
Página 1 de 1
[C#] Criando um servidor #2
Fiz algumas alterações visuais no programa então para poupar tempo peço para quem estiver acompanhando baixe o projeto já com todos os objetos configurados, não modifiquei nada no código da aula anterior.
Download: Mega
Ok, com o projeto em mãos podemos começar a trabalhar nos códigos novamente.
Vamos trabalhar com arquivos .ini, até onde sei a plataforma .net não tem um suporte nativo para trabalhar com esses arquivos mas isso não é um problemas, vamos utilizar uma DLL do windows para fazer essa parte.
Vamos criar uma nova classe chamada Configuration.cs (pressione Shift + Alt + C), com a classe criada temos que passar algumas variáveis do código anterior (que trabalhava dentro do form) para esta classe.
Quais variáveis temos que passar? A da Porta e a do Nome. E ainda temos que criar uma nova variável para o Motd (message of the day).
Noss Configuration.cs ficou assim:
E nosso código do form (Form1.cs) ficou assim:
Podemos ver alguns erros que ocorreram após excluir as variáveis desse código, por enquanto deixe assim mesmo, com erro. Agora vamos instanciar a classe Configuration dentro do Program.cs, declarando como pública e estática:
Agora voltamos ao Form1.cs, dentro do método Form1() iremos adicionar o seguinte código:
O que ele faz? Ele adiciona um método (FormLoad) ao evento Load da classe Form que é quando a janela ainda está carregando. Agora devemos criar esse método FormLoad:
Uma explicada rápida sobre os argumentos dos métodos que são chamados nos eventos como esse FormLoad. O primeiro argumento (object) é como o próprio nome ja diz o objeto que chamou do evento, se foi um Form, o object é o Form, se for um botão o object é um botão.
EventArgs é a classe básica para os eventos que contém argumentos, mais pra frente usaremos isso na parte do client.
Dentro do método FormLoad, adicionaremos um código para instanciar a classe Configuration declarada no arquivo Program.cs.
Agora é hora de corrigir os erros que deram quando nós tiramos as variáveis da classe Form1 para a classe Configuration.
Onde tem ServerName, iremos mudar para Program.Config.Name e assim por diante, no final ficará assim:
Dentro do método inicial da classe Form1 (public Form1()), abaixo de this.Load... iremos adicionar um código para os eventos de Click dos componentes responsáveis por Ligar/Parar/Sair do servidor.
Agora precisamos criar esse métodos, todos utilizam o padrão de argumentos (object, EventArgs), fica assim no final:
Agora basta adicionar as funções que criamos anteriormente: Start, Stop e para sair utilizamos Application.Exit(). Da seguinte forma:
Podem testar e verão que está funcionando, porém... A label de status não mudou. Isso porque esquecemos de criar um código para isso, dentro do método Start() e Stop() iremos adicionar um código para mudar o texto e a cor da lblStatus.
Veja como ficou:
Pronto, se testarem irão ver que está tudo funcionando perfeitamente...
Agora sim podemos voltar para a classe Configuration e criar os métodos para carregar as configurações iniciais apartir de um arquivo .ini.
Iremos importar dois headers o System.Runtime.InteropServices e o System.Text.
O 1º nos permitirá importar métodos externos (no caso de uma dll) através do método DllImport, o 2º nós usaremos para utilizar o StringBuilder que usaremos para ler o arquivo .ini.
No topo do código adicione:
Dentro do código adicione:
Abra a imagem fora do tópico para ver completa.
Bom, por hora é só, no próximo tutorial irei mostrar como ler/escrever arquivos .ini utilizando esses métodos que importamos.
Qualquer dúvida postem aqui :)
Download: Mega
Download: Mega
Ok, com o projeto em mãos podemos começar a trabalhar nos códigos novamente.
Vamos trabalhar com arquivos .ini, até onde sei a plataforma .net não tem um suporte nativo para trabalhar com esses arquivos mas isso não é um problemas, vamos utilizar uma DLL do windows para fazer essa parte.
Vamos criar uma nova classe chamada Configuration.cs (pressione Shift + Alt + C), com a classe criada temos que passar algumas variáveis do código anterior (que trabalhava dentro do form) para esta classe.
Quais variáveis temos que passar? A da Porta e a do Nome. E ainda temos que criar uma nova variável para o Motd (message of the day).
Noss Configuration.cs ficou assim:
E nosso código do form (Form1.cs) ficou assim:
Podemos ver alguns erros que ocorreram após excluir as variáveis desse código, por enquanto deixe assim mesmo, com erro. Agora vamos instanciar a classe Configuration dentro do Program.cs, declarando como pública e estática:
Agora voltamos ao Form1.cs, dentro do método Form1() iremos adicionar o seguinte código:
O que ele faz? Ele adiciona um método (FormLoad) ao evento Load da classe Form que é quando a janela ainda está carregando. Agora devemos criar esse método FormLoad:
Uma explicada rápida sobre os argumentos dos métodos que são chamados nos eventos como esse FormLoad. O primeiro argumento (object) é como o próprio nome ja diz o objeto que chamou do evento, se foi um Form, o object é o Form, se for um botão o object é um botão.
EventArgs é a classe básica para os eventos que contém argumentos, mais pra frente usaremos isso na parte do client.
Dentro do método FormLoad, adicionaremos um código para instanciar a classe Configuration declarada no arquivo Program.cs.
Agora é hora de corrigir os erros que deram quando nós tiramos as variáveis da classe Form1 para a classe Configuration.
Onde tem ServerName, iremos mudar para Program.Config.Name e assim por diante, no final ficará assim:
Dentro do método inicial da classe Form1 (public Form1()), abaixo de this.Load... iremos adicionar um código para os eventos de Click dos componentes responsáveis por Ligar/Parar/Sair do servidor.
Agora precisamos criar esse métodos, todos utilizam o padrão de argumentos (object, EventArgs), fica assim no final:
Agora basta adicionar as funções que criamos anteriormente: Start, Stop e para sair utilizamos Application.Exit(). Da seguinte forma:
Podem testar e verão que está funcionando, porém... A label de status não mudou. Isso porque esquecemos de criar um código para isso, dentro do método Start() e Stop() iremos adicionar um código para mudar o texto e a cor da lblStatus.
Veja como ficou:
Pronto, se testarem irão ver que está tudo funcionando perfeitamente...
Agora sim podemos voltar para a classe Configuration e criar os métodos para carregar as configurações iniciais apartir de um arquivo .ini.
Iremos importar dois headers o System.Runtime.InteropServices e o System.Text.
O 1º nos permitirá importar métodos externos (no caso de uma dll) através do método DllImport, o 2º nós usaremos para utilizar o StringBuilder que usaremos para ler o arquivo .ini.
No topo do código adicione:
Dentro do código adicione:
Abra a imagem fora do tópico para ver completa.
Bom, por hora é só, no próximo tutorial irei mostrar como ler/escrever arquivos .ini utilizando esses métodos que importamos.
Qualquer dúvida postem aqui :)
Download: Mega
_________________
Re: [C#] Criando um servidor #2
Boa soreto! que você possa avançar mais e mais suas aulas, quem sabe em breve estarei criando um servidor em C# pro NPM
+ 10 créditos
+ 10 créditos
Re: [C#] Criando um servidor #2
Gostei soreto continue com suas aulas eu irei todas elas continue de preferencia nunca coloque o código sempre continue com as imagens e só poste o código fonte quando for realmente necessário
+1
+1
Ian- Ocasional
- Mensagens : 216
Créditos : 27
Re: [C#] Criando um servidor #2
Cara, link não funciona. Poderia atualizar? :/
Eu estou gostando da aula... mas você fez uma coisa ruim, dar o programa já pronto. Faça da próxima vez um aula sem coisas já prontas.
Eu estou gostando da aula... mas você fez uma coisa ruim, dar o programa já pronto. Faça da próxima vez um aula sem coisas já prontas.
_________________
Batatinha quando nasce, espalha rama chão, menina quando olha, bota a mão no seu coração.
Re: [C#] Criando um servidor #2
Boa Tarde!
Alguém pode disponibilizar os códigos?
Alguém pode disponibilizar os códigos?
Dingiswayo- Iniciante
- Mensagens : 32
Créditos : 1
Tópicos semelhantes
» [C#] Criando um servidor #3
» [C#] Criando um servidor #1
» Criando Servidor de naruto
» Movido: Criando Servidor de naruto
» Criando seu .exe
» [C#] Criando um servidor #1
» Criando Servidor de naruto
» Movido: Criando Servidor de naruto
» Criando seu .exe
Aldeia RPG :: Centro de aprendizagem :: Programação :: C#
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos