Você está aqui: PHP ::: Dicas & Truques ::: Strings e Caracteres |
|
Converter tags HTML e caracteres especiais em entidades HTMLQuantidade de visualizações: 11071 vezes |
|
<? // veja o código fonte da página para entender // o resultado desta função $html = "<b>Parece que está tudo ok</b>"; $codificado = htmlentities($html); echo $codificado . "<br>"; ?> |
|
Link para compartilhar na Internet ou com seus amigos: | |
Delphi ::: Dicas & Truques ::: MIDI Musical Instrument Digital Interface, Mapeamento e sequenciamento MIDI, Entrada e saída MIDI |
Como abrir e fechar um dispositivo de saída MIDI usando DelphiQuantidade de visualizações: 11074 vezes |
Quando queremos executar sons MIDI no Windows, a primeira tarefa a ser realizada é abrir o dispositivo de saída MIDI. Isso é feito com uma chamada à função midiOutOpen() da API do Windows. Veja sua assinatura (em C):MMRESULT midiOutOpen( LPHMIDIOUT lphmo, UINT_PTR uDeviceID, DWORD_PTR dwCallback, DWORD_PTR dwCallbackInstance, DWORD dwFlags ); Esta função está traduzida na unit MMSystem.pas do Delphi da seguinte forma: function midiOutOpen(lphMidiOut: PHMIDIOUT; uDeviceID: UINT; dwCallback, dwInstance, dwFlags: DWORD): MMRESULT; stdcall; Antes de continuarmos, vamos entender os parâmetros desta função: lphmo - Este é um ponteiro para um HMIDIOUT (que é simplemente um Integer). Este ponteiro é preenchido com um handle identificando o dispositivo de saída MIDI aberto. Este handle é usado para identificar o dispositivo nas demais chamadas de saída MIDI. uDeviceID - Identificador do dispositivo de saída MIDI a ser aberto. O valor 0 aqui é seguro, visto que este identifica o primeiro dispositivo na lista de dispositivos de saída. Veja minha dica "Como obter uma lista dos dispositivos de saída MIDI no sistema" para mais informações. dwCallback - Um ponteiro para uma função de callback, um handle de evento, um identificador de thread ou um handle para uma janela ou thread chamada durante o playback do MIDI para processar mensagens relacionadas ao processo de playback. Se não houver nada a ser processado, podemos definir o valor 0 para este parâmetro. Dê uma olhada na minha dica relacionada à função MidiOutProc(). dwCallbackInstance - Dados de instância do usuário passados para a função de callback. Este parâmetro não é usado em callbacks de janela e thread. É seguro manter seu valor como 0. dwFlags - Flag de callback para abrir o dispositivo. Por enquanto vamos manter seu valor como CALLBACK_NULL. Veja minhas outras dicas sobre o assunto para aprofundar mais neste parâmetro. Agora que aprendemos mais sobre os parâmetros da função midiOutOpen(), vamos ver como usá-la para abrir um dispositivo de saída MIDI e tocar a nota DÓ média (aquela no meio da escala de notas possíveis). Veja o código completo para a unit: unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, MMSystem; type TForm2 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } dispositivo: HMIDIOUT; // dispositivo de saída MIDI public { Public declarations } end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); var erro: Word; begin erro := midiOutOpen(@dispositivo, 0, 0, 0, CALLBACK_NULL); // houve erro na abertura do dispositivo de saída MIDI? if (erro <> 0) then begin ShowMessage('Não foi possível abrir o dispositivo MIDI. Erro: ' + IntToStr(erro)); end else begin ShowMessage('Dispositivo MIDI aberto com sucesso.'); // vamos tocar uma nota para nos certificarmos de que o dispositivo // realmente foi aberto e está funcionando // vamos tocar a nota DÓ média e com velocidade máxima midiOutShortMsg(dispositivo, rgb($90, 60, 127)); // vamos deixar a nota soar um pouco sleep(1000); // vamos silenciar a nota midiOutShortMsg(dispositivo, rgb($80, 60, 0)); // finalmente vamos fechar o dispositivo MIDI midiOutClose(dispositivo); end; end; end. O primeiro passo foi declarar uma variável do tipo HMIDIOUT: dispositivo: HMIDIOUT; Este é o dispositivo de saída que será usado nas demais chamadas MIDI, incluindo a função midiOutClose(), usada para fechar o dispositivo: midiOutClose(dispositivo); Na API do Windows está função está declarada da seguinte forma: MMRESULT midiOutClose( HMIDIOUT hmo ); Na unit MMSystem.pas do Delphi está função está traduzida da seguinte forma: function midiOutClose(hMidiOut: HMIDIOUT): MMRESULT; stdcall; Veja que só precisamos fornecer o nome da variável representando o dispositivo de saída MIDI aberto no momento para que a função se encarregue de fechá-lo. |
Java ::: Coleções (Collections) ::: ArrayList |
Como rotacionar os elementos de uma ArrayList do Java para frente ou para trás usando o método rotate()Quantidade de visualizações: 10685 vezes |
Nesta dica mostrarei como podemos usar o método rotate() da classe Collections da linguagem Java para rotacionar os elementos de uma ArrayList. Veja sua assinatura:void rotate(List<?> list, int distance) Este método faz com que um elemento na posição i seja movido para a posição (distance + i) % list.size(). Se você quiser inverter a ordem da rotação, forneça um valor negativo para o argumento distance. Veja o código completo para o exemplo: package estudos; import java.util.ArrayList; import java.util.Collections; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<String>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); // exibe os elementos da ArrayList System.out.println("Antes da rotação:\n"); for(int i = 0; i < nomes.size(); i++) System.out.println(nomes.get(i)); // Vamos rotacionar os elementos uma posição Collections.rotate(nomes, 1); // exibe os elementos da ArrayList System.out.println("\nDepois da rotação:\n"); for(int i = 0; i < nomes.size(); i++) System.out.println(nomes.get(i)); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Antes da rotação: Carlos Maria Fernanda Osmar Depois da rotação: Osmar Carlos Maria Fernanda |
Delphi ::: Dicas & Truques ::: Data e Hora |
Como adicionar ou subtrair meses de uma data em Delphi usando a função IncMonth()Quantidade de visualizações: 20851 vezes |
Em algumas situações precisamos adicionar ou subtrair meses de uma determinada data. Em Delphi isso pode ser feito com o auxílio da função IncMonth() da unit DateUtils. Este função aceita um TDateTime e a quantidade de meses que queremos acrescentar ao TDateTime fornecido como argumento. O retorno será um novo TDateTime com a quantidade de meses acrescida. Veja um trecho de código no qual adicionamos 2 meses à data atual: procedure TForm1.Button1Click(Sender: TObject); var hoje: TDateTime; begin // não esqueça de adicionar DateUtils ao seus uses // vamos obter a data de hoje hoje := Now; // vamos exibir a data de hoje ShowMessage('Hoje é: ' + DateToStr(hoje)); // vamos adicionar 2 meses à data de hoje hoje := IncMonth(hoje, 2); // vamos exibir o resultado ShowMessage('Daqui a 2 meses será: ' + DateToStr(hoje)); end; É possível também usar a função IncMonth() para substrair meses de uma data. Para isso só precisamos fornecer uma quantidade negativa de meses. Veja: procedure TForm1.Button1Click(Sender: TObject); var hoje: TDateTime; begin // não esqueça de adicionar DateUtils ao seus uses // vamos obter a data de hoje hoje := Now; // vamos exibir a data de hoje ShowMessage('Hoje é: ' + DateToStr(hoje)); // vamos subtrair 3 meses da data de hoje hoje := IncMonth(hoje, -3); // vamos exibir o resultado ShowMessage('Há 3 meses era: ' + DateToStr(hoje)); end; O valor padrão para o segundo argumento de IncMonth() é 1. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Python ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como obter a entrada do usuário usando o método raw_input() - Atualizado para Python 3.0Quantidade de visualizações: 8071 vezes |
Até pouco tempo era possível usar o método raw_input(), nativo do Python, para ler a entrada do usuário. O código abaixo, por exemplo, funcionava corretamente no Python 2.5: # obtém o nome do usuário nome = raw_input("Por favor, informe seu nome: ") print "Ola, " + nome + "! Voce tambem gosta de Python?" No Python 3.0 em diante, a execução deste código exibe o seguinte erro de tempo de execução: Exception has occurred: NameError name 'raw_input' is not defined File "C:\estudos_python\estudos.py", line 4, in main nome = raw_input("Por favor, informe seu nome: ") File "C:\estudos_python\estudos.py", line 7, in <module> main() A correção para esta exceção, é usar somente a função input(). Veja: def main(): nome = input("Por favor, informe seu nome: ") print("Olá, " + nome + "! Voce tambem gosta de Python?") if __name__== "__main__": main() A saída deste código será parecida com: Por favor, informe seu nome: Osmar Olá, Osmar! Voce tambem gosta de Python? |
jQuery ::: Dicas & Truques ::: Manipulação e Conteúdo Dinâmico |
Como usar o método prependTo() do jQuery para adicionar todo o conteúdo de um elemento ao final de outro elemento HTMLQuantidade de visualizações: 7065 vezes |
O método prependTo() é usado quando queremos adicionar todo o conteúdo dos elementos retornados sob uma determinada condição no início de outro ou outros elementos HTML. Veja um trecho de código no qual adicionamos o conteúdo de um parágrafo no início de um elemento DIV: <script type="text/javascript"> <!-- function adicionarConteudo(){ var texto = "Mais uma linha.<br>"; $("#parag").prependTo("#div_1"); } //--> </script> O método prependTo() opera em todos os elementos HTML retornados sob uma determinação condição. O retorno do método é um objeto jQuery que pode ser usado para fins de encadeamento de chamadas de métodos. |
Veja mais Dicas e truques de jQuery |
Dicas e truques de outras linguagens |
Python - Como repetir os elementos de um vetor ou matriz usando a função repeat() da NumPy do Python Java - Exercícios Resolvidos de Java - Como converter de binário para decimal em Java usando o laço for |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |