Você está aqui: Cards de Engenharia Civil - Fundações |
||
|
||
|
|
||
PHP ::: Dicas & Truques ::: URLs, Documentos e Páginas |
PHP para iniciantes - Como obter uma lista completa das variáveis de ambiente disponíveis no servidorQuantidade de visualizações: 10597 vezes |
|
Nesta dica mostrarei como é possível combinar o vetor de variáveis de ambiente $_SERVER e o laço foreach() da linguagem PHP para obter uma lista completa das variáveis de ambiente disponíveis no servidor web a partir do qual nossos códigos PHP estão sendo executados. Esta técnica é excelente para depuração (debugging) de código PHP. Veja o código PHP completo para o exemplo:
<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
<?php
foreach($_SERVER as $env => $valor){
echo $env . " = " . $valor . "<br>";
}
?>
</body>
</html>
Ao executar este código PHP nós teremos um resultado parecido com: SERVER_SOFTWARE = Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/8.0.0 SERVER_NAME = localhost SERVER_ADDR = ::1 SERVER_PORT = 80 REMOTE_ADDR = ::1 DOCUMENT_ROOT = C:/xampp/htdocs REQUEST_SCHEME = http CONTEXT_PREFIX = CONTEXT_DOCUMENT_ROOT = C:/xampp/htdocs SERVER_ADMIN = postmaster@localhost SCRIPT_FILENAME = C:/xampp/htdocs/estudos/index.php REMOTE_PORT = 61618 GATEWAY_INTERFACE = CGI/1.1 SERVER_PROTOCOL = HTTP/1.1 REQUEST_METHOD = GET QUERY_STRING = REQUEST_URI = /estudos/index.php SCRIPT_NAME = /estudos/index.php PHP_SELF = /estudos/index.php REQUEST_TIME_FLOAT = 1618495343.0591 REQUEST_TIME = 1618495343 |
Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows) |
Como excluir chaves no registro do Windows usando Delphi a função DeleteKey() da classe TRegistry do DelphiQuantidade de visualizações: 14311 vezes |
|
Em algumas situações precisamos excluir determinadas chaves do registro do Windows. Para isso podemos usar o método DeleteKey() da classe TRegistry. Este método recebe uma string especificando a chave a ser excluída e retorna um valor Boolean, informando o sucesso da operação. Veja um trecho de código no qual tentamos excluir uma chave com o nome de "Arquivo de Códigos" localizada sob a chave raiz HKEY_CURRENT_USER:
procedure TForm3.Button5Click(Sender: TObject);
var
reg: TRegistry;
begin
// uses Registry
// vamos criar uma instância da classe TRegistry
reg := TRegistry.Create;
// a chave raiz padrão é HKEY_CURRENT_USER mas, por via das dúvidas
// vamos reafirmar isso
reg.RootKey := HKEY_CURRENT_USER;
// vamos verificar se a chave que estamos querendo excluir
// existe
if reg.KeyExists('Arquivo de Códigos') then
begin
// a chave foi encontrada? vamos excluir
if reg.DeleteKey('Arquivo de Códigos') then
begin
ShowMessage('A chave foi excluída com sucesso.');
end
else
begin
ShowMessage('Não consegui excluir a chave especificada');
end;
end
else
begin
ShowMessage('A chave que você deseja excluir não foi encontrada.');
end;
// vamos liberar o registro
reg.Free;
end;
Note que este método remove a chave e todas as informações associadas a ela. Porém, se a chave possuir sub-chaves, estas deverão ser removidas individualmente antes de excluirmos a chave mãe. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercícios Resolvidos de Python - Escreva um programa em Python que usa a função log10() para informar a quantidade de dígitos em um número inteiroQuantidade de visualizações: 698 vezes |
|
Pergunta/Tarefa: Escreva um algorítmo em Python que peça para o usuário informar um número inteiro de qualquer tamanho, ou seja, qualquer quantidade de dígitos. Em seguida seu código deverá informar a quantidade de dígitos contida no número inteiro digitado pelo usuário. Seu programa deverá, obrigatoriamente, usar a função log10() do módulo Math. Sua saída deverá ser parecida com: Informe um número inteiro de qualquer tamanho: 847 O número informado possui 3 dígitos Veja a resolução comentada deste exercício usando Python:
# vamos importar o módulo Math
import math
# método principal
def main():
# vamos pedir para o usuário informar um número inteiro
numero = int(input("Informe um número inteiro de qualquer tamanho: "))
# agora vamos obter a quantidade de dígitos no
# número informado
tamanho = int(math.log10(numero)) + 1
# mostramos o resultado
print("O número informado possui {0} dígitos".format(tamanho))
if __name__== "__main__":
main()
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Internet, LAN e E-Mail |
Exercícios Resolvidos de Java - Como testar se há um serviço sendo executado em uma porta de um servidor ou máquina localQuantidade de visualizações: 7756 vezes |
|
Pergunta/Tarefa: Este exercício resolvido é sobre Internet, Rede e E-Mail usando programação Java. Escreva um programa Java console ou GUI que peça ao usuário para informar um número de porta na máquina local. Em seguida, tente se conectar a esta porta e informe se há algum serviço sendo executado na porta informada. A entrada e saída do programa pode ser algo como: Informe o número da porta a ser pesquisada: 3306 Há um serviço na porta informada Informe o número da posta a ser pesquisada: 2040 Não há nenhum serviço na porta informada Resposta/Solução: Veja a resolução comentada deste exercício usando Java console:
package estudos;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Socket socket; // vamos declarar um objeto da classe Socket
String host = "localhost"; // define o nome da máquina host
// vamos pedir ao usuário que informe a porta a ser pesquisada
Scanner entrada = new Scanner(System.in);
System.out.print("Informe o número da posta a ser pesquisada: ");
int porta = Integer.parseInt(entrada.nextLine());
// vamos verificar se há algum serviço na porta informada
try{
socket = new Socket(host, porta);
System.out.println("Há um serviço na porta informada");
}
catch (UnknownHostException e) { // não foi possível encontrar a máquina host
System.out.println("Não foi possível encontrar a máquina host: " + e);
}
catch (IOException e) {
System.out.println("Não há nenhum serviço na porta informada");
}
}
}
Veja que, neste exercício, podemos ter o surgimento de duas exceções: UnknownHostException (a máquina informada não pôde ser encontrada) e IOException (houve erro de entrada e/ou saída). Por esta razão, é uma boa idéia envolver o código em um bloco try...catch. |
C++ ::: Fundamentos da Linguagem ::: Tipos de Dados |
Apostila C++ para iniciantes - Como usar o tipo de dados short ou short int da linguagem C++Quantidade de visualizações: 13982 vezes |
O tipo de dados short (também chamado de short int) da linguagem C++ é uma variação do tipo int e geralmente possui a metade da capacidade de armazenamento deste. Nós o usamos quando queremos representar números inteiros, ou seja, sem partes fracionárias, que não sejam grandes o suficiente para exigir variáveis do tipo int. Veja um trecho de código demonstrando seu uso (note que estes estudos foram feitos no Windows XP - 32 bits - usando Dev-C++):
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// declara uma variável do tipo short
short idade = 45;
cout << "A idade é: " << idade << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Veja que a maioria dos compiladores C++ não faz distinção entre os tipos short e short int. A capacidade de armazenamento do tipo short depende da arquitetura na qual o programa está sendo executado. Uma forma muito comum de descobrir esta capacidade é usar os símbolos SHRT_MIN e SHRT_MAX, definidos no header climits (limits.h). Veja:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
cout << "Valor mínimo: " << SHRT_MIN << "\n";
cout << "Valor máximo: " << SHRT_MAX << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este programa você terá um resultado parecido com: Valor mínimo: -32768 Valor máximo: 32767 Veja que o tipo short aceita valores positivos e negativos. Tudo que você tem a fazer é tomar todo o cuidado para que os valores atribuidos a variáveis deste tipo não ultrapassem a faixa permitida. Veja um trecho de código que provoca o que chamamos de transbordamento (overflow):
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
short soma = SHRT_MAX + 2;
cout << "Resultado: " << soma << "\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Este programa exibirá o seguinte resultado: Resultado: -32767 Note que este não é o resultado esperado, visto que SHRT_MAX + 2 deveria retornar: 32767 + 2 = 32769 Porém, como o valor máximo que pode ser armazenado em um short é 32767, o procedimento adotado pelo compilador foi tornar o número negativo e subtrair 1. É claro que, se você testar este código em arquiteturas diferentes o resultado poderá ser diferente do exemplificado aqui. Em termos de bytes, é comum o tipo short ser armazenado em 2 bytes, o que resulta em 16 bits (um byte é formado por 8 bits, lembra?). Veja um trecho de código que mostra como usar o operador sizeof() para determinar a quantidade de bytes necessários para armazenar um variável do tipo short:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
cout << "Tamanho de um short: " << sizeof(short)
<< " bytes\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
O resultado da execução deste código será algo como: Tamanho de um short: 2 bytes |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
|
Python - Como exibir os valores de 0 a 10 em ordem decrescente usando o laço for da linguagem Python |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





