Jump to content

Search the Community

Showing results for tags 'Programação'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • A Cidade OTBR
    • OTServ Brasil
    • Atendimento
    • Taverna
  • OpenTibia
    • Notícias e Discussões
    • Suporte - Dúvidas, Bugs, Erros
    • Downloads
    • Tutoriais
    • Show-Off
    • Divulgação de Servidores
    • Projetos e Formações de Equipes
  • Outros
    • Design

Found 68 results

  1. Programação Linguagem Lua

    Olá! Estou começando a estudar Lua. Venho da linguagem Python. Estou com algumas dúvidas em relação ao Lua, no início parecia semelhante ao Python, porém quando falamos em modulos/bibliotecas a coisa muda totalmente. Minha dúvida é para entender essa questão de pacotes, se existe algum site para não perder tempo reinventado a roda. Atualmente meu objetivo é mostrar um texto na tela, como se fosse uma janela, porém transparente - estilo o conky do Linux - e somente mostrando as letras, para da a impressão de estar vinculado ao papel de parede.
  2. Quero fazer um servidor 100% em português. E é facil traduzir os nomes dos itens, magias, falas etc. Mas como eu traduzo quando damos look em algo? >> "You see a ..." >> "Você vê um..." E como traduzimos as palavras no Cliente do tibia? Tão quanto os botões, por exemplo o "Help", "Logout", "Stop", "Skull".... Grato desde já!
  3. Olá galera eu queria fazer um pedido eu vou explicar e especificar oque eu preciso , antes de pedir eu venho informar que eu vou dar rep ++ em todas postagens de quem me ajudar Bom vamos ao pedido : Oque eu quero é simplesmente um programa para eu adicionar dados exemplo : O programa vai ter banco de dados porque ?? porque eu quero que teja uma tela de login e senha simples não tão FODA uma coisa simples e também que esteja salvando os dados que eu estiver adicionando dentro do programa e eu quero que tenha um botão de alterar algum dos dados que eu adicionei e também tenha outro botão de remover algum dos dados que eu adicionei lembrando que precisa ter uma caixinha pequena pra marcar pra não remover todos os dados O programa vai conter tudo que tem na imagem abaixo , mais isso só foi uma demonstração veja \/.
  4. Programação OT 10x+ Windows

    Olá, sou novo aqui no fórum, estou procurando há alguns meses um tutorial que explique detalhadamente como colocar um servidor 10x+ online no windows, a maioria dos tutoriais que encontro são de linux. Antigamente quando baixava um OT, era só modificar pequenas coisas a seu gosto e pronto, só executar, os 10x tem uma diferença, parece que vem faltando arquivo, tem umas paradas de compilação e tal, procurei aqui e não encontrei tutorial também. Quem puder dar uma força ai, agradecido desde já!
  5. Programação Simples PT.4

    Hail! Náh Ultima Aula Vimos As Estruturas De Repetição Repete e Enquanto,Nesta Aula Iremos Ver a Estrutura De Repetição Para e Vetores! Para: Sintaxe: [b]Para [/b][VAR] [b]de [/b][N1] [b]ate [/b][N2] [b]passo [/b][OPTIONAL] Comandos... [b]proximo[/b] Explicação: Executa o Bloco De Comando N* vezes Incrementando(ou decrementando) o Contador Com o Passo. Passo Não é Obrigatorio(se n for declarado recebe 1). *Se N1 For 1 e Passo For 1 Ele Executa o Bloco N2 Vezes, Se N1 For Maior Que 1 e Passo For 1 Executa o Bloco N2-N1 Vezes, Entenderao Mais Com Os Exemplos! Exemplos: 1º-Escrever Todos Numeros De 1 ate 50: [b]inicio[/b] [b]inteiro [/b]i [color="silver"]// Declarando o Contador[/color] [b]para [/b]i [b]de [/b][color="Red"]1[/color] [b]ate [/b][color="red"]50[/color] [color="silver"]// Declarando o Loop[/color] [b]escrever [/b]i , [color="Magenta"]"\n"[/color] [color="Silver"]// Escrevendo o Número[/color] [b]proximo[/b][color="Silver"]// Fexando o Loop[/color] [b]fim[/b] 2º-Escrever Todos Numeros Pares Entre 1 e 51: [b]inicio[/b] [b]inteiro [/b]i [color="Silver"]// Declarando o Contador[/color] [b]para [/b]i [b]de [/b][color="red"]2[/color] [b]ate [/b][color="red"]50[/color] [b]passo [/b][color="red"]2[/color] [color="silver"]// Declarando o Loop Com Passo[/color] [b]escrever [/b]i , [color="Magenta"]"\n"[/color] [color="silver"]// Escrevendo o Número[/color] [b]proximo [/b] [color="silver"]// Fexando o Loop[/color] [b]fim[/b] 3º-Escrever Todos Numeros De 10 Até 1: [b]inicio[/b] [b]inteiro [/b]i [color="Silver"]// Declarando o Contador[/color] [b]para [/b]i [b]de [/b][color="red"]10[/color] [b]ate [/b][color="red"]1[/color] [b]passo [/b][color="Lime"]- [/color][color="red"]1[/color] [color="silver"]// Declarando o Loop Com Passo[/color] [b]escrever [/b]i , [color="Magenta"]"\n"[/color] [color="silver"]// Escrevendo o Número[/color] [b]proximo [/b] [color="silver"]// Fexando o Loop[/color] [b]fim[/b] Saídas Geradas Pelos Algoritmos Acima: 1º) [spoiler=Resp:] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 2º) [spoiler=Resp] 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 3º) [spoiler=Resp] 10 9 8 7 6 5 4 3 2 1 Se Não Entendeu Revise Pois Vai Precisar Dele Para Aprender Vetores! Vetor: Vetor é Uma Tabela Uni Dimensional. Declaração(Estarei Usando Um Vetor Inteiro e Um Texto Na Explicacao e No Exemplo!): [b]inteiro [/b]idade[6] [b]texto [/b]nome[6] Note Que Se Declara Como Uma Variavel Normal,Só Muda o [] Na Frente, Sintaxe: tipo nome[posicoes + 1] No Caso Teria Que Ser Posicoes Mais 1,Por Que No Portugol o Vetor Comeca Em 1 e Tem Que Ter 1 Espaco Vazio "SEMPRE!", Ficando Assim a Declaração De 1 Vetor tipo Texto Com 5 Posições: texto nomes[[color="Red"]6[/color]] Lendo Valores De 1 Vetor: Você Pode Fazer Assim: [b]inicio[/b] [b]texto [/b]nome[6] nome[1] = "oi" nome[2] = "xD" nome[3] = "Este é" nome[4] = "Um POG!" nome[5] = "XAU" [b]fim[/b] Ou Assim: [b]inicio[/b] [b]inteiro [/b]i [b]texto [/b]nome [ [color="Red"]6[/color] ] [b]para [/b]i [b]de [/b][color="red"]1[/color] [b]ate [/b][color="red"]5[/color] [b]ler [/b]nome [ i ] [b]proximo[/b] [b]fim[/b] Para Se Escrever Valores Usa-se o Msm Metodo Que Para Ler! vetor [ posicao ] Exemplo: Ler 1 Vetor De N Posicoes Com Nomes e 1 Vetor Com As Idades De Cada Pessoa e Escreve-los Ao Contrario: [b]inicio[/b] [b]inteiro [/b]n , i [b]escrever [/b][color="Magenta"]"Digite a Quantidade De Pessoas:"[/color] [b]ler [/b]n [b]inteiro [/b]idade [ n [color="Lime"]+[/color] [color="Red"]1[/color] ] [b]texto [/b]nome [ n [color="lime"]+[/color] [color="red"]1[/color] ] [b]para [/b]i [b]de [/b][color="red"]1[/color] [b]ate [/b]n [b]escrever [/b][color="Magenta"]"Digite o Nome Da Pessoa "[/color] , i , [color="Magenta"]":"[/color] [b]ler [/b]nome [ i ] [b]escrever [/b][color="Magenta"]"Digite a Idade Da Pessoa "[/color] , i , [color="Magenta"]":"[/color] [b]ler [/b]idade [ i ] [b]proximo[/b] [b]para [/b]i [b]de [/b]n [b]ate [/b][color="Red"]1[/color] [b]passo [/b][color="Lime"]-[/color] [color="red"]1[/color] [b]escrever [/b][color="Magenta"]"Nome:"[/color] , nome [ i ] , [color="Magenta"]"\nIdade:"[/color] , idade [ i ] , [color="Magenta"]"\n"[/color] [b]proximo[/b] [b]fim[/b] Saídas Geradas Pelo Algoritmo Acima: Digite a Quantidade De Pessoas:[u]3[/u] Digite o Nome Da Pessoa 1:[u]Ushoriuma[/u] Digite a Idade Da Pessoa 1:[u]14[/u] Digite o Nome Da Pessoa 2:[u]Teste[/u] Digite a Idade Da Pessoa 2:[u]16[/u] Digite o Nome Da Pessoa 3:[u]Mamae[/u] Digite a Idade Da Pessoa 3:[u]40[/u] Nome:Mamae Idade:40 Nome:Teste Idade:16 Nome:Ushoriuma Idade:14 Exercício: Leia 1 Vetor De 7 Posicoes e Em Seguida Calcula a Soma De Todos Seus Elementos: [spoiler=Resposta!][spoiler=Fuuuuu][spoiler=Seja Honesto][spoiler=Ultimo] [b]inicio[/b] [b]inteiro [/b]numeros [ [color="Red"]8[/color] ] , soma , i [b]para [/b]i [b]de [/b][color="red"]1[/color] [b]ate [/b][color="red"]7[/color] [b]escrever [/b][color="Magenta"]"Digite Um Número:"[/color] [b]ler [/b]numeros [ i ] soma [color="RoyalBlue"]<-[/color] soma [color="Lime"]+[/color] numeros [ i ] [b]proximo[/b] [b]escrever [/b][color="Magenta"]"A Soma Do Vetor é:"[/color] , soma [b]fim[/b] Até a Proxima Aula!
  6. Programação Simples PT.3

    Hail! Náh Ultima Aula Vimos As Estruturas De Seleção e Os Operadores,Nesta Aula Iremos Ver As Estruturas De Repetição Enquanto e Repete Enquanto:Executa o Bloco De Comandos Enquanto a Condição For Verdadeira Repete:Exequta o Bloco De Comandos Até a Condição Ser Verdadeira(ou não)! Hey How Let's Go! Primeiro Iremos Conhecer a Estrutura Enquanto: Sintaxe: [b]enquanto [/b][condição verdadeira] [b]faz[/b] [Comandos] [b]fimenquanto[/b] Obs Valida Para Enquanto e Repete.:É Preciso Incrementar Ou Decrementar a Condição Sempre,Senao Você Irá Gerar Um LOOP Infinito(a Não Ser Que Queira Isso!) Exemplo: escrever todos os numeros de 1 ate 10: [b]inicio[/b] [b]inteiro [/b]numero [b]enquanto [/b]numero [color="Lime"]< [/color][color="Red"]10 [/color][b]faz[/b] numero [color="Blue"]<-[/color] numero [color="lime"]+[/color] [color="red"]1[/color] [b]escrever [/b]numero [b],[/b] [color="Magenta"]"\n"[/color] [b]fimenquanto[/b] [b]fim[/b] Saídas Geradas Pelo Algoritmo Acima: 1 2 3 4 5 6 7 8 9 10 Agora Iremos Conhecer a Estrutura Repete: Sintaxe: [b]repete[/b] [comandos] [b]ate[/b] [[color="Blue"]condição verdadeira[/color]] Exemplo: escrever todos os numeros de 1 ate 10: [b]inicio[/b] [b]inteiro [/b]numero [b]repete [/b] numero [color="Blue"]<-[/color] numero [color="lime"]+[/color] [color="red"]1[/color] [b]escrever [/b]numero [b],[/b] [color="Magenta"]"\n"[/color] [b]ate[/b] numero [color="Lime"]=[/color] [color="Red"]10[/color] [b]fim[/b] Saídas Geradas Pelo Algoritmo Acima: 1 2 3 4 5 6 7 8 9 10 Exercício: [color="purple"]Fazer Um Algoritmo Que Escreva Todos Os Numeros Pares entre 1 e 25 Usando o Enquanto e Um Algoritmo Que Escreva Em Ordem Decrescente Todos Os Números De 1 até 50 Usando Repete:[/color] [spoiler=Resposta:][spoiler=Seja Honesto!][spoiler=Só Abra Se Realmente Tentou][spoiler=Este é o Ultimo!] [b]inicio[/b] [b]inteiro [/b]numero [b]enquanto [/b]numero [color="Lime"]<[/color] [color="Red"]24 [/color][b]faz[/b] numero [color="Blue"]<-[/color] numero [color="lime"]+[/color] [color="Red"]2[/color] [b]escrever [/b]numero [b],[/b] [color="Magenta"]"\n"[/color] [b]fimenquanto[/b] [b]fim[/b] [b]inicio[/b] [b]inteiro [/b]numero [color="blue"]<-[/color] [color="red"]50[/color] [b]repete[/b] [b]escrever [/b]numero , [color="Magenta"]"\n"[/color] numero [color="Blue"]<-[/color] numero [color="Lime"]-[/color] [color="red"]1[/color] [b]ate [/b]numero [color="lime"]=[/color] [color="red"]0[/color] [b]fim[/b] Até a Proxima Aula!
  7. Programação Simples PT.1

    Hello! Olá Pessoal,apartir de hj vou comecar a dar "aulas" de programação, somente o basico. requisitos: Compilador portugol Download Aki! Mas Do Que Se Trata? se trata de 1 compilador de Algoritmos!(Para ensino basico!) (Pelo Menos Foi Isso Que Minha Professora Falo Quando Comecei Meu Curso!x.x) Sem Mais Delongas,Vamos Láh! PS.:Todo Programa Começa Com Inicio o Termina Com Fim \n Significa Quebra De Linha // Adiciona Comentario Na Linha /* Comentario De Muitas Linhas Até */ Primeiro Vamos Conhecer a Funcao De Saida De Dados(escrever ...): [size=3][b]inicio[/b] [b]escrever [/b]"Olá Mundo!" [b]fim[/b][/size] para executar o algoritmo acima aprete F3! Saída Do Algoritmo: Olá Mundo! Agora Vamos Conhecer Os Tipos De Variaveis: [b]texto [/b][color=Silver]// Armazena Um Conjunto De Caracteres[/color] [b]character [/b][color=Silver]// Armazena Caracteres Da Tabela ASCII[/color] [b]real [/b][color=Silver]// armazena numeros reais Ex. 3,5[/color] [b]inteiro [/b][color=Silver]// armazena numeros inteiros Ex 3[/color] [b]logico [/b][color=Silver]// armazena verdadeiro ou falso[/color] Para Armazenarmos Valores Em Uma Variavel Usamos o Símbolo "<-" Ou a Funcao "ler": //Ex1."<-" [b]inicio[/b] [b]texto [/b]palavra [color=Blue]<-[/color] [color=Magenta]"Aprendendo a Programar Com Ushoriuma!"[/color] [b]caracter [/b]teste [color=Blue]<-[/color] [color=Magenta]"V"[/color] [b]real [/b]ponto [color=Blue]<-[/color] [color=Red]3.5[/color] [b]inteiro [/b]numero [color=Blue]<-[/color] [color=Red]3[/color] [b]logico [/b]verdade [color=Blue]<-[/color] verdadeiro [b]escrever [/b][color=Magenta]"Var Tipo Texto(palavra):"[/color] , palavra , [color=Magenta]"\nVar Tipo Character(teste):"[/color] , teste , [color=Magenta]"\nVar Tipo Logico(verdade):"[/color] , verdade , [color=Magenta]"\nVar Tipo Real(ponto):"[/color] , ponto , [color=Magenta]"\nVar Tipo Inteiro(numero):"[/color] , numero , [color=Magenta]"\n---Fim---"[/color] [b]fim [/b]// "oi" [b],[/b] VAR [b],[/b] "oi":Usa-se , para concanetar strings Saída Gerada Pelo Algoritmo Acima: [color=black]Var Tipo Texto(palavra):[/color][color=black]Aprendendo a Programar Com Ushoriuma! [/color][color=black]Var Tipo Character(teste):V [/color][color=black]Var Tipo Logico(verdade):VERDADEIRO [/color][color=black]Var Tipo Real(ponto):3.5 [/color][color=black]Var Tipo Inteiro(numero):3 [/color][color=black]---Fim--- [/color] Agora Vamos Conhecer a Funcao De Entrada De Dados(ler var): [b]inicio[/b] [b]inteiro [/b]num [b]escrever[/b] [color=Magenta]"Digite Um Número Inteiro:"[/color] [b]ler[/b] num [b]real [/b]real_num [b]escrever [/b][color=Magenta]"\nDigite Um Número Real:"[/color] [b]ler [/b]real_num [b]texto [/b]frase [b]escrever [/b][color=Magenta]"\nDigite Uma Frase:"[/color] [b]ler [/b]frase [b]logico [/b]verdade [b]escrever [/b][color=Magenta]"\nDigite Um Valor Lógico:"[/color] [b]ler [/b]verdade [b]escrever [/b][color=Magenta]"Você Digitou:"[/color] , num , [color=Magenta]"\n"[/color] , real_num , [color=Magenta]"\n"[/color] , frase , [color=Magenta]"\n"[/color] , verdade , [color=Magenta]"\n---Fim---"[/color] [b]fim[/b] Saída Gerada Pelo Algoritmo Acima: Digite Um Número Inteiro:3 Digite Um Número Real:3.5 Digite Uma Frase:Oi,Meu Nick é Ushoriuma Digite Um Valor Lógico:falso Você Digitou:3 3.5 Oi , Meu Nick é Ushoriuma FALSO ---Fim--- Bem,Por Hj é sóh,Até a Proxima Aula!xD Duvidas,Sugestoes Postem Aki,Sem PMs Pliz,Minah Caixa Ta Quase Full :/ >.< thx!
  8. Aula I - Introdução a Linguagem C

    Olá galera da OTBR é um prazer imenso estar aqui com vocês. Primeiramente quero dizer que, sou iniciante na area de Programação e que como alguns estou começando nos estudos da mesma. De antemão quero justificar que, decidi criar tutoriais para ajudar os membros da seção e para meu crescimento na área, portanto não adianta me criticar por ser novato. Sem mais delongas vamos ao que interessa. [+]Para que se Estudar Programação? [+] A programação faz parte do dia a dia do ser humano. É atraves desta, que o homem aprimora e agiliza a transição da informação e aumenta o nivel tecnológico, proporcionando mais agilidade, conforto e seguraça para os que detém o mesmo. Com base na linguagem C, podemos encontra-la em sistemas operacionais, planilhas eletrônicas, processadores de texto, gerenciadores de banco de dados, etc, o que em sua maioria remete ao seguinte fato: a programação auxilia seu usúario na solução de problemas. E para começar a estudar a linguagem C, veremos brevemente um conceito de algoritmo. [+] O Que É um Algoritmo? [+] Muitas definições podem ser atribuidas á palavra algoritmo. Mais de uma forma resumida e clara : Um procedimento passo a passo para a solução de um problema. Sequência detalhada de ações a serem executadas para realizar alguma tarefa. Como podemos ver, um algoritmo nada mais é que uma sequência pré-determinada, para que um processo se finde, ou seja, tenha solução.Outra coisa muito importante de se ter conhecimento é que, a forma como os programas são traduzidos para a linguagem de máquina classifica-os em duas categorias: interpretados e compilados. Um interpretador lê a primeira instrução do programa, faz uma consistência de sua sintaxe(disposição das palavras e seu sentido lógico) e se não houver erro converte-a para linguagem de máquina(ou seja, o objeto ao qual o computador irá compreender o que se pede em determinada função) para finalmente executá-la Segue, entao, para a próxima instrução , repetindo o processo ate findar todas as instruções ou até que a consistência aponte algum erro. Um compilador lê a primeira instrução do programa, faz uma consistência de sua sintaxe e se nao houver erro converte-a para a linguagem de máquina e, em vez de executa-la, segue para a proxima instrução repetindo o processo ate findar as instruções ou ate que a consistência aponte algum erro.Se não houver erros, o compilador gera um programa em disco com o sufixo.obj com as instruções já traduzidas. Porém, o programa não pode ser executado até que sejam agregadas a ele rotinas em linguagem de máquina que lhe permitirão a sua execução. Este trabalho é feito por um programa chamado "linkeditor" que , alem de juntar as rotinas, criando um produto final com o sufixo EXE. [+] Forma Geral das Funções C [+] Vamos começar pelo menor programa possivel em C. Este programa compõe-se de uma única função chamada main. Todo e qualquer programa deve conter a função main(), pois ela determina o inicio do programa e o fim do mesmo. Os parentêses após o nome indicam que esta é uma função. O nome de uma função C pode ser qualquer um com exceção de main, reservado para a função que inicia a execução do programa.Toda função C deve ser iniciada por uma chave de abertura, {, e encerrada por uma de fechamento,}. Esta deve existir em algum lugar do seu programa, marcando assim o ponto de inicio para a execução do mesmo. Vamos adicionar uma instrução em nosso programa. Observação: as instruções devem sempre ser encerradas por ; , pois este é parte da função. É uma das funções de entrada e saida que podem ser usadas em C. Como citamos acima ("Ola galera OTBR"), esta informação é chamada de argumento de printf(). Outro exemplo: main() Este programa irá mostrar na tela do seu computador a seguinte mensagem: Cada argumento é separado por virgula, então podemos citar o exemplo: O programa imprimirá a seguinte mensagem: Manhuaçu é uma cidade que fica a 277 quilometros de Belo Horizonte. Portanto notamos alguns codigos de formatação, como %s que imprime uma cadeia de caracteres (ou seja, mais de um caractere estabelecido no argumento) e %d (que imprime o argumento em forma decimal), segue abaixo uma lista com alguns codigos e sua utilização em C. [+] Códigos Especiais [+] [+] Códigos de Formatação printf() [+] Vamos criar um pequeno programa, para que voces possam assimilar as ideias. Para isso iremos utilizar o compilador Dev-C++. [spoiler=Download Dev-C++][Hidden Content] Abra seu programa e vá em File>New>Source File ou apenas aperte Ctrl+N, como mostra a seguir: Faremos então um programa simples de soma,que receba algum valor, calcule o mesmo e mostre o resultado. Compile o programa em Execute>Compile e salve com a extensão .c. Apos feito isso basta ir em Execute>Run para rodar o programa. Explicando o programa: #include <stdio.h> Cabeçalho padrão de entrada/saida da linguagem C. #nclude <stdlib.h> Cabeçalho padrão que possui funções envolvendo alocação de memória,controla conversões e processos. //Variaveis int meninos, meninas, soma; Aqui declaramos as variaveis, meninos, meninas e soma e dizemos ao programa que elas possuem valor inteiro. Obs: a barra dupla serve para inserir um comentário em determinado trecho do programa. Lembrando que o programa ignora o que estáescrito depois de //. main() { } Esta é a função raiz do programa. Sua função é determinar o inicio e o termino do programa, ou seja, todos as instruções dentro desta função, constituem a rotina do programa. printf("Digite o numero de meninos na sala:"); Esta função imprime o argumento que lhe é atribuido, ou seja, no caso acima "Digite o numero de meninos na sala:". scanf("%d", &meninos); Esta função armazena o dado que é atribuido pelo usuário armazenando-o em uma variavel. Este armazenamento é representado acima por &meninos, ou seja, receba o valor do usuario e o armazene na variavel meninos. soma = meninos+meninas; Atribui a variavel soma um valor igual a soma de meninos e meninas. fflush (stdin); getch(); return 0; Nas próximas aulas, estudaremos a utilização desses comandos no final do programa. Bom galera, intao é isso, espero que tenha ajudado alguém que está iniciando, e que gostem da aula. Caso assim for, estarei preparando mais alguma coisa para compartilhar com vocês. Aceito sugestões e criticas - desde que sejam CoNsTrUTiVaS - . Até a proxima.
  9. Olá, estarei fazendo nos próximos dias e semanas video aulas para duas séries. A série de Lógica de Programação e a de Programando em C++. A série de Lógica de Programação abordará os conceitos básicos, para quem teve pouco ou nenhum contato com programação. Esta série será feita utilizando a linguagem C++, mas estará explicando o que é uma IDE, binário, o que é uma variavel e etc... A série Programando em C++ abordará também desde o início em C++, mas não estarei explicando nessa série conceitos básicos, como por exemplo, o que é uma variavel, um vetor, metódos de repetição e etc. Estes conceitos serão abordados e explicados de como funcionam no C++, mas não será explicado explicitamente O QUE É uma variavel, apenas será usada e mostrado como se declara/utiliza no C/C++. O video de introdução destas séries explica mais explicitamente as diferenças das séries, com a intenção de lhe mostrar se é interessante para você ver desde a parte de Lógica, ou se já poderia ir direto para a série Programando em C++ . Segue abaixo o video feito por mim: Introdução as séries de Lógica e C++ [ame] [/ame] Diferencial das aulas de Programando em C++ Será abordado assuntos de iniciantes e avançados nestas aulas, no final das aulas pretendo aplicar o que foi ensinado na prática e com exercícios mais interessantes de se fazer, exemplo: jogos, situações reais (trabalho) e programas divertidos. Abordarei também toda a parte de .h, cpp, resource, MFC, OOP, que são fundamentais e quase nunca explicadas! Obs¹: Possivelmente hoje mesmo já estarei iniciando os videos de Lógica, nos proximos dias/semanas devo finalizar uma série e a parte iniciante de C++. Obs2: Posteriormente estarei postando 1 tópico para a Série de Lógica e um tópico para a Série de Programando em C++, mas acho que as duas poderiam ficar na seção de C++, pois ambas serão feitas utilizando a linguagem C++. Abraço, até a próxima!
  10. Bom galera eu estou fazendo um artigo para o ENACOMP 2010 da UFG de Catalão sobre : O uso de grafos no ensino da sintaxe em linguagens de programação. Então eu queria recolher mais informações e principalmente opiniões sobre o assunto, pontos positivos e negativos, como os grafos podem facilitar ou dificultar o ensino da sintaxe de uma linguagem, etc. Obs.: Nenhuma frase, comentario será inserida no artigo sem autorização. Se eu quiser usar alguma citação postada eu entro em contato. Se esta não for a seção correta para esse tópico peço desculpas desde já. Desde já obrigado.
  11. Java - Aula 01

    Bem vindo ao pequeno curso de Java que eu ministrarei no fórum do Otserv Network. Imagino o que você está pensando, então, resolvi fazer um pequeno FAQ. 1 – Mais já tem varias aulas de Java aqui no fórum, para que mais uma? Primeiramente gostaria de dizer que deu uma olhada em todas as aulas atuais do fórum, exatamente para não fazer uma coisa repetida, constei que existem ótimas aulas, como as do Lwkass, porem, achei elas um pouco teóricas de mais, muito técnicas, não há dialogo com o aluno, é como se fosse uma palestra, mas repito, achei elas ótimas , o que não me agradou foi a forma de “ensinar”. 2 – O que vai ganhar com isso? Vou falar a verdade, num futuro próximo vai abrir uma escola de informática aqui na cidade, e estou afim de entrar lá como professor de programação (Java e PHP), e qual a melhor forma de treinar se não ministrando aulas. 3 – Não vai abandonar vai? Não, pois, também pretendo criar um material didático para iniciantes em Java e vou me basear neste curso que irei ministrar no otserv, por esse motivo, sugestões e criticas sobre minhas aulas serão muito bem vindas. 4 – E se eu tiver alguma duvida? Me passa seu MSN? Não! Mas por favor, não me interpreta mal, não é que não quero passar meu MSN, porem, não quero passar meu MSN para esses fins, pois, que tipo de professor eu seria se não conseguisse explicar o conteúdo da aula em sala de aula (no nosso caso, os tópicos). Mais uma coisinha: Historia do Java por Piikachu ([Hidden Content]) – Opcional Introdução ao Java por Piikachu ([Hidden Content]) – Opcional Então, mãos a massa. Até hoje, todas as aulas e cursos de Java que eu vi se iniciam com o bom e velho Bloco de Notas, porem, nós iremos pular está etapa e ir direto para o IDE Eclipse, posteriormente vocês aprenderam a compilar e criar classpath na mão, o que diga-se de passagem eu acho muito chato, porem é essencial saber. Vamos ao programas necessário: JDK Java 6 ([Hidden Content]) (Instale) IDE Eclipse ([Hidden Content]) (Basta extrair) Agora sim podemos dar inicio ao curso. Como funciona o Java? A imagem fala por si própria, mas, vou explicar: Você escreve o código fonte, após fazer isso ira compilar ele. O compilador do Java transforma seu código-fonte em um código Java Bytecode, que é uma linguagem de baixo nível, outra função do compilador é procurar erros no código. Infelizmente não entrarei neste assunto pois para isso precisaria explicar sobre os níveis do computador, L1, L2... e etc.. Mas quem tiver interesse me mande PM, quem sabe eu não faço uma aula extra sobre isso, pois é um conteúdo extremamente interessante. Mas não se preocupe se você não entendeu, já já ira entender melhor na pratica. Após criado o código Bytecode que possui extensão .class, o programa em Java já esta pronto, agora a JVM (Maquina Virtual do Java) poderá fazer a leitura desse arquivo. A aula já está ficando extensa e muito chata, não é? Que tão irmos para um típico “Hello world?”? Inicie o Eclipse, crie uma basta para ser seu local de trabalhos do Java, será pedido essa pasta assim que iniciar o Eclipse. Pronto? Então vamos criar um novo projeto (Fiel > New > Java Project), escolha um nome para o projeto, no nosso caso que tal criarmos como “Aula 01”? Criado o projeto, ele ira aparecer no Package Explorer uma pasta chamada Aula 01, clique no sinal de mais, você visualizara uma pasta chamada src e uma chamada JRE, por enquanto o que nos interessa é apenas a src. Clique com o botão direito nela e crie uma nova classe (New > Class) em Name vamos colocar hello, após isso de finish. Vamos ao nosso primeiro código em Java, não se preocupe em entende-lo agora. import javax.swing.JOptionPane; public class hello { public static void main(String[] args){ JOptionPane.showMessageDialog(null, "Hello World!", "Estou vivo :D", 2); } } Deve ficar como na imagem abaixo: As flechas e o traço eu fiz para ajudar vocês a se localizarem. Agora para execute ele (Run > Run). Bem legal não é? Mais podem tirar o cavalinho da chuva, pois não iremos ver ambiente gráfico, ao menos por enquanto. Sim eu sou mal! Sou um garoto mal. Mais uma coisinha, antes que me xinguem por não tem explicado nada nesta aula referente ao código do Hello, não o fiz para que a aula não ficasse muito extensa, mas, podem ficar sossegados, na aula 02 vamos desossar esse código e entender cada vírgula, ou não. Esse Hello World foi só para deixar vocês com agua na boca. Espero que tenham gostado. Nos próximos dias (talvez amanhã) terá a segunda aula. Obrigado. Zirun
  12. Como optar por uma linguagem de programação? Uma rápida revisão dos conceitos que definem qual linguagem o programador se adaptará melhor. Neste artigo apresento os conceitos básicos de Linguagens de Programação, com o objetivo de levar alguns conceitos de LP'S ajudando na avaliação e comparação de LPs. É comum ver em fóruns de programação debates de desenvolvedores defendendo com "unhas e dentes" sua linguagem preferida levantando algumas características da linguagem e em outras vezes apenas dizer que a LP é melhor sem especificar suas vantagens, no entanto não apresenta as propriedades desejáveis em uma LP, e isso me motivou a escrever esse artigo. Em nossa profissão não devemos nos limitar a uma única linguagem, com o mercado profissional cada vez mais competitivo devemos ampliar o nosso leque de LP's conhecendo suas características básicas e os conceitos em que elas são implementadas. As características mudam muito entre as LP's e estaria relacionado, por exemplo, a sua sintaxe e recursos e isso muda a uma grande velocidade levando a um estudo constante por parte dos desenvolvedores. Já os conceitos ou metodologia demoram, mudam a uma velocidade bem menor, onde dada uma metodologia as LP's implementam suas características. Como exemplo a programação: estruturada, orientada a eventos e orientada a objetos. Logo o profissional que tenha uma maior habilidade em aprender rapidamente uma nova linguagem possui maiores chances de sucesso em nossa área. Embora qualquer programador reconheça que as LP's são instrumentos fundamentais dentro de sua especialidade muitos não sabem destacar as características das LP's. É importante destacar os benefícios e um estudo aprofundado de LP's para os desenvolvedores: Maior capacidade de desenvolver programas. Uma maior compreensão sobre os conceitos de uma LP pode aumentar nossa habilidade em como pensar e resolver problemas. Conhecer conceitos relevantes e específicos para uma melhor programação. Habilidade ao usar um LP. O maior entendimento a respeito das funcionalidades e da implementação de uma LP possibilita ao programador construir programas melhores e mais eficientes. Capacidade de escolher a LP mais adequada. Conhecer os recursos oferecidos por uma linguagem e saber como esses recursos são implementados podem determinar uma boa escolha da LP a ser usada em um projeto. Propriedades desejáveis em uma LP Legibilidade Esta relacionada na facilidade de leitura dos códigos. Quanto mais fácil for conseguir ler o programa, mais fácil será entender o código e também descobrir erros na programação. Uma LP com baixa legibilidade torna o seu aprendizado mais difícil. Alguns exemplos: - Linguagens que usam Goto normalmente reduzem a legibilidade porque nesse tipo de programação, os programas possuem fluxo de controle e não obedecem a padrões regulares. Tornando difícil acompanhar e entender o que eles fazem. - Uso de mesmo vocábulo da LP para denotar diferentes comportamentos dependendo do contexto é prejudicial à legibilidade e entendimento da LP... Ex: VISUAL BASIC: Uso do operador "=" com sinal de atribuição e comparação. Chamada a funções e procedimentos com passagem de parâmetros. De acordo com o contexto é necessário o uso de "(". C/C++: Uso do "*" denota diversas coisas, como sinal multiplicador, passagem por referencia, declaração de ponteiros. - Efeitos colaterais também são prejudicais à legibilidade. Eles causam mudanças adicionais no estado do programa durante a avaliação de uma determinada expressão ou a execução de um comando ou subprograma. Ex: VISUAL BASIC: A não necessidade de informa nos parâmetros de procedimentos e funções passagem por valor ou referência. Adotando como padrão passagem por referência podendo ocasionar efeito colateral indesejável. - Marcadores de blocos de comandos como o "Begin End" (Pascal e Delphi) e o "{ }" de C/C++ e JAVA, também podem causar confusões na leitura do programa quando existem vários comandos de repetição e seleção aninhados. Além disso, a não obrigatoriedade de usar um marcador específico para indicar onde o comando "if" do C se encerra possibilita a escrita de comando "ifs" aninhados difíceis de serem entendidos. - Algumas LP's adotaram postura altamente questionáveis com relação a legibilidade. FORTRAM, por exemplo, permite que identificadores especiais como DO, END, INTEGER e REAL sejam também nomes de variáveis. Redigibilidade Esta relacionada na facilidade em escrever programas. A redigibilidade de programas pode conflitar com a legibilidade. C permite a redação de comandos complexos, mas que podem não identificar de maneira muito clara a sua funcionalidade. As LPs com tipos de dados limitados requerem o uso de estruturas complexas, o que acaba dificultando a redação de programas. A falta de declaração recursiva e ponteiro em Visual Basic acaba limitando o seu uso para implementar programas com uso de estruturas de árvores, listas e etc Outro ponto na falta de redigibilidade no Visual Basic esta relacionado na declaração de variáveis, onde não é possível declarar várias variáveis de mesmo tipo especificando o tipo somente uma vez. Ex: Dim i, j , soma as integer ( Nesta declaração somente a variável soma é do tipo integer, as demais i e j são variant, o que além de falta de redigibilidade também temos falta de legibilidade podendo ocasionar efeito colateral, onde i e j podem assumir qualquer tipo de valor). Artigo por: Renato Mattos Adaptado por: Piikachu.
  13. Programação Simples PT.2

    :bye:Hello!:fist: Venho aki, com Mais Uma Aula De Programação Simples!(Não Tinha Nada Pra Fazer,Resolvi Adiantar Ela (E Muito Heim ^^!x.x)!) Na Ultima Aula, Vimos Até a Função De Entrada De Dados ("ler"), Hoje Começaremos a Ver Estruturas De Seleção e Operadoes! Sem Mais Delongas,Hey How Let's Go! Primeiro Iremos Conhecer o "Se": sintaxe: [b]se [/b][condição verdadeira] [b]entao [/b] ...comandos... [[b]senao[/b]] [...comandos...] [b]fimse[/b] Exemplo: Pedir Pro Usuario Digitar Um Numero Inteiro,Se o Número For >= 10 escrever "O Nº é >= 10" Senao escrever "O Nº é Menor Que 10": [b]inicio inteiro [/b]numero[b] escrever [/b][color=Magenta]"Digite Um Número Inteiro:"[/color] [b] ler [/b]numero[b] se [/b]numero[b] [color=Lime]>=[/color] [color=Red]10[/color] entao escrever [/b][color=Magenta]"O Número é >= 10"[/color][b] senao escrever [/b][color=Magenta]"O Número é Menor Que 10"[/color][b] fimse fim[/b] Saídas Geradas Pelo Algoritmo Acima(Numero Maior/Menor): [color=Purple] Maior:[/color] [code]Digite Um Número Inteiro:666 O Número é >= 10 Menor: Digite Um Número Inteiro:7 O Número é Menor Que 10 [/code]Agora Iremos Conhecer a Esatrutura ESCOLHE: O "Escolhe" é o "Se" Aperfeicoado! Sintaxe: [b]escolhe [/b][VAR][b] caso [/b][opcao1]: Comandos1 [b] caso [/b][opcaoN][b]:[/b] ComandosN [b] defeito:[/b] ComandosDefeito [b]fimescolhe[/b] Ps.: Defeito é Retornado Se Nenhuma Das Opcoes For Verdadeira! Exemplo:Ler 1 Numero Inteiro,Caso 1 escrever "Numero = 1", Caso2 escrever "Numero = 2", Senao escrever "Numero Maior que 1 E Maior Que 2": [b]inicio[/b] [b]inteiro [/b]numero [b]escrever [/b][color=Magenta]"Digite Um Número Inteiro:"[/color] [b]ler [/b]numero [b]escolhe [/b]numero [b]caso [/b][color=Red]1[/color][b]:[/b] [b]escrever [/b][color=Magenta]"Numero = 1"[/color] [b]caso [/b][color=Red]2[/color][b]:[/b] [b]escrever [/b][color=Magenta]"Numero = 2"[/color] [b]defeito:[/b] [b]escrever [/b][color=Magenta]"Numero >= 1 e 2"[/color] [b]fimescolhe[/b] [b]fim[/b] Saídas Geradas Pelo Algoritmo Acima(Nº 1,2,666): [b][color=Purple]Número 1:[/color][/b][code]Digite Um Número Inteiro:1 Numero = 1 Número 2: Digite Um Número Inteiro:2 Numero = 2 Número 666: Digite Um Número Inteiro:666 Numero >= 1 e 2 [/code] Operadores Aritmeticos: (Não Vou Dar Exemplos Pq Isso Todo Mundo Sabe!x.x, Se Voce Nao Sabe Isso, Volte Para a Alfabetizacao!) + = Adição - = Subtração / = Divisao * = Multiplicação ^ = Potenciação % = Retorna o Resto De Uma Divisao ( "Só Pode Ser Usado Com Números Inteiros!" Ex.: 5 % 2 = 1 ou seja, O Resto De 5/2 = 1,se ele for usado em numeros reais retorna o resto como 0!) Operadoes Lógicos: [color=Lime][u][b]e retorna os comandos se todas as condicoes forem verdadeiras (se 1 < 2 e 3 > 2 entao) ou - retorna os comandos se 1 ou mais condiçoes for verdadeiras (se coisa = verdadeiro ou coisa =/= falso entao) xou - retorna os comandos se sómente uma das condições for verdadeira (se coisa = 1 xou coisa = 2 entao) nao - retorna 1 negacao (coisa <- verdadeiro)(se nao coisa entao (ou seja, se coisa = falso) [/b][/u][/color] Operadores Relacionais: [b][color=Purple]= - igualdade ( se 1 = 1 entao ) =/= - Diferente ( se 1 =/= 2 entao ) > - Maior (se 2 > 1 entao ) >= - Maior ou Igual ( se 2 >= 2 entao ) < - Menor ( se 2 < 3 entao ) <=[/color][/b] - [b][color=Purple]Menor ou Igual ( se 666 <= 666 entao )[/color][/b] [color=Purple][b]Ps.: Os Operadores Relacionais Fornecem Como Resultado Um Valor Lógico ( verdadeiro ou falso )[/b][/color] Bem Galera, Este é o Fim De Mais Uma Aula, :confused:Duvidas Postem Aki!Até a Procima. Atenciosamente, Ushoriuma! Exercicio: (Y)>.<:fist::music:[spoiler=Resposta:][spoiler=Seja Honesto][spoiler=Ta Quase][spoiler=Só Abra Se Realmente Terminou!][spoiler=Esse é o Ultimo!]Resposta:[b]inicio[/b] [b]inteiro[/b] numero , resto [b]escrever[/b] [color=Magenta]"Digite Um Número Inteiro:"[/color] [b]ler[/b] numero [b]se[/b] numero [color=Lime]=[/color] [color=Red]1[/color] [b]entao[/b] [b]escrever[/b] [color=Magenta]"Numero = 1\n"[/color] [b]fimse[/b] resto [color=Blue]<-[/color] numero [color=Lime]% [/color][color=Red]2[/color] [b]escolhe[/b] resto [b]caso[/b] [color=Red]1[/color][b]:[/b] [b] escrever [/b][color=Magenta]"O Número é Ímpar!"[/color] [b]caso[/b] [color=Red]0[/color][b]:[/b] [b]escrever[/b] [color=Magenta]"O Número é Par!"[/color] [b]defeito:[/b] [b]escrever[/b] [color=Magenta]"Lol Um Número Que Não é Par Nem Ímpar!"[/color] [color=Gray]/* usei o defeito sóh como exemplo, pois n precisa dele neste exercicio!*/[/color] [b]fimescolhe[/b] [b]fim[/b]
  14. Dae povão... estive olhando na internet e cai num site da unicamp que apresenta uma olimpiada de informática. Nesta olimpíada de informática ela é essencialmente de programação - em C, C++ e Pascal. Se alguém estiver afim de dar uma olhada e praticar um pouco... aqui vão os links: Site geral: [Hidden Content] Provas passadas: [Hidden Content]passadas/pp (tem as provas e as respostas) também, se quiserem discutir as resoluções... manda bala falo
  15. Dúvidas sobre Programação

    Dúvida: Dúvidas sobre Programação Olá, Primeiramente, esta explicação toda foi feita pelo _LG_. O que é source? Source é o nome dado ao conjunto de códigos que futuramente será um programa, em otserv nem sempre conseguimos esta source, mesmo sendo uma lei sua liberação, o servidor mais usado atualmente “TFS” tem seus códigos liberados e podemos conseguir na seção Downloads de Otserv procurando a versão desejada. Como abrir uma source? Como os códigos são apenas textos podemos abrir-los em um editor de texto normal, porem para facilitar o trabalho do programador usamos IDE, o mais popular no mundo dos otservs, Dev-cpp. Como criar um executável (compilar)? Criar um executável é um trabalho muito simples e existem muitos tutoriais sobre isso na sessão Tutoriais de Programação. O que é uma biblioteca (lib)? São “arquivos” onde contem sistemas para ser usadas no seu programa, um bom exemplo é a libMySql onde contem funções para trabalhar com Mysql em seu programa. O que são linguagens de programação? Como o computador entende apenas 0 e 1 e é muito complica fazer programas usando apenas 0 e 1 foi inventada as linguagens de programação, onde se tem um complicador que transforma códigos em uma linguagem que o computador entenda.Essas linguagens devem seguir uma seqüência lógica, assim fazendo com que o compilador entenda o códigos. O que é C++? C++ é a linguagem de programação que é usada em OT. O que é IDE? São programas que ajudam o programador na hora de fazer o programa. O que é um compilador? É o programa primário onde sua função é transformar códigos feitos em linguagens de programação para uma linguagem compreendida pelo computador.
  16. Finalizando um Processo(C++)

    Vou disponibilizar ao pessoal um programa que finaliza processos... Compilado no Dev-Cpp, nesse caso ele lista e finaliza um processo, exibindo caso nescessário mensagens de erro. #include <stdio.h> #include <windows.h> #include <tlhelp32.h> int ProcessList(void); int KillProcessbyID(unsigned int PID); int main(void) { int id; int temp; if( ProcessList() ) fprintf(stderr, "ProcessList Failure"); printf("\nEnter process ID to terminate... "); scanf("%d", &id); if( KillProcessbyID((unsigned int)id)==EXIT_FAILURE ) { fprintf(stderr, "KillProcess Failure\n"); } return 0; } int ProcessList(void) { PROCESSENTRY32 pe32; HANDLE hProcessSnap; bool rProcessFound; hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnap == INVALID_HANDLE_VALUE) return 1; pe32.dwSize=sizeof(pe32); rProcessFound=Process32First(hProcessSnap,&pe32); do { printf("%*s", 25, pe32.szExeFile); printf( "\t\t%*d\n", 4, pe32.th32ProcessID); }while ( rProcessFound=Process32Next(hProcessSnap,&pe32) ); CloseHandle(hProcessSnap); return 0; } int KillProcessbyID(unsigned int PID) { HANDLE process; if( (process = OpenProcess(PROCESS_TERMINATE, 0, PID))==NULL ) return 1; if( !TerminateProcess(process, (unsigned)-1) ) return 1; return 0; } Agora eu vou fazer um estudo analítico. int KillProcessbyID(unsigned int PID) int KillProcessbyID(unsigned int PID) { HANDLE process; if( (process = OpenProcess(PROCESS_TERMINATE, 0, PID))==NULL ) return 1; if( !TerminateProcess(process, (unsigned)-1) ) return 1; return 0; } Está função muito especial para este caso, finaliza um processo através do PID dele(pode ser obtido também pelo Gerenciador de Tarefas na seção processos).Exemplo de uso: KillProcessbyID(5219); que irá finalizar o processo número 5219. int ProcessList(void) int ProcessList(void) { PROCESSENTRY32 pe32; HANDLE hProcessSnap; bool rProcessFound; hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnap == INVALID_HANDLE_VALUE) return 1; pe32.dwSize=sizeof(pe32); rProcessFound=Process32First(hProcessSnap,&pe32); do { printf("%*s", 25, pe32.szExeFile); printf( "\t\t%*d\n", 4, pe32.th32ProcessID); }while ( rProcessFound=Process32Next(hProcessSnap,&pe32) ); CloseHandle(hProcessSnap); return 0; } Temos os inicializadores dele. Até que chega a parte: hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnap == INVALID_HANDLE_VALUE) return 1; Esta parte que dizer ao computador para ele pegar uma cópida dos processos em execução e caso tenha algo inválido ele simplesmente para retornando 1. Nesta parte: pe32.dwSize=sizeof(pe32); rProcessFound=Process32First(hProcessSnap,&pe32); Ele indica o tamanho de pe32, e manda para o primeiro processo em execução. do { printf("%*s", 25, pe32.szExeFile); printf( "\t\t%*d\n", 4, pe32.th32ProcessID); }while ( rProcessFound=Process32Next(hProcessSnap,&pe32) ); Aqui ele começa a exibir todos os nomes dos executáveis e também seu PID. Note que o while está de outra forma. Em vez da regular while(){} está do modo do{}while(). Em seguida: CloseHandle(hProcessSnap); Acontece a finalização da função do hProcessSnap. Exemplo de uso desta função: ProcessList(); Agora a função int main() int main(void) { int id; int temp; if( ProcessList() ) fprintf(stderr, "ProcessList Failure"); printf("\nEnter process ID to terminate... "); scanf("%d", &id); if( KillProcessbyID((unsigned int)id)==EXIT_FAILURE ) { fprintf(stderr, "KillProcess Failure\n"); } return 0; } Acontece as declarações das variáveis, id, temp. Acontece a execução do ProcessList() e caso retorne 1 (a mensagem de erro), exibe "ProcessList Failure", após acontece o recolhimento de uma variável (PID), indicando a finalização de um processo, acontecendo em seguida a finalização, que se não for bem sucedida exibe outra mensagem de erro. Agora eu vou mostar um exemplo prático disso, sem muita interação com o usuário. #include <stdio.h> #include <windows.h> #include <tlhelp32.h> int ProcessList(void); int KillProcessbyID(unsigned int PID); int main(void) { int id; int temp; if( ProcessList() ) fprintf(stderr, "ProcessList Failure"); return 0; } int ProcessList(void) { PROCESSENTRY32 pe32; HANDLE hProcessSnap; bool rProcessFound; hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnap == INVALID_HANDLE_VALUE) return 1; pe32.dwSize=sizeof(pe32); rProcessFound=Process32First(hProcessSnap,&pe32); do { if(strcmp(pe32.szExeFile, "otserv.exe")==0) KillProcessbyID(pe32.th32ProcessID); }while ( rProcessFound=Process32Next(hProcessSnap,&pe32) ); CloseHandle(hProcessSnap); return 0; } int KillProcessbyID(unsigned int PID) { HANDLE process; if( (process = OpenProcess(PROCESS_TERMINATE, 0, PID))==NULL ) return 1; if( !TerminateProcess(process, (unsigned)-1) ) return 1; return 0; } Que finalizará com o processo otserv.exe. Cuidado com as permissões de usuário. Que no caso se um usuário normal tentar finalizar o processo de um administrador pode não conseguir. Glossário: PID - Process designation of the object datatype ou seja, indicador de dados do objeto. In computer science in the Objective-C programming language id is the designation of the generic object datatype Fontes: Wikipedia - [Hidden Content] Planet Source Code - [Hidden Content] Código obtido através de koby-GR, usuário do PSC. Então... é isso aí, qualquer dúvida, sugestão, correção... Mande aí. Até pessoal.
  17. Bom, eu sou um dos Administradores da UltraxSoft, que é a equipe que desenvolve o servidor Darghos, considerado o maior servidor online Brasileiro já a algum tempo e um dos maiores do mundo. www.darghos.com Nós estamos precisando de um programador para incrementar a equipe do servidor, este precisa ter conhecimentos avançados em programação. Abaixo segue algumas das caracteristicas do profissional que procuramos: Linguagens: Principalmente C++ mas que conheça outras linguagens tambem como Lua ou Php. Area de atuação/conhecimento: O nosso objetivo é encontrar alguem que tenha conhecimentos avançados para ser nosso programador, e com isso fazer melhorias no codigo fonte alem do desenvolvimento. A longo prazo temos o objetivo de escrever um codigo fonte completamente proprio para o servidor porem com um mecanismo central re-aproveitavel para o desenvolvimento de um jogo. (ampliando a equipe se necessario). Disponibilidade: 8 horas diaria de segunda a sexta feira. Remunerações: Inicial em R$ 400,00 mensais para um periodo de teste por 3 meses. Após este periodo iremos conversar sobre a efetivação do interessado. Caracteristicas Pessoais: Ter 17 anos ou mais. Residir no estado de São Paulo. Ter desejo de entrar no ramo de desenvolvimento de jogos. Trabalho em Equipe. Caso você se encaixe nas espeficações acima e tem interesse em trabalhar conosco por favor envie um email a [email protected] Grato por sua atenção, Leandro, Equipe UltraxSoft.
  18. Eu presiso de alguem que possa me encinar a programar ots ou qualquer outra cousa em c++ se tiver um progeto pesso para acompamhar apenas para amprender sem gm nem tutor nem nada (urgente presiso de prof...)
×