Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais
Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: PHP ::: Dicas & Truques ::: Matemática e Estatística

Como arredondar um valor fracionário para baixo usando a função floor() do PHP

Quantidade de visualizações: 6743 vezes
A função floor() é usada quando queremos arredondar um valor fracionário para baixo, ou seja, para o próximo valor inteiro menor que o valor sendo arredondado. Assim, se tivermos o valor 23,4 e aplicarmos esta função, o resultado será 23. Veja:

<?
  // valor a ser arredondado para baixo
  $valor = 23.4;
  
  // vamos arredondar usando a função floor()
  $valor2 = floor($valor);

  // vamos exibir o resultado
  echo "O valor " . $valor . " arredondado usando " .
    " floor() resulta em: " . $valor2;
?>

Ao executarmos este exemplo teremos o seguinte resultado:

O valor 23.4 arredondado usando floor() resulta em: 23.

Link para compartilhar na Internet ou com seus amigos:

C ::: Dicas & Truques ::: Strings e Caracteres

Como escrever uma função strtoupper() em C para transformar uma palavra inteira em letras maiúsculas

Quantidade de visualizações: 8647 vezes
A linguagem C padrão não possui uma função para transformar
todas as letras de uma palavra, frase ou texto em maiúsculas, embora alguns compiladores a forneça.

O que temos em C padrão é a função:

	
int toupper(int c);
que permite transformar um caractere em seu correspondente
maiúsculo. Podemos tirar vantagem disso e escrever uma
função strtoupper().

Veja a listagem logo abaixo (uma boa oportunidade para praticar ponteiros em C):

#include <stdio.h>
#include <stdlib.h>

void strtoupper(char *string){
  while(*string){
    *string = toupper(*string);
    string++;
  }
}

int main(int argc, char *argv[])
{
  char frase[] = "Programando em C";
  printf("Frase normal: %s\n", frase);
  
  strtoupper(frase);
  
  printf("Em letras maiusculas: %s\n\n", frase);
  
  system("PAUSE");	
  return 0;
}

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

Frase normal: Programando em C
Em letras maiusculas: PROGRAMANDO EM C


Java ::: Estruturas de Dados ::: Pilhas

Como criar uma pilha em Java usando um vetor (array) - Estruturas de Dados em Java

Quantidade de visualizações: 1916 vezes
A Pilha é uma estrutura de dados do tipo LIFO - Last-In, First-Out (Último a entrar, primeiro a sair). Neste tipo de estrutura, o último elemento a ser inserido é o primeiro a ser removido. Veja a imagem a seguir:



Embora seja mais comum a criação de uma estrutura de dados do tipo Pilha de forma dinâmica (usando ponteiros e referências), nesta dica eu mostrarei como podemos criá-la em Java usando um array, ou seja, um vetor. No exemplo eu usei inteiros, mas você pode modificar para o tipo de dados que você achar mais adequado.

Veja o código completo para uma classe Pilha usando um vetor de ints. Veja que o tamanho do vetor é informado no construtor da classe. Note também a lógica empregada na construção dos métodos empilhar(), desempilhar() e imprimirPilha():

Código para Pilha.java:

package estudos;

public class Pilha {
  private int elementos[]; // elementos na pilha
  private int topo; // o elemento no topo da pilha
  private int maximo; // a quantidade máxima de elementos na pilha

  // construtor da classe Pilha
  public Pilha(int tamanho) {
    // constrói o vetor
    this.elementos = new int[tamanho];
    // define o topo como -1
    this.topo = -1;
    // ajusta o tamanho da pilha para o valor recebido
    this.maximo = tamanho;
  }

  // método usado para empilhar um novo elemento na pilha
  public void empilhar(int item) {
    // a pilha já está cheia?
    if (this.topo == (this.maximo - 1)) {
      System.out.println("\nA pilha está cheia\n");
    } 
    else {
      // vamos inserir este elemento no topo da pilha
      this.elementos[++this.topo] = item;
    }
  }

  // méodo usado para desempilhar um elemento da pilha
  public int desempilhar() {
    // a pilha está vazia
    if (this.topo == -1) {
      System.out.println("\nA pilha está vazia\n");
      return -1;
    } 
    else {
      System.out.println("Elemento desempilhado: " + elementos[topo]);
      return this.elementos[this.topo--];
    }
  }

