Desafios e Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: PHP ::: Sistemas Completos com Código Fonte ::: Contas a Pagar e a Receber

Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento

Quantidade de visualizações: 19877 vezes
Como criar um Sistema de Gestão Financeira em PHP e MySQL, com contas pagas, recebidas, a pagar e a receber.



Antes de adquirir este código-fonte você pode testar a demonstração online aqui: Clique aqui para visualizar a demonstração (Live Demo) desse sistema. O usuário é "admin" e a senha é "admin". Pode testar o sistema à vontade e ficaremos gratos se você nos informar sobre algum bug ou até mesmo alguma sugestão para melhoria.

Você ainda controla todos os seus gastos usando planilhas do Excel? Sua empresa usa um emaranhado de planilhas do Excel para o seu fluxo de contas a pagar e a receber, receitas e despesas, cadastro de clientes e fornecedores e históricos de atendimentos? Você não está sozinho!

Como desenvolvedor eu conheço várias empresas que ainda não possuem um Sistema de Gestão de Contas a Pagar e a Receber, ou seja, usam Planilha de Contas a Pagar e Receber em Excel. Nada contra as planilhas do Excel, mas chega um momento que as informações são tantas que nos perdemos no meio de tantas planilhas.

Assim, depois de atender vários clientes com esta demanda eu resolvi fazer um software financeiro e disponibilizar o código fonte de um sistema de contas a pagar e a receber para os visitantes do site.

Note que o visual é bem limpo e agradável. E o melhor: a facilidade de uso. Você pode usá-lo em sua empresa, nas empresas de seus clientes e até mesmo em casa, para controlar as suas finanças pessoais.

Quais recursos foram usados para o desenvolvimento do software?

O código fonte deste software de gestão de controle financeiro foi escrito em PHP e MySQL. Para os recursos visuais eu usei o Bootstrap, jQuery, CSS, jChart, Datatables e algumas outras ferramentas. Todo o código está comentado e não há nada de exibicionismo não, apenas código simples e funcionando 100%. Todas as bibliotecas acompanham o código, de forma que você não precisará baixar e instalar mais nada.

Posso testar o código fonte antes de comprar?

Sim, colocamos aqui no site uma demonstração do sistema em funcionamento. Você pode acessá-lo clicando no link Clique aqui para visualizar a demonstração (Live Demo) desse sistema. O usuário é "admin" e a senha é "admin". Pode testar o sistema à vontade e ficaremos gratos se você nos informar sobre algum bug ou até mesmo alguma sugestão para melhoria.

O sistema é fácil de instalar?

Sim, junto com o código fonte nós adicionamos instruções detalhadas de como criar a base de dados e as tabelas do MySQL. Em seguida você só precisa ajustar o servidor, usuário e senha do banco de dados no arquivo config.php, definir o caminho para os uploads das fotos dos usuários, clientes e fornecedores e anexos dos pagamentos e recebimentos e executar o index.php. E o melhor de tudo: com apenas alguns "copiar-colar" você adiciona mais funcionalidades ao sistema, tornando-o ainda mais útil.

Como posso obter este código fonte?

Para mais informações sobre como adquirir este código fonte, instruções para instalação e até mesmo solicitar alterações ou adições no sistema, basta me chamar no WhatsApp +55 (062) 98553-6711

Não se esqueça: Uma boa forma de estudar o código é fazendo pequenas alterações e rodando para ver os resultados. Outra opção é começar um projeto PHP do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes.

Link para compartilhar na Internet ou com seus amigos:

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

Apostila C# para iniciantes - Como escrever um laço for infinito em C#

Quantidade de visualizações: 9949 vezes
A linguagem C# permite a criação de laços for infinitos. Para isso, só precisamos omitir as partes de inicialização, teste de condição de parada e incremento ou decremento da variável de controle. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;

namespace Estudos{
  class Program{
    static void Main(string[] args) {
      for (; ; ) {
        Console.Write("Digite um número inteiro " +
          "(-1 para sair): ");
        int valor = int.Parse(Console.ReadLine());

        // testa se o valor lido é -1. Se for pára
        // o laço
        if (valor == -1)
          break;

        // exibe o valor lido
        Console.WriteLine("Valor lido: {0}", valor);
      }

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}


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

Digite um número inteiro (-1 para sair): 54
Valor lido: 54
Digite um número inteiro (-1 para sair): 23
Valor lido: 23
Digite um número inteiro (-1 para sair): 90
Valor lido: 90
Digite um número inteiro (-1 para sair): -1

Pressione uma tecla para sair...

Veja como usamos a instrução break para sair do laço caso o valor lido seja -1. Observe ainda o uso do método Parse() da classe Int32 para converter a string digitada pelo usuário em um valor do tipo int.


Delphi ::: VCL - Visual Component Library ::: TEdit

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

Quantidade de visualizações: 11028 vezes
Embora o Delphi 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 em C/C++:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

No arquivo Windows.pas podemos encontrar o protótipo e corpo desta função convertidos para Object Pascal:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// Protótipo
{$EXTERNALSYM SendMessage}
function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; 
  lParam: LPARAM): LRESULT; stdcall;

// Implementação
function SendMessage; external user32 name 'SendMessageW';

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:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure TForm1.Button1Click(Sender: TObject);
var
  texto: String;
begin
  // conteúdo a ser definido para a caixa de texto
  texto := 'Veja isso';

