JavaScript ::: Dicas & Truques ::: Cookies |
Cookies em JavaScript - Como verificar a existência de um cookie usando JavaScriptQuantidade de visualizações: 5 vezes |
|
Nesta dica mostrarei como podemos criar uma função obterCookie() que recebe o nome de um cookie e nos retorna seu valor ou null. Se o retorno for diferentes de null então sabemos que o cookie existe e podemos prosseguir com alguma operação. Em outras dicas dessa seção você pode aprofundar seu conhecimento de cookies em JavaScript. Veja o código JavaScript completo para o exemplo, incluindo o código HTML:
<html>
<head>
<title>Estudando JavaScript</title>
<script type="text/javascript">
// função que permite obter um cookie
function obterCookie(nome){
if(document.cookie.length > 0){
c_start = document.cookie.indexOf(nome + "=");
if(c_start != -1){
c_start = c_start + nome.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if(c_end == -1){
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(
c_start, c_end));
}
}
return null;
}
</script>
</head>
<body>
<script type="text/javascript">
// verifica se o cookie "nome_visitante" existe
var nome_visitante = obterCookie('nome_visitante');
if(nome_visitante != null){
document.writeln("O cookie nome_visitante existe");
}
else{
document.writeln("O cookie nome_visitante não existe");
}
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: O cookie nome_visitante existe |
C ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como alocar memória dinâmica usando a função calloc() da linguagem CQuantidade de visualizações: 19193 vezes |
A função calloc() é bem parecida com a função malloc() e também é usada em C para alocarmos um bloco de memória. A diferença é que calloc() recebe a quantidade de elementos e o número de bytes do elemento e retorna um ponteiro do tipo void (genérico) para o início do bloco de memória obtido. Veja sua assinatura:void *calloc(size_t n, size_t size); Se a memória não puder se alocada, um ponteiro nulo (NULL) será retornado. É importante se lembrar de alguns conceitos antes de usar esta função. Suponhamos que você queira alocar memória para um único inteiro. Você poderia ter algo assim: // aloca memória para um int ponteiro = calloc(1, 4); Embora este código esteja correto, não é um boa idéia assumir que um inteiro terá sempre 4 bytes. Desta forma, é melhor usar o operador sizeof() para obter a quantidade de bytes em um inteiro em uma determinada arquitetura. Veja: // aloca memória para um int ponteiro = calloc(1, sizeof(int)); Eis o código completo para um aplicativo C que mostra como alocar memória para um inteiro e depois atribuir e obter o valor armazenado no bloco de memória alocado:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
// ponteiro para uma variável do tipo inteiro
int *ponteiro;
// aloca memória para um int
ponteiro = calloc(1, sizeof(int));
// testa se a memória foi alocada com sucesso
if(ponteiro)
printf("Memoria alocada com sucesso.\n");
else
printf("Nao foi possivel alocar a memoria.\n");
// atribui valor à memória alocada
*ponteiro = 45;
// obtém o valor atribuído
printf("Valor: %d\n\n", *ponteiro);
// libera a memória
free(ponteiro);
system("PAUSE");
return 0;
}
Uma aplicação interessante da função calloc() é quando precisamos construir uma matriz dinâmica. Veja como isso é feito no código abaixo:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i;
// quantidade de elementos na matriz
int quant = 10;
// ponteiro para o bloco de memória
int *ponteiro;
// aloca memória para uma matriz de inteiros
ponteiro = calloc(quant, sizeof(int));
// testa se a memória foi alocada com sucesso
if(ponteiro)
printf("Memoria alocada com sucesso.\n");
else{
printf("Nao foi possivel alocar a memoria.\n");
exit(1);
}
// atribui valores aos elementos do array
for(i = 0; i < quant; i++){
ponteiro[i] = i * 2;
}
// exibe os valores
for(i = 0; i < quant; i++){
printf("%d ", ponteiro[i]);
}
// libera a memória
free(ponteiro);
printf("\n\n");
system("PAUSE");
return 0;
}
|
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço do...while da linguagem C#Quantidade de visualizações: 12180 vezes |
O laço do...while (faça...enquanto) é usado quando queremos repetir uma instrução ou bloco de instruções ENQUANTO uma condição for satisfatória. A única diferença entre este laço e o laço while, é que, no laço do...while a condição de parada é testada após a iteração, o que garante que o laço do...while será executado no mínimo uma vez. No laço while a condição é testada antes da iteração. Veja um exemplo:
static void Main(string[] args){
int valor = 1;
do{
Console.WriteLine("{0}", valor);
valor++;
}while(valor <= 10);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Este trecho de código conta de 1 até 10. Veja que após cada iteração do laço nós testamos se o valor da variável de controle é menor ou igual a 10. A próxima iteração acontece somente se esta condição for satisfeita. Note ainda que dentro de cada iteração nós incrementamos o valor da variável de controle. Isso é feito para que o laço não seja executado infinitamente. Veja um outro exemplo de laço do...while, desta vez simulando um menu de opções:
static void Main(string[] args){
// variável que registra a opção do usuário
int opcao;
// laço do..while que mostra as opções do menu enquanto
// o valor -1 não for informado
do{
// lê a opção
Console.Write("Informe a opção 1, 2 ou 3" +
" (-1 para sair): ");
opcao = int.Parse(Console.ReadLine());
switch (opcao){
case 1:
Console.WriteLine("Executando a opção 1");
break;
case 2:
Console.WriteLine("Executando a opção 2");
break;
case 3:
Console.WriteLine("Executando a opção 3");
break;
default:
Console.WriteLine("Opção incorreta");
break;
}
}while(opcao != -1);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
O laço do...while não é tão usado quanto o laço while. Use-o naquelas situações em que o laço deverá ser executado no mínimo uma vez. |
Dart ::: Dicas de Estudo e Anotações ::: Estruturas de Controle |
Como usar o laço do..while da linguagem DartQuantidade de visualizações: 2032 vezes |
|
O laço do...while (faça...enquanto) do Dart é usado quando queremos repetir uma ou mais instruções ENQUANTO uma condição estiver sendo satisfeita. A diferença entre o laço do...while e o laço while é que o primeiro testa a condição de continuidade no final, enquanto o segundo testa a condição de continuidade no início. Por essa razão, o do...while será executado pelo menos uma vez. Veja um exemplo no qual contamos de 1 até 10:
void main() {
int cont = 1;
// vamos contar de 1 até 10
do {
print(cont);
cont++;
} while (cont <= 10);
}
A execução deste código mostrará o seguinte resultado: c:\estudos_dart>dart laco_do_while.dart 1 2 3 4 5 6 7 8 9 10 Veja agora um exemplo no qual pedimos para o usuário informar vários valores inteiros e mostraremos a soma. O valor -1 interrompe a leitura:
// Vamos importar a biblioteca dart:io
import 'dart:io';
void main() {
int valor; // guarda o valor informado pelo usuário
int soma = 0; // guarda a soma dos valores
do {
// vamos pedir para o usuário digitar um valor inteiro
stdout.write("Digite um número inteiro (-1 para parar): ");
valor = int.parse(stdin.readLineSync());
// este valor pode ser somado?
if (valor != -1) {
soma = soma + valor;
}
} while (valor != -1);
// saímos do laço
print("A soma dos valores lidos é $soma");
}
Execute este código e você terá um resultado parecido com: c:\estudos_dart>dart laco_do_while.dart Digite um número inteiro (-1 para parar): 5 Digite um número inteiro (-1 para parar): 2 Digite um número inteiro (-1 para parar): 4 Digite um número inteiro (-1 para parar): -1 A soma dos valores lidos é 11 |
Você também poderá gostar das dicas e truques de programação abaixo |
|
C# - C# Windows Forms para iniciantes - Como limpar todo o conteúdo de um controle TextBox via código Java - Exercícios Resolvidos de Java - Contando de 1 até 20 e formatando a saída usando System.out.printf() |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





