![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como usar a classe FileSystemWatcher em seus programas C#Quantidade de visualizações: 8829 vezes |
Podemos usar objetos da classe FileSystemWatcher quando queremos monitorar mudanças em um determinado diretório do sistema. Estas alterações podem ser observadas em arquivos e subdiretórios do diretório especificado. Usando objetos desta classe nós podemos monitorar modificações em arquivos no computador local, em um drive na rede ou em um computador remoto. Veja a posição desta classe na hierarquia de classes da plataforma .NET: System.Object System.MarshalByRefObject System.ComponentModel.Component System.IO.FileSystemWatcher Para adicionar um componente FileSystemWatcher em sua aplicação C# basta localizá-lo na seção Components da Toolbox. Em seguida clique no mesmo e arraste-o para o formulário. Para definir o diretório a ser monitorado, clique no componente, acesse suas propriedades e defina o caminho do diretório na propriedade Path. Um exemplo de diretório poderia ser "C:\arquivo de codigos". Neste exemplo veremos como detectar alterações nos arquivos e sub-diretórios. Desta forma, vá nos eventos do componente FileSystemWatcher e insira o código abaixo para o evento Changed: private void fileSystemWatcher1_Changed(object sender, FileSystemEventArgs e){ // vamos verificar o que foi modificado neste diretório textBox1.AppendText("Arquivo: " + e.FullPath + " sofreu alterações: " + e.ChangeType + Environment.NewLine); } Execute a aplicação e experimente criar um arquivo txt no diretório "C:\arquivo de códigos" e modificar seu conteúdo várias vezes. Volte à aplicação e a caixa de texto terá um conteúdo parecido com: Arquivo: C:\arquivo de codigos\dados2.txt sofreu alterações: Changed Arquivo: C:\arquivo de codigos\dados2.txt sofreu alterações: Changed |
PHP ::: Fundamentos da Linguagem ::: Passos Iniciais |
PHP para iniciantes - Quais as diferenças entre include e require do PHP?Quantidade de visualizações: 13912 vezes |
A principal diferença entre as diretivas require() e include() do PHP é que, se usarmos require() para incluir um arquivo que não pode ser incluído (talvez o arquivo não exista), um erro fatal será gerado e a execução de código na página será imediatamente suspenso. Um exemplo de tal mensagem de erro é:Warning: require(inexistente.php) [function.require]: failed to open stream: No such file or directory in /public_html/testes.php on line 3 Fatal error: require() [function.require]: Failed opening required 'inexistente.php' (include_path='.:/usr/share/pear') in /public_html/testes.php on line 3 Veja que geralmente recebemos um Warning e depois um Fatal error. Experimente criar o arquivo "inexistente.php" e as mensagens de advertência e erro desaparecerão. Se usarmos include() e o arquivo de inclusão não puder ser localizado, teremos uma advertência mas a execução do código na página não será interrompida: Warning: include(inexistente.php) [function.include]: failed to open stream: No such file or directory in /public_html/testes.php on line 3 Warning: include() [function.include]: Failed opening 'inexistente.php' for inclusion (include_path='.:/usr/share/pear') in /public_html/testes.php on line 3 O uso de require() ou include() vai depender da situação: require() é melhor empregado para carregar arquivos que são essenciais para o restante da página, por exemplo, se você tiver um site usando banco de dados, então usar require() para incluir o arquivo contendo o login e senha do banco de dados é muito melhor que usar include(). Se usarmos include() nesta situação, poderemos terminar gerando mais erros e advertências que o pretendido. include() deve ser usado quando o arquivo a ser incluído não é essencial para o correto funcionamento da página. Um exemplo disso é quando incluímos um arquivo de topo ou rodapé de páginas. |
Java ::: Classes, Controles e Componentes ::: JSplitPane |
Java Swing - Como usar a classe JSplitPane para dividir o espaço ocupado pelos componentes de suas aplicações Java SwingQuantidade de visualizações: 10668 vezes |
A classe JSplitPane é usada quando precisamos controlar o espaço ocupado por dois ou mais componentes. Objetos desta classe podem ser redimensionados, de modo a aumentar ou diminuir a área ocupada por um dos componentes. Veja a posição desta classe na hierarquia de classes Java:java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JSplitPane No trecho de código abaixo você verá como é possível dividir a área ocupada por duas áreas de texto (JTextArea). Execute a aplicação e experimente aumentar ou diminuir o espaço ocupado pelos componentes: import javax.swing.*; import java.awt.*; public class Estudos extends JFrame{ public Estudos(){ super("Como usar a classe JSplitPane"); // primeira área de texto JTextArea textArea1 = new JTextArea(5, 30); textArea1.setText("Sou a área de texto 1."); JScrollPane sPane1 = new JScrollPane(textArea1); // segunda área de texto JTextArea textArea2 = new JTextArea(5, 30); textArea2.setText("Sou a área de texto 2."); JScrollPane sPane2 = new JScrollPane(textArea2); // Cria o JSplitPane JSplitPane splitPane = new JSplitPane( JSplitPane.HORIZONTAL_SPLIT, sPane1, sPane2); add(splitPane, BorderLayout.CENTER); setSize(300, 150); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executar esta aplicação Java Swing nós teremos o seguinte resultado: ![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Como testar se um número é potência de dois usando JavaQuantidade de visualizações: 789 vezes |
Pergunta/Tarefa: Escreva um programa Java contendo um método que recebe um número inteiro e retorna um valor boolean indicando se o valor informado é potência de dois. Sua saída deverá ser parecida com: Informe um valor inteiro: 8 O valor 8 é potência de dois Informe um valor inteiro: 34 O valor 34 não é potência de dois Informe um valor inteiro: 64 O valor 64 é potência de dois Veja a resolução comentada deste exercício usando 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 um valor inteiro System.out.print("Informe um valor inteiro: "); int valor = Integer.parseInt(entrada.nextLine()); // vamos testar se o número informado é potência de dois if(isPotenciaDeDois(valor)){ System.out.println("O valor " + valor + " é potência de dois"); } else{ System.out.println("O valor " + valor + " não é potência de dois"); } } // método que recebe um número inteiro e informe se ele é // potência de dois public static boolean isPotenciaDeDois(int n){ // usamos o operador AND de bits para verificar se n AND n-1 // é igual a 0 return (n > 0) && (n & (n - 1)) == 0; } } |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string para letras maiúsculas em Java - Como transformar uma string em maiúsculas usando o método toUpperCase() da classe StringQuantidade de visualizações: 63 vezes |
A classe String nos fornece o toUpperCase() que converte todas as letras em um texto para letras maiúsculas e nos retorna o resultado de acordo com o locale padrão. Este método é semelhante à toUpperCase(Locale.getDefault()). Veja um exemplo de como transformar todas as letras de uma frase para letras maiúsculas: package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String original = "Onde posso aprender a programar em Java?"; // vamos convertar para letras maísculas String maiusculas = original.toUpperCase(); // vamos mostrar o resultado System.out.println("String original: " + original); System.out.println("Em letras maiúsculas: " + maiusculas); System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: String original: Onde posso aprender a programar em Java? Em letras maiúsculas: ONDE POSSO APRENDER A PROGRAMAR EM JAVA? Esta dica foi revisada e atualizada para o Java 8. |
wxWidgets ::: Dicas & Truques ::: wxFrame |
Como usar a classe wxFrame para criar a janela principal de suas aplicações C++ wxWidgetsQuantidade de visualizações: 2054 vezes |
A classe wxFrame, definida no arquivo <wx/frame.h>, herda diretamente da classe wxTopLevelWindow (que herda de wxWindow) e, em geral, é usada para representar a janela principal da aplicação. Em tempo de execução seu tamanho pode ser alterado, maximizado, restaurado e minimizado. Esta janela também inclui uma borda mais grossa, uma barra de títulos e, opcionalmente, uma barra de menus, uma barra de ferramentas ou uma barra de status. Uma wxFrame pode atuar como um contâiner para outros controles, tais como botões, caixa de texto, listas, tabelas, etc. No entanto, não podemos inserir em uma wxFrame uma outra wxFrame ou um diálogo. O construtor não vazio da classe wxFrame é: wxFrame::wxFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr) O parâmetro parent pode ser, e geralmente é, NULL. Se esse valor for diferente de NULL, a frame será minimizada quando sua janela mãe foi minimizada e restaurada quando esta for restaurada. Note que estamos falando de aplicações de janelas de múltiplos documentos (janelas MDI). O parâmetro id é o identificador da janela. Podemos informar -1 para indicar um valor default. O parâmetro title é o texto a ser exibido na barra de títulos da janela. O parâmetro pos é a posição da janela, expressa como um wxPoint (coordenada x e y). Se fornecermos o valor wxDefaultPosition para este parâmetro, a posição da janela será escolhida pelo sistema de janelas ou pela biblioteca wxWidgets, dependendo da plataforma. O parâmetro size é o tamanho da janela, expresso como um wxSize (largura e altura). O valor wxDefaultSize indica o tamanho padrão (default), escolhido pelo sistema de janelas ou pela biblioteca wxWidgets, dependendo da plataforma. O parâmetro style é o estilo da janela. O valor padrão é wxDEFAULT_FRAME_STYLE (que pode ser redimensionada, possui um botão de minimizar, de maximizar, etc). O parâmetro name é usado para associar a janela com um item nomeado, permitindo a personalização individual da janela em sistemas que usam o Motif. No Windows este parâmetro não possui nenhum efeito. Vamos ao código agora. Veja os arquivos de definição e de implementação para a criação de uma janela wxFrame: Código para janelaprincipal.h: #ifndef _JANELAPRINCIPAL_H #define _JANELAPRINCIPAL #include <wx/wx.h> // Definição da nossa janela wxFrame class JanelaPrincipal : public wxFrame{ public: // construtor não vazio JanelaPrincipal(const wxChar *titulo, int posX, int posY, int largura, int altura); // destrutor ~JanelaPrincipal(); }; #endif // _JANELAPRINCIPAL_H Código para janelaprincipal.cpp: #include "janelaprincipal.h" // arquivo de implementação JanelaPrincipal::JanelaPrincipal(const wxChar *titulo, int posX, int posY, int largura, int altura) : wxFrame((wxFrame *)NULL, -1, titulo, wxPoint(posX, posY), wxSize(largura, altura)){ // não vamos fazer nada aqui por enquanto } JanelaPrincipal::~JanelaPrincipal(){ // por enquanto vamos deixar o construtor vazio } Agora veja o arquivo de definição e de implementação necessários para a criação e exibição da nossa janela: Código para aplicacao.h: #include <wx/wx.h> // arquivo de definição // declaramos a classe application class MinhaAplicacao : public wxApp{ public: // é chamado no startup da aplicação virtual bool OnInit(); }; // declara MinhaAplicacao& GetApp() DECLARE_APP(MinhaAplicacao) Código para aplicacao.cpp #include "aplicacao.h" #include "janelaprincipal.h" // arquivo de implementação // aqui o wxWidgets cria nosso objeto MinhaAplicacao e o associa // com a função de entrada main() ou WinMain() IMPLEMENT_APP(MinhaAplicacao) bool MinhaAplicacao::OnInit(){ // vamos criar nossa janela JanelaPrincipal *janela = new JanelaPrincipal(wxT("Cadastro"), 50, 50, 500, 400); // vamos exibir a janela wxFrame janela->Show(TRUE); // essa vai ser a janela principal da aplicação SetTopWindow(janela); // podemos iniciar o loop de eventos return true; } Note que, para que a janela seja visível na tela, devemos fazer uma chamada ao método Show() e fornecer o valor TRUE. Esta função é definida originalmente em wxWindow. Veja também que chamamos SetTopWindow() para informar ao wxWidgets que esta é a janela principal, razão pela qual fornecemos o valor NULL para o parâmetro parent. |
JavaScript ::: Dicas & Truques ::: Cookies |
Cookies em JavaScript - Como escrever uma função para a criação de cookies em JavaScriptQuantidade de visualizações: 103 vezes |
Nesta dica mostrarei como podemos criar uma função JavaScript chamada gravarCookie() que recebe o nome, o valor e a duração de dias do cookie. Em outras dicas desse seção você encontra a função que faz a leitura dos cookies criados. Veja o código JavaScript completo, incluindo o código HTML: <html> <head> <title>Estudando JavaScript</title> <script type="text/javascript"> // função que permite gravar um cookie function gravarCookie(nome, valor, diasDuracao){ var dataExpiracao = new Date(); dataExpiracao.setTime(dataExpiracao.getTime() + (diasDuracao * 24 * 3600 * 1000)); document.cookie = nome + "=" + escape(valor) + ((diasDuracao == null) ? "" : "; expires=" + dataExpiracao); } </script> </head> <body> <script type="text/javascript"> // cria um cookie que durará um dia gravarCookie("nome_visitante", "Osmar", 1); document.writeln("Cookie criado com sucesso."); </script> </body> </html> Ao executar este código nós teremos o seguinte resultado: Cookie criado com sucesso. |
PHP ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia da semana para uma determinada data em PHP usando as funções mktime(), date() e o sinalizador "l"Quantidade de visualizações: 244 vezes |
Nesta dica mostrarei como podemos combinar as funções mktime(), date() e o sinalizador "l" para obtermos o nome do dia da semana para uma determinada data. Note o uso da função mktime() para construir a data 20/06/1980. Veja o código completo para o exemplo: <?php // vamos obter o dia da semana para uma // determinada data - mês/dia/ano $timestamp = mktime(0, 0, 0, 6, 20, 1980); echo "O dia da semana é: " . date('l', $timestamp); ?> Ao executar este código PHP nós teremos o seguinte resultado: O dia da semana é: Saturday |
JavaScript ::: Dicas & Truques ::: Set (Conjunto) |
Como retornar elementos presentes no primeiro vetor e não presentes no segundo vetor em JavaScript usando o objeto SetQuantidade de visualizações: 1465 vezes |
Este é um código muito interessante de ser feito em JavaScript. Dados dois arrays a e b, temos que retornar os números que estão presentes no primeiro array, mas que não estão presentes no segundo array. Este código pode ser escrito usando diversas abordagens. Nesta dica mostrarei como resolvê-lo usando um objeto Set, adicionado à linguagem JavaScript na revisão ECMAScript 2015, também chamada de ES6 e ECMAScript 6. Vamos ao código então: <html> <head> <title>O objeto Set do JavaScript</title> </head> <body> <script type="text/javascript"> // primeiro vetor var a = [4, 8, 1, 23, 65]; // segundo vetor var b = [23, 8, 90, 3, 7]; // vetor resultante var c = []; // criamos um objeto Set e guardamos nele os // elementos do segundo vetor var set = new Set(); for (var i = 0; i < b.length; i++){ set.add(b[i]); } // agora varremos o primeiro vetor e usamos // o método has() do objeto Set para verificar se // o valor não está contido nele for (var i = 0; i < a.length; i++){ if(!set.has(a[i])){ c.push(a[i]); } } document.writeln("Primeiro vetor: " + a); document.writeln("<br>Segundo vetor: " + b); document.writeln("<br>Resultado: " + c); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Primeiro vetor: 4, 8, 1, 23, 65 Segundo vetor: 23, 8, 90, 3, 7 Resultado: 4, 1, 65 Note que os valores 4, 1 e 65 estão presentes no primeiro array mas não estão presentes no segundo. |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string em um valor inteiro em Ruby usando a função to_i da classe StringQuantidade de visualizações: 11500 vezes |
Em algumas situações precisamos transformar um valor contido em uma string em um valor numérico do tipo inteiro. Em Ruby podemos fazer isso usando o método to_i da classe String. Veja: # um número inteiro declarado como string valor = "34" # vamos somar este número a um outro resultado = 30 + valor.to_i # exibe o resultado puts resultado Ao executar este código Ruby nós teremos o seguinte resultado: 64 |
Você também poderá gostar das dicas e truques de programação abaixo |
VB.NET - Como adicionar horas à data e hora atual em VB.NET usando a função AddHours() da classe DateTime PHP - Como converter graus em radianos em PHP usando a função deg2rad() - Trigonometria para iniciantes |
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 |