  // vamos definir o conteúdo usando a função SendMessage
  // fornecendo a mensagem WM_SETTEXT
  SendMessage(Edit1.Handle, WM_SETTEXT, 0, Integer(PChar(texto)));
end;

Veja que o parâmetro wParam da função SendMessage não é usado quando a mensagem é WM_SETTEXT. Desta forma só precisamos fornecer o valor 0.


Delphi ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como obter o índice inicial e final de um vetor usando as funções Low() e High() da unit System do Delphi

Quantidade de visualizações: 11659 vezes
Como os índices dos vetores em Delphi, diferente de outras linguagens, nem sempre começam em 0, não podemos deduzir que Length() - 1 retornará o índice final do vetor. Desta forma, podemos usar as funções Low() e High(), ambas presentes na unit System.

A função Low() retorna o índice inicial do vetor, enquanto High() retorna o índice final. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure TForm3.Button1Click(Sender: TObject);
var
  valores: array[11..20] of Integer;
  inicio, fim: Integer;
begin
  // vamos obter o índice inicial do vetor
  inicio := Low(valores);

  // vamos obter o índice final da vetor
  fim := High(valores);

  // vamos exibir o resultado
  ShowMessage('O índice inicial do vetor é: ' + IntToStr(inicio));
  ShowMessage('O índice final do vetor é: ' + IntToStr(fim));
  ShowMessage('O tamanho do vetor é: ' + IntToStr((fim - inicio) + 1));
end;

Lembre-se desta dica quando precisar percorrer os elementos de um vetor ou uma matriz usando o laço For da linguagem Delphi.


C# ::: Namespace System.Drawing ::: Graphics

Desenhando retângulos usando o método DrawRectangle() da classe Graphics do C#

Quantidade de visualizações: 7024 vezes
Retângulos podem ser desenhados em C# e Windows Forms usando o método DrawRectangle() da classe Graphics. Este método pede a caneta de desenho (um objeto da classe Pen), as coordenadas do canto superior esquerdo e a largura e altura do retângulo. Veja a assinatura do método DrawRectangle() mais comumente usada:

Graphics.DrawRectangle(Pen, Single, Single, Single, Single)


Veja um trecho de código no qual desenhamos um retângulo com 250 pixels de largura por 150 pixels de altura:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button1_Click(object sender, EventArgs e){
  // vamos obter o Graphics do formulário
  Graphics g = this.CreateGraphics();

  // vamos desenhar um retângulo de 250 pixels de largura por 150
  // pixels de altura
  g.DrawRectangle(new Pen(Color.Red, 1), 50, 50, 250, 150);

  // vamos liberar o objeto Graphics
  g.Dispose();
}

As coordenadas do canto superior esquerdo e a largura e altura do retângulo podem ser especificadas como um objeto da estrutura Rectangle. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button1_Click(object sender, EventArgs e){
  // vamos obter o Graphics do formulário
  Graphics g = this.CreateGraphics();

  // vamos desenhar um retângulo de 250 pixels de largura por 150
  // pixels de altura
  g.DrawRectangle(new Pen(Color.Red, 1), 
    new Rectangle(100, 100, 250, 150));

  // vamos liberar o objeto Graphics
  g.Dispose();
}



Python ::: Tkinter GUI Toolkit ::: Entry

Como setar o foco em uma caixa de texto Entry do Tkinter usando a função focus_set()

Quantidade de visualizações: 838 vezes
Em várias situações durante o processo de programação em Tkinter nós precisamos, via programação, trocar o foco de uma caixa de texto para outra. Isso pode ser feito com o auxílio da função focus_set().

No código abaixo nós temos uma janela Tkinter com duas caixas de texto Entry e um botão Button. Experimente digitar conteúdo nas duas caixas de texto e depois clicar no botão. Você verá que o foco é colocado novamente na primeira caixa de texto.

Veja o código Python completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar o módulo Tkinter
from tkinter import *
from tkinter.ttk import *

# variáveis globais
caixa_texto_1 = None

# método principal
def main():
  # acessamos a variável global
  global caixa_texto_1
  
  # vamos criar o frame principal da aplicação Tkinter
  janela = Tk()

  # agora definimos o tamanho da janela
  janela.geometry("600x400")

  # criamos uma caixa de texto Entry de linha única
  caixa_texto_1 = Entry(janela, width=40)
  caixa_texto_1.grid(column=0, row=0, sticky=W, padx=15, pady=10)

  # criamos uma segunda caixa de texto Entry de linha única
  caixa_texto_2 = Entry(janela, width=40)
  caixa_texto_2.grid(column=0, row=1, sticky=W, padx=15, pady=0)

  # vamos criar um botão Button
  btn = Button(janela, text="Definir Foco", width=20, command=definir_foco)
  btn.grid(column=0, row=2, sticky=W, padx=15, pady=10)

  # entramos no loop da aplicação
  janela.mainloop()  

# função para definir o foco na primeira caixa de texto
def definir_foco():
  # definimos o foco na primeira caixa de texto Entry
  caixa_texto_1.focus_set()

if __name__== "__main__":
  main()



Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

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

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


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