  // método que permite imprimir o conteúdo da pilha
  public void imprimirPilha() {
    // pilha vazia
    if (this.topo == -1) {
      System.out.println("\nA pilha está vazia\n");
    } 
    else {
      // vamos percorrer todos os elementos da pilha
      for (int i = 0; i <= this.topo; i++) {
        System.out.println("Item[" + (i + 1) + "]: " + this.elementos[i]);
      }
    }
  }
}

Veja agora o código para a classe principal, ou seja, a classe Main usada para testar a funcionalidade da nossa pilha:

Código para Principal.java:

package estudos;

public class Estudos{
  public static void main(String[] args){
    // vamos criar uma nova pilha com capacidade para 5 elementos
    Pilha p = new Pilha(5);

    // vamos empilhar 3 elementos
    p.empilhar(34);
    p.empilhar(52);
    p.empilhar(18);

    // vamos mostrar os elementos na pilha
    System.out.println("Itens presentes na Pilha\n");
    p.imprimirPilha();

    // agora vamos remover e retornar dois elementos da pilha
    System.out.println();
    p.desempilhar();
    p.desempilhar();

    // vamos mostrar os elementos na pilha novamente
    System.out.println("\nItens presentes na Pilha\n");
    p.imprimirPilha();
  }
}

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

Itens presentes na Pilha

Item[1]: 34
Item[2]: 52
Item[3]: 18

Elemento desempilhado: 18
Elemento desempilhado: 52

Itens presentes na Pilha

Item[1]: 34


C++ Builder ::: VCL - Visual Component Library ::: TEdit

Como definir o conteúdo de um TEdit em tempo de execução usando a função SendMessage() da API do Windows e a mensagem WM_SETTEXT usando C++ Builder

Quantidade de visualizações: 5626 vezes
Embora o C++ Builder já nos forneça as ferramentas necessárias para definir o conteúdo de um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função SendMessage() em combinação com a mensagem WM_SETTEXT.

A função SendMessage() da API do Windows possui a seguinte assinatura:

LRESULT SendMessage(          
  HWND hWnd,
  UINT Msg,
  WPARAM wParam,
  LPARAM lParam
);

Note que precisamos de um HWND (Handle) para a caixa de texto. Feito isso só precisamos enviar a mensagem WM_SETTEXT juntamente com o conteúdo a ser exibido no controle. Veja:

void __fastcall TForm3::Button2Click(TObject *Sender)
{
  // conteúdo a ser definido para a caixa de texto
  char texto[] = "Veja isso";

  // vamos definir o conteúdo usando a função SendMessage
  // fornecendo a mensagem WM_SETTEXT
  SendMessage(Edit1->Handle, WM_SETTEXT, 0, (LPARAM)texto);
}

Veja que o parâmetro wParam da função SendMessage não é usado quando a mensagem é WM_SETTEXT.


C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar ponteiros para controlar um laço while em C++

Quantidade de visualizações: 9060 vezes
É possível usar ponteiros para controlar a execução de um laço while em C++. Comece analisando o seguinte trecho de código:

// uma matriz de caracteres
char nome[] = "Arquivo";

// aponta para a primeira letra
char *letra = nome;

if(*letra)
  cout << "True";
else
  cout << "False";

Aqui o valor "True" será exibido, visto que o ponteiro *letra está apontando para um local da matriz de caracteres nome[] que é diferente de NULL. Veja agora:

// uma matriz de caracteres
char nome[] = "Arquivo";

// aponta para a primeira letra
char *letra = nome; // posição 0

// vamos atingir o final da matriz
// de caracteres
letra++; // posição 1
letra++; // posição 2
letra++; // posição 3
letra++; // posição 4
letra++; // posição 5
letra++; // posição 6
letra++; // NULL

if(*letra)
  cout << "True";
else
  cout << "False";

Como sabemos que a matriz de caracteres nome[] contém sete caracteres (de 0 a 6), incrementamos o ponteiro *letra até que este aponte para o caractere que marca o fim da matriz. Assim, o valor "False" é exibido.

