Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: CodeIgniter ::: Classes, Controles e Componentes ::: Controller

Como usar a função _remap() para remapear os métodos invocados em um controller

Quantidade de visualizações: 7116 vezes


Por padrão, se um método não estiver especificado na URL de uma aplicação CodeIgniter, o método index() do controller é automaticamente chamado. Podemos usar a função _remap() para controlar este comportamento. Veja o trecho de código a seguir:
class Cadastro extends Controller{
  function Cadastro(){
    parent::Controller();	
  }
	
  function index(){
    $this->load->view('view_cadastro');
  }
	
  function gravar(){
    echo "Sou a função gravar";
  }
}
Se acessarmos este controller sem especificar o método na URL, a função index() será chamada e a visão view_cadastro será carregada. Porém, se quisermos que a função gravar() seja chamada em vez de index(), podemos usar a função _remap(). Veja:
function _remap(){
  // chama a função gravar()
  $this->gravar();
}
Adicione este método ao controller e veja que, independente de qual método for passado pela URL, a função gravar() sempre será chamada. É claro que podemos novamente controlar este comportamento, passando o nome da função que deverá ser mapeada para outra. Veja:
<?php
class Cadastro extends Controller {
  function Cadastro(){
    parent::Controller();	
  }
	
  function _remap($method){
    // chama a função gravar() somente se o método
    // for "excluir"
    if($method == "excluir")
      $this->gravar();
    else
      $this->index();
  }
	
  function index(){
    $this->load->view('view_cadastro');
  }
	
  function gravar(){
    echo "Sou a função gravar";
  }
	
  function excluir(){
    echo "Sou a função excluir";
  }
}
?>


Link para compartilhar na Internet ou com seus amigos:

C++ ::: Dicas & Truques ::: Matemática e Estatística

Como testar se um número é primo em C++

Quantidade de visualizações: 2638 vezes
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos.

É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par.

Veja agora um código C++ completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não:

#include <iostream>
#include <cstdlib>
   
using namespace std;
   
