Você está aqui: Delphi ::: Dicas & Truques ::: Strings e Caracteres |
|
Como substituir todas as ocorrências de uma substring em uma string Delphi usando a função ReplaceStr()Quantidade de visualizações: 15984 vezes |
|
Algumas vezes precisamos substituir todas as ocorrências de uma substring em uma string. Em Delphi isso pode ser feito com o auxílio da função ReplaceStr(). Esta função requer a string na qual a substituição ocorrerá, a substring a ser substituída e a nova substring. O resultado será uma nova string resultante da substituição. Veja o exemplo:procedure TForm1.Button1Click(Sender: TObject); var frase: string; begin frase := 'PHP? Sim, eu gosto muito de PHP'; // vamos substituir todas as ocorrências de "PHP" por "Delphi' ...... Lembre-se de que esta função diferencia maiúsculas e minúsculas. Não se esqueça de adicionar a unit StrUtils no uses do seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
|
Link para compartilhar na Internet ou com seus amigos: | |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de C++ - Desafio do número ausente. Dado um vetor de números naturais 1..n, encontre o valor ausenteQuantidade de visualizações: 428 vezes |
Pergunta/Tarefa: Dado o vetor: int valores[] = {1, 8, 7, 2, 6, 5, 3}; Encontre o elemento ausente na sequência de valores do vetor, sabendo que o primeiro valor é 1 e o último elemento é 8. Perceba que o vetor não precisa estar ordenado. Além disso, o entrevistador se certificará de que os valores serão sempre positivos e não haverá valores repetidos. Sua saída deverá ser parecida com: O número ausente é: 4 Dica: Use a fórmula n * (n + 1) / 2 para facilitar a resolução do exercício. Veja a resolução comentada deste exercício usando C++: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ // vamos declarar um vetor de inteiros faltando // um valor na sequência (não necessariamente ordenada) // Note a ausência do número 4 int valores[] = {1, 8, 7, 2, 6, 5, 3}; int i, soma_n, ausente, soma_elementos; int quant = 8; // tamanho do vetor + 1 // o primeiro passo é obter a soma de 1..n elementos // natuais usando a fórmula n*(n+1)/2 soma_n = (quant * (quant + 1)) / 2; ...... |
C# ::: Dicas & Truques ::: Data e Hora |
Como exibir horas no formato curto em C# usando o sinalizador {0:t} da função Format() da classe StringQuantidade de visualizações: 14201 vezes |
Nesta dica mostrarei como podemos usar o sinalizador {0:t} da função Format() da classe String da linguagem C# para mostrar a hora atual no formato curto, ou seja, horas e minutos. Veja o exemplo: using System; namespace Estudos { class Program { static void Main(string[] args) { // hora atual no formato curto DateTime agora = DateTime.Now; // mostramos o resultado ...... Ao executar este código C# nós teremos o seguinte resultado: Agora são: 09:37 Veja que aqui eu formatei as horas diretamente na saída do programa. Se quisermos, por exemplo, guardar a formatação em uma variável, podemos fazê-lo da seguinte forma: using System; namespace Estudos { class Program { static void Main(string[] args) { // hora atual no formato curto DateTime agora = DateTime.Now; // guardamos o resultado em uma variável string horasStr = String.Format("{0:t}", agora); ...... |
C# ::: Windows Forms ::: CheckBox |
C# Windows Forms - Como usar a classe CheckBox em seus formulários C# Windows FormsQuantidade de visualizações: 12490 vezes |
Um objeto da classe System.Windows.Forms.CheckBox representa um controle Windows CheckBox. Este controle é uma caixa que pode ser marcada ou desmarcada. Além disso, este controle pode conter uma imagem, texto, ou ambos. Veja a posição da classe CheckBox na hierarquia de classes da plataforma .NET: System.Object System.MarshalByRefObject System.ComponentModel.Component System.Windows.Forms.Control System.Windows.Forms.ButtonBase System.Windows.Forms.CheckBox Você pode ter quantas CheckBox quiser em seus formulários. Elas não precisam necessariamente estar relacionadas. Em tempo de design podemos colocar uma CheckBox em um formulário simplesmente acessando o ToolBox -> Common Controls e arrastando o controle CheckBox para a posição desejada no formulário. Por padrão, uma CheckBox aparecerá desmarcada, ou seja, sua propriedade Checked será false. O texto ao lado da CheckBox pode ser modificado por meio da propriedade Text. Em tempo de execução podemos verificar se uma CheckBox está marcada com um código semelhante ao mostrado abaixo (estou assumindo que seu formulário possui um Button e uma CheckBox): private void button1_Click(object sender, EventArgs e){ // vamos verificar se a CheckBox está marcada ou desmarcada if(checkBox1.Checked) ...... Caso precise modificar a propriedade Checked de uma CheckBox em tempo de execução, você poderá escrever algo parecido com: private void button1_Click(object sender, EventArgs e){ // vamos marcar a CheckBox ...... |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercícios Resolvidos de Java - Um programa que calcule e mostre a tabuada de multiplicação de um número digitado pelo usuário (entre 1 e 10)Quantidade de visualizações: 5753 vezes |
Pergunta/Tarefa: Escreva um programa Java que usa o laço for para calcular a tabuada de multiplicação para um número digitado pelo usuário. Este número deve estar entre 1 e 10 (inclusive). Sua saída deve ser parecida com: Informe um valor entre 1 e 10: 8 A tabuada do número 8 é: 8 X 1 = 8 8 X 2 = 16 8 X 3 = 24 8 X 4 = 32 8 X 5 = 40 8 X 6 = 48 8 X 7 = 56 8 X 8 = 64 8 X 9 = 72 8 X 10 = 80 Veja a resolução comentada deste exercício usando Java console: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos solicitar que o usuário informe um inteiro entre 1 e 10 System.out.print("Informe um valor entre 1 e 10: "); int numero = Integer.parseInt(entrada.nextLine()); // vamos verificar se o valor está na faixa desejada if((numero < 1) || (numero > 10)){ ...... |
Java ::: Projetos Java Completos - Códigos Fonte Completos Java ::: Projetos Java Programação Orientada a Objetos - Exemplos Java |
Simulação de Sistema Bancário usando Programação Orientada a Objetos em Java - Projeto completo com código fonte - Versão consoleQuantidade de visualizações: 14377 vezes |
Sobre este projeto Java Durante estes anos que tenho trabalhado como freelancer, mais da metade das requisições dos meus clientes foram ajuda para desenvolver idéias de programação orientada a objetos em Java para projeto de faculdades e universidades. Com isso percebi que boa parte dos alunos e iniciantes em programação orientada a objetos já entendem toda a teoria. O que lhes falta é prática, ou seja, aplicar estes conhecimentos em aplicações do mundo real. Pensando nisso, apresento a você um projeto muito interessante e que, se bem entendido e praticado, o ajudará a desenvolver qualquer tipo de aplicação, seja comercial ou para solucionar problemas cotidianos. O projeto Java apresentado nesta dica é uma simulação completa de um Sistema Bancário, tudo com código fonte em Java, comentado, com variáveis em português, em um nível médio de programação, para facilitar o entendimento de todos. Nesta simulação nós temos a criação de classes Java, construtores, encapsulamento de dados, agregação e composição, métodos com retorno e sem retorno, variáveis estáticas, variáveis públicas e privadas, e relacionamento entre objetos (um para um, um para muitos, muitos para um) usando ArrayList. Sim, o projeto faz uso extensivo de ArrayList, o que o torna muito rico para o aprendizado e fixação dos conhecimentos da linguagem Java e suas classes principais. O Diagrama de Classes Java Antes de falarmos mais sobre o projeto, dê uma boa olhada no seu diagrama de classes: Como a aplicação está estruturada? Como podemos ver no diagrama de classes, nós temos uma classe Sistema que contém zero ou vários objetos da classe Banco (relacionamento um para muitos). A classe Banco, por sua vez, possui uma ArrayList de objetos da classe Agência, ou seja, mais um relacionamento um para muitos, já que cada agência pertence a um único banco. Cada agência pode possuir zero ou mais contas, e cada conta possui um ArrayList de objetos da classe Transação, o que nos permite registrar todas as operações nas contas e emitir o extrato bancário, com os débitos, créditos e transferências entre contas. Tudo isso é feito por meio de vários menus de opções, como podemos ver na imagem a seguir: Devo usar ArrayList do Java para desenvolver o sistema? Sim, objetos da classe ArrayList são perfeitos quando precisamos representar relacionamentos um para muitos e muitos para um. É claro que poderíamos usar vetores de objetos (usando array), mas ficaríamos restritos a tamanhos fixos, enquanto o ArrayList nos permite cadastrar quantos bancos, pessoas, agências e contas quisermos. Dessa forma, veja, por exemplo, o trecho de código que cria um novo banco: switch(opcao){ case 1: // vamos cadastrar um novo banco System.out.print("\nNúmero do Banco: "); String numeroBanco = entrada.nextLine(); System.out.print("Nome do Banco: "); String nomeBanco = entrada.nextLine(); // vamos incrementar o contador de bancos Banco.contadorBancos++; // agora vamos criar um novo objeto da classe Banco Banco b = new Banco(Banco.contadorBancos, nomeBanco, numeroBanco); // e o adicionamos no ArrayList de bancos bancos.add(b); // e finalmente mostramos uma mensagem de sucesso. System.out.println("\nO banco criado com sucesso"); break; Note que este trecho de código é parte do case da opção Novo Banco do menu Gerenciar Bancos. Veja como usamos uma variável estática contadorBancos da classe Banco para criarmos um valor inteiro auto-incremento que nos permite identificadores únicos para cada banco. Veja agora mais um trecho de código muito interessante. Trata-se case 3: // vamos pesquisar uma conta System.out.print("\nId, número ou nome cliente da conta: "); pesquisaConta = entrada.nextLine(); // chamamos o método que pesquisa a conta temp = pesquisarConta(agenciaAtual, pesquisaConta); if(temp == null){ // conta não encotrada System.out.println("\nConta não encontrada na agência."); } else{ // mostra a conta encontrada System.out.println("\nId da conta bancária: " + temp.getId()); System.out.println("Número da conta: " + temp.getNumero()); System.out.println("Cliente: " + temp.getCliente().getNome()); System.out.println("Agência: " + agenciaAtual.getNumero() + " - " + agenciaAtual.getCidade()); System.out.println("Banco: " + bancoAtual.getNumero() + " - " + bancoAtual.getNome()); System.out.println("Saldo atual: " + temp.getSaldo()); System.out.println("Limite atual: " + temp.getLimite()); } break; Viu que código mais lindo? Note como a Programação Orientada a Objetos em Java nos permite desenvolver idéias de forma bem parecida mesmo ao mundo real. O fechamento com chave de ouro O produto final da aplicação Java deverá ser um extrato bancário mostrando os dados da conta escolhida, o histórico de transações com data, tipo da transação e valor, e o saldo atual da conta, com ou sem limite. Veja na imagem abaixo a formatação apresentada (mesmo em modo texto): Como posso obter este código fonte? Os links para você baixar todas as versões deste projeto estão abaixo: 1) SBJCNB-A - Sistema Bancário em Java com Código Fonte Versão Console - NetBeans IDE - Faça o Download. 2) SBJCNB-B - Sistema Bancário em Java com Código Fonte Versão Console - Lê e salva os dados em arquivo usando serialização (Serializable), ou seja, os métodos readObject() e writeObject() - NetBeans IDE - Faça o Download. 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 Java do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
React.js - Aprenda a desenvolver aplicações React diretamente no HTML, sem usar a ferramenta create-react-app VB.NET - Como usar o laço While em VB.NET |
Quem Somos |
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.
|
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 |