Você está aqui: Cards de Hidrostática |
||
|
||
|
|
||
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_SETTEXTQuantidade de visualizações: 11663 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++: 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:
// 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: 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. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Exercícios Resolvidos de Java - Como retornar o código ASCII associado a um caractere em Java - Ler um caractere e retornar o código ASCII correspondenteQuantidade de visualizações: 692 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que pede para o usuário informar um caractere (letra ou número) e mostre o código ASCII correspondente. Sua saída deverá ser parecida com: Informe um caractere: A Você informou o caractere: A O código ASCII correspondente é: 65 Veja a resolução comentada deste exercício em Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar uma letra, símbolo ou pontuação
System.out.print("Informe um caractere: ");
// vamos ler o caractere informado
char caractere = entrada.nextLine().charAt(0);
// agora vamos obter o código ASCII correspondente
int codigo = (int)caractere;
// e mostramos o resultado
System.out.println("Você informou o caractere: " + caractere);
System.out.println("O código ASCII correspondente é: " + codigo);
}
}
O Código Padrão Americano para o Intercâmbio de Informação (do inglês American Standard Code for Information Interchange - ASCII, pronunciado [áski]) é um sistema de representação de letras, algarismos e sinais de pontuação e de controle, através de um sinal codificado em forma de código binário (cadeias de bits formada por vários 0 e 1), desenvolvido a partir de 1960, que representa um conjunto de 128 sinais: 95 sinais gráficos (letras do alfabeto latino, algarismos arábicos, sinais de pontuação e sinais matemáticos) e 33 sinais de controle, utilizando 7 bits para representar todos os seus símbolos. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Ordenação e Pesquisa (Busca) |
Exercícios Resolvidos de Python - Como usar a Ordenação da Bolha em Python para ordenar os valores de um vetor em ordem crescente ou decrescenteQuantidade de visualizações: 897 vezes |
|
Pergunta/Tarefa: A Ordenação da Bolha, ou ordenação por flutuação (literalmente "por bolha"), também chamada de Bubble Sort, é um algoritmo de ordenação dos mais simples. A ideia é percorrer o array diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo. No melhor caso, o algoritmo executa n operações relevantes, onde n representa o número de elementos do vetor. No pior caso, são feitas n2 operações. A complexidade desse algoritmo é de ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados. Escreva um programa Python que declara, constrói um vetor de 10 inteiros e peça para o usuário informar os valores de seus elementos. Em seguida use a ordenação da bolha para ordenar os elementos em ordem crescente. Sua saída deverá ser parecida com: Informe o valor para o índice 0: 84 Informe o valor para o índice 1: 23 Informe o valor para o índice 2: 9 Informe o valor para o índice 3: 5 Informe o valor para o índice 4: 11 Informe o valor para o índice 5: 3 Informe o valor para o índice 6: 50 Informe o valor para o índice 7: 7 Informe o valor para o índice 8: 2 Informe o valor para o índice 9: 73 O array informado foi: 84 23 9 5 11 3 50 7 2 73 O array ordenado é: 2 3 5 7 9 11 23 50 73 84 Veja a resolução comentada deste exercício usando Python:
# função principal do programa
def main():
# vamos declarar e construir um vetor de 10 elementos
valores = [0 for x in range(10)]
# vamos pedir que o usuário informe os valores
for i in range(0, len(valores)):
valores[i] = int(input("Informe o valor para o índice {0}: ".format(i)))
# vamos mostrar o vetor informado
print("\nO array informado foi:\n\n")
for i in range(0, len(valores)):
print(valores[i], end=" ")
# vamos ordenar os elementos do vetor usando a ordenação da bolha
# laço externo de trás para frente
for i in range(len(valores) - 1, 0, -1):
for j in range(0, i): # laço interno vai no fluxo normal
if valores[j] > valores[j + 1]: # temos que trocá-los de lugar
temp = valores[j]
valores[j] = valores[j + 1]
valores[j + 1] = temp
# vamos exibir o vetor já ordenado
print("\n\nO array ordenado é:\n\n")
for i in range(0, len(valores)):
print(valores[i], end=" ")
print("\n")
if __name__== "__main__":
main()
|
Java ::: Coleções (Collections) ::: ArrayList |
Como adicionar todos os elementos de uma ArrayList ou coleção à uma outra ArrayList do Java usando o método addAll()Quantidade de visualizações: 15820 vezes |
Em algumas situações pode ser necessário adicionar todos os elementos de uma ArrayList ou outra coleção a uma determinada ArrayList já existente. Isso pode ser feito por meio do uso do método addAll() da classe ArrayList. Na versão 1.5 do Java, este método possui duas assinaturas. Veja a primeira:public boolean addAll(Collection<? extends E> c) Aqui nós podemos adicionar à uma ArrayList existente todos os elementos de uma determinada coleção, desde que, é claro, esta coleção implemente ou descenda de alguma classe que implemente a interface Collection. Note também o uso de genéricos na coleção a ser fornecida como argumento. É importante observar que, se passarmos uma coleção de tipos diferentes daquela na qual estamos chamando o método addAll() teremos um erro de compilação. Veja um exemplo no qual adicionamos todos os elementos de uma ArrayList no final de outra:
import java.util.ArrayList;
public class Estudos{
public static void main(String[] args){
// cria uma ArrayList que conterá strings
ArrayList<String> nomes = new ArrayList<String>();
// cria uma segunda ArrayList que conterá mais strings
ArrayList<String> nomes2 = new ArrayList<String>();
// adiciona itens na primeira lista
nomes.add("Carlos");
nomes.add("Maria");
nomes.add("Fernanda");
// adiciona itens na segunda lista
nomes2.add("Osmar");
nomes2.add("Zacarias");
// vamos adicionar os elementos da segunda lista
// no final da primeira lista
nomes.addAll(nomes2);
// vamos exibir o resultado
for(int i = 0; i < nomes.size(); i++){
System.out.println(nomes.get(i));
}
System.exit(0);
}
}
A segunda assinatura do método addAll() nos permite definir a posição no ArrayList alvo a partir da qual os elementos da coleção fonte serão adicionados. Veja: public boolean addAll(int index, Collection<? extends E> c) Eis um exemplo no qual inserimos os elementos de uma ArrayList a partir do segundo elemento da ArrayList alvo. Note que os itens existentes têm suas posições alteradas de forma a acomodar os novos elementos:
import java.util.ArrayList;
public class Estudos{
public static void main(String[] args){
// cria uma ArrayList que conterá strings
ArrayList<String> nomes = new ArrayList<String>();
// cria uma segunda ArrayList que conterá mais strings
ArrayList<String> nomes2 = new ArrayList<String>();
// adiciona itens na primeira lista
nomes.add("Carlos");
nomes.add("Maria");
nomes.add("Fernanda");
// adiciona itens na segunda lista
nomes2.add("Osmar");
nomes2.add("Zacarias");
// vamos adicionar os elementos da segunda lista
// a partir do segundo elemento da primeira lista
nomes.addAll(1, nomes2);
// vamos exibir o resultado
for(int i = 0; i < nomes.size(); i++){
System.out.println(nomes.get(i));
}
System.exit(0);
}
}
Como resultado da execução deste código nós teremos: Carlos Osmar Zacarias Maria Fernanda |
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir arquivos em C usando a função remove()Quantidade de visualizações: 19560 vezes |
A função remove(), disponível no header stdio.h, pode ser usada para excluir arquivos. Veja sua assinatura:int remove(const char *filename); Veja que esta função recebe o caminho e nome do arquivo a ser excluído e retorna um valor inteiro. Se o arquivo for excluído com sucesso, o valor 0 será retornado. Veja um exemplo:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
// nome do arquivo a ser excluído
char *arquivo = "c:\\testes.txt";
// vamos excluir
if(remove(arquivo) == 0)
printf("Arquivo foi excluido com sucesso.");
else
printf("Nao foi possivel excluir o arquivo.");
printf("\n\n");
system("PAUSE");
return 0;
}
|
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
|
Python - Como calcular o coeficiente angular de uma reta em Python dados dois pontos no plano cartesiano |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






