Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
Delphi ::: Dicas & Truques ::: Data e Hora |
Como obter a diferença de dias entre duas datas em Delphi usando a função DaysBetween()Quantidade de visualizações: 24469 vezes |
Em algumas situações nós precisamos saber a diferença de dias entre duas datas. Para isso podemos usar a função DaysBetween(), presente na unit DateUtil. Esta função recebe dois objetos TDateTime e retorna um inteiro contendo a quantidade de dias entre as duas datas. Observe, no entanto, que a função DaysBetween() retorna apenas a quantidade de dias completos, ou seja, as horas, minutos, segundos e milisegundos são incluídos no cálculo dos dias. Se faltar apenas um segundo para completar um dia, tal dia não será incluído na contagem. Veja um exemplo de seu uso:
procedure TForm1.Button1Click(Sender: TObject);
var
data1, data2: TDateTime;
quant_dias: Integer;
begin
// vamos criar as duas datas, observe que as horas
// também foram definidas
// primeira data: 12/01/2010 às 09:10:15
data1 := EncodeDateTime(2010, 1, 12, 9, 10, 15, 0);
// segunda data: 15/01/2010 às 19:10:15
data2 := EncodeDateTime(2010, 1, 15, 19, 10, 15, 0);
// vamos obter a quantidade de dias entre as duas datas
quant_dias := DaysBetween(data1, data2);
// mostra o resultado
ShowMessage('A diferença de dias é: ' + IntToStr(quant_dias));
end;
Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: STL Vector C++ |
Exercício Resolvido de C++ - Escreva um programa C++ com uma função chamada possui_numeros() que recebe um Vector de strings como argumentoQuantidade de visualizações: 484 vezes |
|
Pergunta/Tarefa: Escreva um programa C++ com uma função chamada possui_numeros() que recebe um Vector de strings como argumento e retorna outro Vector contendo apenas as strings que possuem um ou mais números. Se nenhuma das strings recebidas passar no teste, retorne um Vector vazio. Sua saída deverá ser parecida com: Elementos do Vector original: livro mesa7 cami45sa porta Palavras que possuem um ou mais números: mesa7 cami45sa Veja a resolução comentada deste exercício em C++:
#include <iostream>
#include <vector>
using namespace std;
// função que recebe um vetor de strings e retorna
// outro vector contendo apenas as strings que possuem
// um ou mais números
vector<string> possui_numeros(vector<string> palavras) {
// para guardar o resultado
vector<string> resultado;
// vamos percorrer os itens do vector recebido
for(string palavra : palavras) {
// agora percorremos os caracteres de cada string
for(char carac : palavra) {
// é um caractere?
if(isdigit(carac)) {
// adicionamos no segundo vector
resultado.push_back(palavra);
break;
}
}
}
// retorna o vector obtido
return resultado;
}
// função principal do programa
int main(int argc, char *argv[]){
// vamos criar um vector de palavras
vector<string> palavras = {"livro", "mesa7", "cami45sa", "porta"};
// vamos mostrar o conteúdo do vector original
cout << "Elementos do Vector original:\n";
for (string palavra : palavras) {
cout << palavra << " ";
}
// agora obtemos um vector com as palavras que contenham um ou mais
// números
vector<string> resultado = possui_numeros(palavras);
// e mostramos o resultado
cout << "\n\nPalavras que possuem um ou mais números:\n";
for (string palavra : resultado) {
cout << palavra << " ";
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como criar diretórios em Java usando o método mkdir() da classe FileQuantidade de visualizações: 2 vezes |
|
Em algumas ocasiões nossos programas precisam criar diretórios. Na linguagem Java isso pode ser feito com o auxílio do método mkdir() da classe File, do pacote java.io. Este método não recebe nenhum parâmetro e atua em cima de uma instância da classe File. Além disso, ele retorna um boolean indicando o sucesso ou não da operação. Veja o código completo para um exemplo:
package arquivodecodigos;
// precisamos importar o pacote java.io
import java.io.*;
public class Estudos{
public static void main(String[] args){
// nome e caminho do diretório que será criado
File diretorio = new File("c:\\estudos_java\\imagens");
// o diretório foi criado com sucesso?
if(diretorio.mkdir()){
System.out.println("Diretório criado com sucesso");
}
else{
System.out.println("Nao foi possível criar o diretório");
}
}
}
Se o diretório puder ser criado, você verá uma mensagem: Diretório criado com sucesso Observe que este método pode disparar uma exceção do tipo SecurityException se você não tiver permissão para criar diretórios nos locais especificados. |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como retornar o índice da coluna da célula atual em um TDBGrid do DelphiQuantidade de visualizações: 10502 vezes |
|
Em algumas situações precisamos obter o índice da coluna da célula atual, ou seja, a célula que detém o foco no momento em um TDBGrid. Isso pode ser feito por meio da propriedade Col da classe TCustomGrid (e publicada na classe TStringGrid). Como esta propriedade não está publicada na classe TDBGrid (Delphi 2009), o que fazemos é um casting para a classe TStringGrid. Veja um trecho de código no qual usamos o evento Click de um botão para informar o índice da coluna da célula atual:
procedure TForm3.Button3Click(Sender: TObject);
var
indice: Integer;
begin
// vamos obter o índice da coluna da célula atual
indice := TStringGrid(DBGrid1).Col;
ShowMessage('O índice da coluna da célula atual é: ' +
IntToStr(indice));
end;
Execute o código e clique no botão. Você verá uma mensagem parecida com: "O índice da coluna da célula atual é: 3". Lembre-se de que o índice da coluna fixa do DBGrid é 0. Esta dica foi escrita e testada no Delphi 2009. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercício Resolvido de C - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em CQuantidade de visualizações: 1822 vezes |
|
Pergunta/Tarefa: Escreva um programa C para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo. Sua saída deverá ser parecida com: Informe um número inteiro: 16 O número informado foi: 16 O antecessor é 15 O sucessor é: 17 Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
int numero, sucessor, antecessor;
setlocale(LC_ALL,""); // para acentos do português
// vamos pedir para o usuário informar um número inteiro
printf("Informe um número inteiro: ");
scanf("%d", &numero);
// vamos calcular o sucessor do número informado
sucessor = numero + 1;
// vamos calcular o antecessor do número informado
antecessor = numero - 1;
// e agora mostramos os resultados
printf("O número informado foi: %d\n", numero);
printf("O antecessor é %d\n", antecessor);
printf("O sucessor é: %d", sucessor);
printf("\n\n");
system("PAUSE");
return 0;
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




