Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
Delphi ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como usar ponteiros na linguagem Delphi - Aprenda a usar ponteiros em DelphiQuantidade de visualizações: 24258 vezes |
|
O Delphi, assim como C e C++ permite o uso de ponteiros, uma das ferramentas mais poderosas de programação e presente em códigos mais elaborados, tais como estruturas de dados. Para entender ponteiros, é preciso lembrarmos do conceito de variáveis. Uma variável, em determinados momentos, possui várias propriedades ou atributos, a saber, um nome, um valor e o tipo de dados que poderá ser armazenado na mesma. Uma variável possui também um endereço na memória do computador e o seu nome não é nada mais que um apelido para tal endereço. Ponteiros também possuem um nome, um valor e um tipo de dados. A diferença é que ponteiros, em vez de guardar valores tais como inteiros, strings, caracteres, etc, guardam o endereço de outras variáveis (ou o endereço de outros ponteiros, o que resulta em um ponteiro para um ponteiro). Assim, um ponteiro é uma forma indireta de se acessar o conteúdo de uma outra variável. Veja, por exemplo, as seguintes declarações de variáveis: var valor: integer; pvalor: ^integer; Aqui nós temos uma variável valor do tipo Integer e uma variável pvalor que é um ponteiro para um Integer. Veja agora como atribuir valores a estas variáveis:
procedure TForm1.Button1Click(Sender: TObject);
var
valor: integer;
pvalor: ^integer;
begin
// atribui um valor à variável valor
valor := 20;
// vamos atribuir à pvalor o endereço de valor
pvalor := @valor;
// vamos usar o ponteiro pvalor para alterar o
// valor de valor
pvalor^ := 30;
// vamos obter o novo valor da variável valor
ShowMessage('Valor de valor: ' + IntToStr(valor));
end;
Veja que usamos o operador @ para obtermos o endereço da variável valor e guardá-lo no ponteiro pvalor. Em seguida usamos o símbolo ^ para acessar o valor da variável para a qual o ponteiro está apontando. Este processo é chamado de desreferenciamento (dereferencing). Em resumo, o símbolo ^ pode ser usado de duas formas: na frente de um tipo de dados, para indicar que a variável está sendo declarada como ponteiro e após o nome de uma variável do tipo ponteiro para indicar que queremos acessar o valor da variável para a qual o ponteiro está apontando atualmente e não o valor do ponteiro, que seria simplesmente um valor inteiro representando um endereço de memória. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Python ::: wxPython ::: Controles Visuais Básicos do wxPython |
Como exibir um botão em uma janela wx.Frame do wxPython, detectar um clique no botão e exibir uma caixa de mensagem wx.MessageDialogQuantidade de visualizações: 7721 vezes |
|
Nesta dica mostrarei como podemos usar a função Bind() do wxPython para indicar o código que será chamado ao clicar em um botão, ou seja, ao disparar um evento wx.EVT_BUTTON. Para isso criei uma função OnBtnClick() que é chamada e usa uma caixa de diálogo wx.MessageDialog para exibir uma mensagem indicando que o botão foi clicado. Veja o código wxPython completo para o exemplo:
# vamos importar a biblioteca wxPython
import wx
class Janela(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1,
"Usando wx.Button", size=(350, 200))
# Cria um painel
panel = wx.Panel(self)
# Cria um botão e o adiciona no painel
btn = wx.Button(panel, label="Clique Aqui",
pos=(10, 10), size=(100, 25))
# Anexa um evento ao botão
self.Bind(wx.EVT_BUTTON, self.OnBtnClick, btn)
# Método que será chamado ao clicar o botão
def OnBtnClick(self, event):
dlg = wx.MessageDialog(None, "Você clicou no botão!",
"Usando wx.Button", wx.OK | wx.ICON_INFORMATION)
result = dlg.ShowModal()
dlg.Destroy()
if __name__ == "__main__":
app = wx.App()
janela = Janela()
janela.Show(True)
app.MainLoop()
|
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila C# para iniciantes - Como escrever um laço for infinito em C#Quantidade de visualizações: 10507 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:
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. |
C ::: Dicas & Truques ::: Data e Hora |
Como obter e exibir a data atual no formato DD/MM/YYYY (Ex: 02/07/2013) usando a linguagem CQuantidade de visualizações: 4934 vezes |
Em algumas situações gostaríamos de obter e exibir a data no formato DD/MM/YYYY, por exemplo, 23/05/2010. Para isso podemos usar a função strftime(), que nos permite formatar o conteúdo da estrutura tm usando especificadores de formato. Veja o código:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[]){
time_t data_hora_segundos; // guarda os segundos deste 01/01/1970
struct tm *timeinfo; // declara uma estrutura tm
time(&data_hora_segundos); // preenche a variável data_hora_segundos
// preenche a estrutura timeinfo
timeinfo = localtime(&data_hora_segundos);
// obtém e exibe a data atual no formato DD/MM/YYYY
char data_atual[80];
strftime(data_atual, 80, "A data de hoje é: %d/%m/%Y", timeinfo);
// mostra o resultado
printf("%s\n\n", data_atual);
system("PAUSE");
return 0;
}
Ao executar este código nós teremos o seguinte resultado: A data de hoje é: 02/08/2013 Para exibir a data no formato DD/MM/YYYY eu usei os especificadores de formato %d, %m e %Y. |
C# ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
C# para iniciantes: Como declarar e usar variáveis em C#Quantidade de visualizações: 48714 vezes |
|
Variáveis são apelidos que damos aos blocos de memória que podem ser usados para armazenar dados durante a execução de um programa. Podemos guardar informações dos mais variados tipos em variáveis, a saber: valores inteiros, valores de número flutuante (com casas decimais), palavras, frases, textos e até mesmo referências a objetos de classes (fornecidas pela linguagem C# ou nossas próprias). Uma variável é declarada, em sua forma mais simples, informando o tipo de dados (int, float, double, string, etc) e então o nome da variável. Veja: // uma variável usado para armazenar um valor inteiro int valor; Uma vez declarada a variável, podemos definir o valor que será armazenado inicialmente. Isso é chamado de "atribuir um valor inicial à variável". Veja:
static void Main(string[] args){
// declara e inicializa uma variável do tipo double
double salario = 2345.32;
// exibe o valor da variável
Console.WriteLine("Salário: {0}", salario);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
É possível declarar mais de uma variável do mesmo tipo. Basta separá-las por vírgulas. Veja: // declara três variáveis do tipo char char a, b, c; Variáveis são realmente úteis quando as estamos usando em cálculos ou outras operações importantes para o correto funcionamento do programa. Veja:
static void Main(string[] args){
// declara três variáveis do tipo int
int a, b, soma;
// inicializa as duas primeiras variáveis
a = 20;
b = 10;
// inicializa a terceira variável usando os valores
// das duas anteriores
soma = a + b;
// exibe o resultado
Console.WriteLine("Resultado: {0}", soma);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Para finalizar, lembre-se de uma variável C# possui atributos importantes e que devem ser lembrados com frequência durante o planejamento de suas aplicações. Alguns destes atributos são: tipo, nome, valor, posição na memória, escopo (global ou local) e visibilidade (pública ou privada). |
Desafios, 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 |