int main(int argc, char *argv[]){
  int numero;
  bool primo = true;
	
  // vamos solicitar um número inteiro positivo
  cout << "Informe um número inteiro positivo: ";
  cin >> numero;
    
  // o número é negativo?
  if(numero < 0){
    cout << "Número inválido.\n\n";
  }
  // é 0 ou 1?
  else if((numero == 0) || (numero == 1)){
    cout << "Número válido, mas não é primo.\n\n";
......


Ao executar este código C++ nós teremos o seguinte resultado:

Informe um número inteiro positivo: 9
O número informado não é primo


PHP ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular a equação reduzida da reta em PHP dados dois pontos pertencentes à reta

Quantidade de visualizações: 588 vezes
Nesta dica de PHP veremos como calcular a equação reduzida da reta quando temos dois pontos pertencentes à esta reta. Não, nessa dica não vamos calcular a equação geral da reta, apenas a equação reduzida. Em outras dicas do site você encontra como como isso pode ser feito.

Para relembrar: a equação reduzida da reta é y = mx + n, em que x e y são, respectivamente, a variável independente e a variável dependente; m é o coeficiente angular, e n é o coeficiente linear. Além disso, m e n são números reais. Com a equação reduzida da reta, é possível calcular quais são os pontos que pertencem a essa reta e quais não pertencem.

Vamos começar então analisando a seguinte figura, na qual temos dois pontos que pertencem à uma reta:



Note que a reta da figura passa pelos pontos A(5, 5) e B(9, 2). Então, uma vez que já temos os dois pontos, já podemos calcular a equação reduzida da reta. Veja o código PHP completo para esta tarefa:

<?php
  // para executar abra uma janela de comando
  // cmd e dispare o comando abaixo:
  // C:\xampp\php>php c:\estudos_php\estudos.php
   
  // para ler a entrada do usuário
  $entrada = fopen("php://stdin","r");
  
  // vamos ler as coordenadas do primeiro ponto
  echo "Coordenada x do primeiro ponto: ";
  $x1 = fgets($entrada);
  echo "Coordenada y do primeiro ponto: ";
  $y1 = fgets($entrada);
    
  // vamos ler as coordenadas do segundo ponto
  echo "Coordenada x do segundo ponto: ";
  $x2 = fgets($entrada);
......


Ao executar este código PHP nós teremos o seguinte resultado:

Coordenada x do primeiro ponto: 5
Coordenada y do primeiro ponto: 5
Coordenada x do segundo ponto: 9
Coordenada y do segundo ponto: 2
Equação reduzida: y = -0,75x + 8,75

Para testarmos se nossa equação reduzida da reta está realmente correta, considere o valor 3 para o eixo x da imagem acima. Ao efetuarmos o cálculo:

>> y = (-0.75 * 3) + 8.75
......


temos o valor 6.5 para o eixo y, o que faz com que o novo ponto caia exatamente em cima da reta considerada na imagem.


Java ::: Reflection (introspecção) e RTI (Runtime Type Information) ::: Passos Iniciais

Java Reflection - Como exibir os nomes de todas as superclasses de uma determinada classe usando introspecção em Java

Quantidade de visualizações: 7613 vezes
Nesta dica veremos como tirar proveito dos métodos getClass(), getName() e getSuperclass() da classe Class da linguagem Java para exibirmos todas as super classes de um determinada classe, até chegarmos à super classe mais alta na hierarquia, ou seja, a classe Object.

Note como usamos um objeto da classe Stack para criarmos uma estrutura de dados do tipo pilha que nos permite obter os nomes das super classes e depois exibir os mesmos na ordem inversa.

Veja o código completo para o exemplo:

package arquivodecodigos;

import java.util.Stack;
import javax.swing.*;
 
public class Estudos{
  // vamos precisar de uma pilha aqui
  static Stack<String> pilha = new Stack();
    
  public static void main(String args[]){
    // Exibe todas as superclasses de JPanel
    JPanel panel = new JPanel();
    obterSuperclasses(panel);
 
    // agora vamos exibir os resultados na ordem
    // contrária que eles foram obtidos
    int cont = 0;
    while(pilha.size() > 0){
      // insere espaços antes
      String ident = "";
      for(int i = 0; i < cont; i++){
        ident = ident + "   ";   
......


Ao executarmos este código Java nós teremos o seguinte resultado:

java.lang.Object
   java.awt.Component
      java.awt.Container
         javax.swing.JComponent
            javax.swing.JPanel



Java ::: Dicas & Truques ::: Programação Orientada a Objetos

Como criar uma classe Java e usar new para criar novas instâncias da mesma

Quantidade de visualizações: 21098 vezes
Esta dica mostra a você, rapidamente, como criar uma classe Java e usar a palavra-chave new para instanciar objetos a partir desta classe. Comece analisando o código para a classe Pessoa (Pessoa.java):

public class Pessoa{ 
  public String nome;
......


Salve o código como Pessoa.java e compile-o. Esta classe possui apenas duas propriedades: nome e idade. Lembre-se que uma classe é composta de propriedades e métodos (funções). Veja agora como criamos um objeto desta classe e acessamos sua propriedade nome:

public class Estudos{ 
  public static void main(String args[]){ 
    // cria um objeto da classe Pessoa
    Pessoa p = new Pessoa();
......


Observe o uso da palavra-chave new para reservar memória para o objeto da classe sendo criado na instrução:

Pessoa p = new Pessoa();
......


Observe também o uso do operador "." (ponto). Este operador é usado para acessarmos as propriedades e métodos presentes nos objetos das classes em Java.


C# ::: Dicas & Truques ::: Data e Hora

Como exibir a data atual completa e as horas no formato curto em C# usando o sinalizador {0:f} da função Format() da classe String

Quantidade de visualizações: 11142 vezes
Nesta dica mostrarei como usar o sinalizador {0:f} da função Format() da classe String para exibir a data completa e as horas no formato curto, algo como "quarta-feira, 16 de março de 2022 11:19".

Veja o código C# completo:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // vamos obter a data e hora atual
      DateTime dataHora = DateTime.Now;

      // vamos exibir a data completa e as hora no formato curto
......


Ao executar este código C# nós teremos o seguinte resultado:

Hoje é: quarta-feira, 16 de março de 2022 11:19

Veja que aqui eu mostrei a data e as horas diretamente na saída do programa. Podemos usar uma variável intermediária também. Veja:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // vamos obter a data e hora atual
      DateTime dataHora = DateTime.Now;

      // vamos guardar a data completa e as hora no formato curto
      string dataHoraStr = String.Format("{0:f}", dataHora);
......



Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 7 usuários muito felizes estudando em nosso site.