Veja agora um laço while que tira proveito do que vimos aqui para exibir as letras da palavra "Arquivo" separadamente usando um ponteiro:

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // uma matriz de caracteres
  char nome[] = "Arquivo";

  // aponta para a primeira letra
  char *letra = nome;

  // vamos usar o laço while para
  // imprimir as letras separadamente
  while(*letra){
    cout << *letra << " ";
    letra++;
  }

  cout << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}



Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TField e Classes Derivadas

Como usar a classe TField em seus programas Delphi

Quantidade de visualizações: 12019 vezes
A classe TField (na unit DB) é um ancestral comum de todos os componentes que representam os campos de uma tabela no banco de dados (ou um dataset cujos dados foram carregados de um arquivo do tipo texto, binário ou XML). Esta classe encapsula o comportamento comum a todos os demais componentes to tipo field (campo).

Veja sua posição na hierarquia de classes do Delphi:

System.TObject
  Classes.TPersistent
    Classes.TComponent
      DB.TField
Esta classe ainda implementa as interfaces Classes.IInterfaceComponentReference e System.IInterface.

A classe TField apresenta propriedades, eventos e métodos que são usados para as seguintes tarefas:

1) Alterar o valor de um campo em um dataset;

2) Converter o valor de um campo de um tipo para outro tipo;

3) Efetuar validações nos dados informados pelos usuários para determinados campos;

4) Definir como as informações dos campos são mostradas em tempo de exibição ou para edição;

5) Calcular o valor de um campo a partir de código escrito no evento OnCalcFields do dataset;

6) Pesquisar o valor do campo a partir de outro dataset.

Em geral não criamos instâncias da classe TField diretamente. Componentes que descendem de TField são criados automaticamente a cada vez que o dataset é ativado. Estes descendentes podem ser dinâmicos (o padrão) ou persistentes. Componentes campos dinâmicos refletem as colunas dos metadados da tabela a qual pertencem no momento que o dataset é aberto. Componentes campos persistentes são criados em tempo de design usando o editor Fields, que especifica os campos no dataset, suas propriedades e a ordem em que deverão estar.

A criação de componentes de campos persistentes garante que todas as vezes que uma aplicação for executada, ela usará e exibirá as mesmas colunas, na mesma ordem, até mesmo se a estrutura física da base de dados mudar. Se uma coluna em uma tabela na qual um componente de campo persistente é baseado for excluída ou alterada, o IDE gera uma exceção em vez de permitir a abertura do dataset usando um coluna não existente ou incompatível. Se isso acontecer, devemos remover o camponente field para o campo não existente usando o editor Fields.

Um campo (field) em um dataset é sempre tratado como uma das classes descendentes de TField abaixo:

        
TADTField          TDateField         TReferenceField   
TAggregateField    TDateTimeField     TSmallIntField   
TArrayField        TFloatField        TSQLTimeStampField   
TAutoIncField      TFMTBCDField       TStringField   
TBCDField          TGraphicField      TTimeField   
TBinaryField       TGuidField         TVarBytesField   
TBlobField         TIDispatchField    TVariantField   
TBooleanField      TIntegerField      TWideStringField   
TBytesField        TInterfaceField    TWordField   
TCurrencyField     TLargeintField     TDataSetField   
TMemoField     
Veja um trecho de código no qual usamos o método FieldByName() da classe TDataSet para obter uma referência a um determinado campo (field) de um ClientDataSet e usamos sua propriedade AsString para obter o valor do campo:

procedure TForm3.Button3Click(Sender: TObject);
var
  campo: TField;
begin
  // vamos obter o campo com o nome "titulo" do registro atual
  campo := ClientDataSet1.FieldByName('titulo');

  // vamos mostrar o valor do campo
  ShowMessage('O valor do campo é: ' + campo.AsString);
end;

Ao executarmos este código teremos um resultado parecido com:

"O valor do campo é: Programando em Java".

Esta dica foi escrita e testada no Delphi 2009.


Desafios, Exercícios e Algoritmos Resolvidos de Delphi

Veja mais Dicas e truques de Delphi

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

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

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


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