Tudo sobre programação, banco de dados, internet, tecnologias, engenharia de software, dicas, tutoriais, dúvidas, apostilas e muito mais...
segunda-feira, 14 de dezembro de 2009
quinta-feira, 10 de dezembro de 2009
Gerenciadores de Layout Java - GridLayout
Características:
GridLayout simplesmente faz um grupo de componentes iguais em tamanho serem mostrados em um número requisitados de linhas e colunas.
Como utilizá-lo:
Um objeto GridLayout posiciona componentes em um grid de células. Cada componentes ocupa todo o espaço dentro de sua célula, e cada célula é exatamente do mesmo tamanho. Se a Janela é redimensionada, o objeto GridLayout muda o tamanho das células o quanto for possível.
O fragmento de código abaixo cria um objeto GridLayout e os componentes que ele gerencia.
GridLayout experimentLayout = new GridLayout(0,2);
...
compsToExperiment.setLayout(experimentLayout);
compsToExperiment.add(new JButton("Button 1"));
compsToExperiment.add(new JButton("Button 2"));
compsToExperiment.add(new JButton("Button 3"));
compsToExperiment.add(new JButton("Long-Named Button 4"));
compsToExperiment.add(new JButton("5"));
O contrutor da classe GridLayout cria uma instância que possui 2 colunas e quantas linhas forem necessárias.Material retirado de: java.sun.com
Gerenciadores de Layout Java - CardLayout


Características:
A classe CardLayout permite você implementar uma área que contém diferentes componentes em momentos diferentes.
Um CardLayout é geralmente controlado por um Combo Box, com seu estado determinando que Painel (grupo de componentes) o CardLayout exibirá em um determinado momento.
Ele tem o mesmo funcionamento que o TabbedPane.
Como utilizá-lo:O fragmento de código abaixo cria o objeto CardLayout e os componentes que ele gerencia.
Material retirado de: java.sun.com//Onde as variáveis de instância são declaradas:
JPanel cards;
final static String BUTTONPANEL = "Card with JButtons";
final static String TEXTPANEL = "Card with JTextField";
//Onde os componentes controlados pelo CardLayout são inicializados:
//Cria os "cards".
JPanel card1 = new JPanel();
...
JPanel card2 = new JPanel();
...
//Cria o Painel que contém os "cards".
cards = new JPanel(new CardLayout());
cards.add(card1, BUTTONPANEL);
cards.add(card2, TEXTPANEL);
Gerenciadores de Layout Java - FlowLayout

Características
FlowLayout é o gerenciador de layout padrão para todos os JPanel. Ele simplesmente posiciona os componentes em uma simples linha, começando uma nova linha se o tamanho do container não for grande suficiente.
Como utilizá-lo:O fragmento de código abaixo cria um objeto FlowLayout e os componentes que ele gerencia
. FlowLayout experimentLayout = new FlowLayout();
...
compsToExperiment.setLayout(experimentLayout);
compsToExperiment.add(new JButton("Button 1"));
compsToExperiment.add(new JButton("Button 2"));
compsToExperiment.add(new JButton("Button 3"));
compsToExperiment.add(new JButton("Long-Named Button 4"));
compsToExperiment.add(new JButton("5"));
Você pode escolher em que ordem os componentes serão inseridos. Da esquerda para direita (LEFT_TO_RIGHT), ou da direita para esquerda (RIGH).
Exemplo:
compsToExperiment.setComponentOrientation(
ComponentOrientation.LEFT_TO_RIGHT);
Material retirado do site: www.java.sun.com
sexta-feira, 4 de dezembro de 2009
Ler e Gravar em arquivo com php
$arquivo = "teste.txt"; //O arquivo se chamará teste.txt
$recurso = fopen($arquivo,"r"); // Abrindo o arquivo e jogando na variável $recurso
while(! feof($recurso)) //A função feof verifica se o arquivo chegou ao fim
{
$linha = fgets($recurso); //A função fgets lê o conteúdo do arquivo até a quebra de linha
echo $linha."
"; //Exibi o conteúdo do arquivo
}
fclose($recurso); // Fecha o arquivo novamente
?>
O código abaixo é utilizado para gravar informações em um arquivo txt.
Se o arquivo não existir ele o cria. Veja logo abaixo a tabela de modos de leitura/escrita em arquivos.
$arquivo = "teste.txt"; //Nome do arquivo que será gravado ou criado
$nome = "Carlos Augusto";
$blog = "http://duvidasdeprogramacao.blogspot.com";
$recurso = fopen($arquivo,"a+"); //Comando para criar/abrir o arquivo para gravação
fwrite($recurso,$nome); //Funçao para escrever no arquivo
fwrite($recurso,$blog);
echo "Gravação efetuada!";
fclose($recurso); //Função para fechar o arquivo
?>
O parâmetro mode especifica o tipo de acesso que você precisa ao stream. Pode ser um dos seguintes:
| mode | Descrição |
|---|---|
| 'r' | Abre somente para leitura; coloca o ponteiro do arquivo no começo do arquivo. |
| 'r+' | Abre para leitura e escrita; coloca o ponteiro do arquivo no começo do arquivo. |
| 'w' | Abre somente para escrita; coloca o ponteiro do arquivo no começo do arquivo e reduz o comprimento do arquivo para zero. Se o arquivo não existir, tenta criá-lo. |
| 'w+' | Abre para leitura e escrita; coloca o ponteiro do arquivo no começo do arquivo e reduz o comprimento do arquivo para zero. Se o arquivo não existir, tenta criá-lo. |
| 'a' | Abre somente para escrita; coloca o ponteiro do arquivo no final do arquivo. Se o arquivo não existir, tenta criá-lo. |
| 'a+' | Abre para leitura e escrita; coloca o ponteiro do arquivo no final do arquivo. Se o arquivo não existir, tenta criá-lo. |
| 'x' | Cria e abre o arquivo somente para escrita; coloca o ponteiro no começo do arquivo. Se o arquivo já existir, a chamada a fopen() falhará, retornando FALSE e gerando um erro de nível E_WARNING. Se o arquivo não existir, tenta criá-lo. Isto é equivalente a especificar as flags O_EXCL|O_CREAT para a chamada de sistema open(2). |
| 'x+' | Cria e abre o arquivo para leitura e escrita; coloca o ponteiro no começo do arquivo. Se o arquivo já existir, a chamada a fopen() falhará, retornando FALSE e gerando um erro de nível E_WARNING. Se o arquivo não existir, tenta criá-lo. Isto é equivalente a especificar as flags O_EXCL|O_CREAT para a chamada de sistema open(2). |
Gerenciadores de Layout Java - BorderLayout

Características:
Todo ContentPane é inicializado para utilizar um BorderLayout. (O ContentPane é o principal Container em todos os frames, applets, e janelas de diálogos).
Um BorderLayout posiciona componentes em 5 áreas: Top, Bottom, Left, Right, and Center. Todo espaço restante é a área central.
Barras de Ferramentas criadas utilizando JToolBar devem ser criadas com um Container BorderLayout se você quiser utilizar a função drag and drop.
Como utilizá-lo:
O código abaixo adiciona componentes a um ContentPane do frame. Devido o ContentPane utilizar o BorderLayout por Padrão, o código não precisa setar o Layout Manager.
Aguardem os outros tipos de gerenciadores no blog....//Container pane = aFrame.getContentPane()...
JButton button = new JButton("Button 1");
pane.add(button, BorderLayout.TOP);
JButton button2 = new JButton("Button 2");
pane.add(button2, BorderLayout.BOTTOM);
JButton button3 = new JButton("Button 3");
pane.add(button3, BorderLayout.LEFT);
JButton button4 = new JButton("Button 4");
pane.add(button4, BorderLayout.RIGHT);
JButton button5 = new JButton("Button 5");
pane.add(button5, BorderLayout.CENTER);
Material retirado de: http://java.sun.com
terça-feira, 1 de dezembro de 2009
Lua - Linguagem totalmente Brasileira

Segundo pesquisa da TIOBE, Lua (a linguagem de programação da PUC) está entre as 20 linguagens de programação mais utilizadas no mundo. Logo abaixo temos exemplos de código Lua, veja como é simples.
O que é Lua?
Lua é uma linguagem de programação poderosa, rápida e leve, projetada para estender aplicações.Lua combina sintaxe simples para programação procedural com poderosas construções para descrição de dados baseadas em tabelas associativas e semântica extensível. Lua é tipada dinamicamente, é interpretada a partir de bytecodes para uma máquina virtual baseada em registradores, e tem gerenciamento automático de memória com coleta de lixo incremental. Essas características fazem de Lua uma linguagem ideal para configuração, automação (scripting) e prototipagem rápida.
Por que escolher Lua?
Lua é uma linguagem estabelecida e robusta
Lua é usada em muitas aplicações industriais (e.g., Adobe's Photoshop Lightroom), com ênfase em sistemas embutidos (e.g., o middleware Ginga para TV digital) e jogos (e.g., World of Warcraft). Lua é atualmente a linguagem de script mais usada em jogos. Lua tem um sólido manual de referência e existem vários livros sobre a linguagem. Várias versões de Lua foram lançadas e usadas em aplicações reais desde a sua criação em 1993.
Lua é rápida
Lua tem uma merecida reputação de ótimo desempenho. Outras linguagens de script aspiram ser "tão rápidas quanto Lua". Vários benchmarks mostram Lua como a linguagem mais rápida dentre as linguagens de script interpretadas. Lua é rápida não só em programas específicos para benchmarks, mas no dia-a-dia também. Porções substanciais de aplicações grandes são escritas em Lua.
Lua é portátil
Lua é distribuída via um pequeno pacote e compila sem modificações em todas as plataformas que têm um compilador ANSI/ISO C. Lua roda em todos os tipos de Unix e Windows, e também em dispositivos móveis (como computadores de mão e celulares que usam BREW, Symbian, Pocket PC, etc.) e em microprocessadores embutidos (como ARM e Rabbit) para aplicações como Lego MindStorms.
Lua é embutível
Lua é uma engine rápida e pequena que você pode facilmente embutir na sua aplicação. Lua tem uma API simples e bem documentada que permite uma integração forte com código escrito em outras linguagens. É simples estender Lua com bibliotecas escritas em outras linguagens. Também é simples estender programas escritos em outras linguagens com Lua. Lua é usada para estender programas escritos não só em C e C++, mas também em Java, C#, Smalltalk, Fortran, Ada, e mesmo outras linguagens de script, como Perl and Ruby.
Lua é poderosa (e simples)
Um conceito fundamental no projeto de Lua é fornecer meta-mecanismos para a implementação de construções, em vez de fornecer uma multidão de construções diretamente na linguagem. Por exemplo, embora Lua não seja uma linguagem puramente orientada a objetos, ela fornece meta-mecanismos para a implementação de classes e herança. Os meta-mecanismos de Lua trazem uma economia de conceitos e mantêm a linguagem pequena, ao mesmo tempo que permitem que a semântica seja estendida de maneiras não convencionais.
Lua é pequena
Incluir Lua numa aplicação não aumenta quase nada o seu tamanho. O pacote de Lua 5.1.4, contendo o código fonte, documentação e exemplos, ocupa 212K comprimido e 860K descompactado. O fonte contém cerca de 17000 linhas de C. No Linux, o interpretador Lua contendo todas as bibliotecas padrões de Lua ocupa 153K e a biblioteca Lua ocupa 203K.
Lua é livre
Lua é software livre de código aberto, distribuída sob uma licença muito liberal (a conhecida licença MIT). Lua pode ser usada para quaisquer propósitos, incluindo propósitos comerciais, sem qualquer custo ou burocracia. Basta fazer um download e usá-la.Material retirado do site: http://www.lua.org/
---------------------------------------------------------------
Exemplos de código:
hello.lua: "Hello, World!"
Roda em:
Todas as arquiteturas
Descrição:
Chamar isto de um "programa" é um grande exagero, mas já é uma tradição, logo, vamos mantê-la :) Este programa imprime "Hello, World!" em um terminal e retorna para o shell. Baixe-o somente se sentir-se muito incomodado em executar o interpretador Lua inserido em eLua e digitá-lo você mesmo :)
Código fonte comentado:
print("Hello World")
---------------------------------------------------------------info.lua: Obtendo os dados sobre a plataforma
Roda em:
Todas as arquiteturas
Descrição:
Este programa não é muito mais complicado do que o "Hello, World!", porém ele mostra um módulo específico de eLua: o módulo "platform data" (pd). Você pode ler mais sobre os módulos "platform" na distribuição do código fonte (docs/platform_modules.txt). O programa mostrará o nome da plataforma, o nome da CPU, o nome da placa e o clock da CPU e então finaliza e volta para o shell.
Código fonte comentado:
-- Usa o módulo pd para ter acesso aos dados da plataforma e mostrá-lo no Terminal
print( "Estou usando a platforma " .. pd.platform() )
print( "A CPU é uma " .. pd.cpu() )
print( "A placa é uma " .. pd.board() )
quarta-feira, 25 de novembro de 2009
GO - Nova linguagem de programação da Google

É pessoal, é isso mesmo que vocês estão ouvindo (digo lendo). Mais uma linguagem pro povo. Não sei onde isso vai parar. Até hoje já trabalhei com mais de 10 linguagens diferentes, que no final é tudo a mesma coisa. É claro que cada linguagem é melhor em alguma coisa ou em alguma área, mas se tivessemos apenas uma ou duas resolveriamos as coisas da mesma forma.
Acho que o que a Google quer é mostrar que é muito grande mesmo, a maior de todas. Não acho que essa linguagem dure muito, a não ser que eles passem todas as APIs de sua vasta gama de aplicações (gmail, orkut, docs, earth, maps, wave, youtube, etc) para a nova linguagem, o que não acho provável.
No site da GO eles dizem que a linguagem é uma mistura de C++ com Python na velocidade do C. Pra quem conhece a maioria das linguagens, quando vemos o código abaixo, é realmente uma mistureba. Parece Python com C.
Eles dizem que a linguagem é experimental e que está quase tão rápida quanto o C.
“Em nossos experimentos, a versões típicas parecem instantâneas. Mesmo os binários maiores compilam em apenas alguns segundos. E o código compilado roda quase na mesma velocidade do C. A GO foi feita para você se mover rápido”, afirmaram os desenvolvedores no blog do Google.
Exemplo do famoso HelloWorld na nova linguagem:
package main
import "fmt"
func main() {
fmt.Printf("Hello, 世界\n")
}
terça-feira, 24 de novembro de 2009
Principais funções do MySql
GREATEST (X, Y ,...)| Retorna o maior (máximo de valor) argumento. Os argumentos são comparados usando as mesmas regras, pelo menos.
IF (expr1, expr2, expr3) | Se expr1 é VERDADEIRA (expr1 <> 0 e expr1 <> NULL) então IF () retorna expr2, senão ela retorna expr3
IFNULL (Expr1, expr2) | Se expr1 não é NULL, IFNULL () retorna expr1, senão retorna expr2.
INTERVAL (N, N1, N2, N3 ,...)| Retorna 0 se N
LEAST (X, Y ,...)| Com dois ou mais argumentos, retorna o menor (valor-mínimo) argumento.
NULLIF (expr1, expr2) | Se expr1 = expr2 for verdadeiro, retornar NULL else return expr1.
STRCMP (expr1, expr2) | retorna 0 se as strings forem iguais, -1 se o primeiro argumento é menor que o segundo acordo com a ordem de classificação atual, e 1 contrário.
Matemática
ABS (X) | Retorna o valor absoluto de X.
ACOS (X) | Retorna o arco cosseno de X, isto é, o valor cujo cosseno é X. Retorna NULL se X não está na faixa de -1 a 1.
ASIN (X) | Retorna o arco seno de X, isto é, o valor cujo seno é X. Retorna NULL se X não está na faixa de -1 a 1.
ATAN (X) | Retorna o arco tangente de X, isto é, o valor cuja tangente é X.
ATAN2 (X, Y) | Devolve o arco tangente de duas variáveis X e Y. É semelhante ao cálculo do arco tangente de Y / X, exceto que os sinais de ambos os argumentos são usados para determinar o quadrante do resultado.
CEILING (X) | Retorna o menor valor inteiro não menor que X.
COS (X) | Devolve o seno de X, onde X é dado em radianos.
COT (X) | Retorna a tangente de X.
DEGREES (X) | Retorna o argumento X, convertido de radianos para graus.
EXP (X) | Retorna o valor de e (base dos logaritmos naturais) elevado à potência de X.
Floor (x) | Retorna o maior valor inteiro não maior do que X.
LOG (X) | Retorna o logaritmo natural de X.
LOG10 (X) | Retorna o logaritmo de base 10 de X.
MOD (N, M) | Modulo (como o operador% em C). Retorna o resto de N dividido por M.
PI () | Retorna ao valor de PI.
POW (X, Y) | Retorna o valor de X elevado à potência de Y.
POWER (X, Y) | Retorna o valor de X elevado à potência de Y.
RADIANS (X) | Retorna o argumento X, convertido de graus para radianos.
RAND (N) | Retorna um valor em ponto flutuante aleatório no intervalo de 0 a 1,0. Se um argumento inteiro N é especificado, ele é usado como o valor da semente.
ROUND (X, D) | Retorna o argumento X, arredondado para um número com decimais D. Se D é 0, o resultado não terá nenhum ponto decimal.
SIGN (X) | Retorna o sinal do argumento como -1, 0 ou 1, dependendo se X é negativo, zero ou positivo.
SIN (X) | Devolve o seno de X, onde X é dado em radianos.
SQRT (X) | Retorna a não-raiz quadrada negativa de X.
TAN (X) | Retorna a tangente de X, onde X é dado em radianos.
TRUNCATE (X, D) | Retorna o número X, truncado para D casas decimais. Se D é 0, o resultado não terá nenhum ponto decimal ou parte fracionária.
String
ASCII (str) | Retorna o valor do código ASCII do caractere mais à esquerda da string str. Retorna 0 se str é uma string vazia. Retorna NULL se str é NULL.
BIN (N) | Retorna uma representação string do valor binário de N, onde N é um número muito grande (BIGINT).
CHAR (N ,...)| interpreta os argumentos como inteiros e retorna uma string com caracteres dados pelo valor do código ASCII dos números inteiros.
CHARACTER_LENGTH (str) | Retorna o comprimento da string str.
CHAR_LENGTH (str) | Retorna o comprimento da string str.
COALESCE (lista) | Retorna o primeiro não-NULL elemento na lista.
CONCAT (str1, str2 ,...)| Retorna a string resultante da concatenação dos argumentos.
CONCAT_WS (separador, str1, str2 ,...)| significa CONCAT com separador e é uma forma especial de CONCAT (). O primeiro argumento é o separador para o resto dos argumentos
CONV (N, da_base, para_base) | Converte números entre diferentes bases. Retorna uma representação string do número N, convertido a partir da_base base para para_base base.
ELT (N, str1, str2, str3 ,...)| Retorna str1 se N = 1, str2 se N = 2, e assim por diante. Retorna NULL se N é menor que 1 ou maior que o número de argumentos. ELT () é o complemento de FIELD ().
EXPORT_SET (bits, on, off, [separador, [numero_de_bits]]) | Retorna uma string onde para cada bit conjunto de "bits", você começa um "na" corda e para cada bit reset você começa um "off" de cadeia. Cada string é separada com "separador" ( "default") e apenas "numero_de_bits" (padrão 64) de "bits" é usado.
FIELD (str, str1, str2, str3 ,...)| Retorna o índice de str na lista str1, str2, str3, ... lista. Retorna 0 se str não foi encontrado. FIELD () é o complemento de ELT ().
FIND_IN_SET (str, strlist) | Retorna um valor de 1 para N se a string str está na strlista lista contendo N substrings. A lista de string é composta de substrings separadas por "," caracteres.
FORMAT (X, D) | Formata o número X de um como "#,###,###.##", formato arredondado para D casas decimais. Se D é 0, o resultado não terá nenhum ponto decimal ou parte fracionária.
HEX (N) | Retorna uma representação string do valor hexadecimal de N, onde N é um número muito grande (BIGINT).
INSERT (str, pos, len, newstr) | Retorna a string str, com o início substring na posição pos e personagens long len substituído pelo newstr cadeia.
INSTR (str, substr) | Retorna a posição da primeira ocorrência da substring substr na string str
LCASE (str) | Retorna a string str com todos caracteres alterados para minúsculas de acordo com o mapeamento atual conjunto de caracteres (o padrão é ISO-8859-1 Latin1).
LEFT (str, len) | Retorna os tam caracteres mais a esquerda da string str.
LENGTH (str) | Retorna o comprimento da string str.
LOCATE (substr, str, pos) | Retorna a posição da primeira ocorrência da substring substr na string str, iniciando na posição pos.
LOWER (str) | Returns a string str com todos caracteres alterados para minúsculas de acordo com o mapeamento atual conjunto de caracteres (o padrão é ISO-8859-1 Latin1).
LPAD (str, len, padstr) | Retorna a string str, deixou-preenchido com o padstr string str é até len caracteres de comprimento.
LTRIM (str) | Retorna a string str com caracteres de espaço à esquerda removidos.
MAKE_SET (bits, str1, str2 ,...)| Retorna um conjunto (uma string contendo substrings separadas por "," caracteres) contendo as strings que tem o bit correspondente em bits definido. str1 corresponde ao bit 0, str2 ao bit 1, cordas etc NULL em str1, str2, ... não são adicionadas ao resultado.
MID (str, pos, len) | Retorna uma substring de caracteres da string str, iniciando na posição pos.
OCT (N) | Retorna uma representação string do valor octal de N, onde N é um número do tipo long.
OCTET_LENGTH (str) | Retorna o comprimento da string str.
ORD (str) | Se o caracter mais a esquerda da string str é um caracter multi-byte, retorna o código de carácter multi-byte, devolvendo o valor do código ASCII do caractere
POSITION (substr IN str) | Retorna a posição da primeira ocorrência da substring substr na string str.
REPEAT (str, count) | Retorna um string consistindo da string str repetida cont vezes. Se a contagem de <= 0, retorna uma string vazia. REPLACE (str, da_str, para_str) | Retorna a string str com todas as ocorrências da string from_str substituído pelo to_str de cadeia.
REVERSE (str) | Retorna a string str com a ordem dos personagens invertidos.
RIGHT (str, len) | Retorna os tam caracteres mais à direita da string str.
RPAD (str, len, padstr) | Retorna a string str, preenchida a direita com a string até padstr str é tam caracteres de comprimento.
RTRIM (str) | Retorna a string str com caracteres de espaço removido.
SOUNDEX (str) | Retorna uma string soundex de str.
SPACE (N) | Retorna uma string consistindo de N caracteres de espaço.
SUBSTRING (str, pos, len) | Retorna uma substring longa tam caracteres da string str, iniciando na posição pos.
SUBSTRING_INDEX (str, delim, count) | Retorna a substring da string str antes de cont ocorrencias do delimitador delim.
TRIM ([[BOTH LEADING | | TRAILING] [remstr] FROM] str) | Retorna a string str com todos prefixos remstr e / ou sufixos removido. Se nenhum dos especificadores BOTH, LEADING ou TRAILING são dados, é considerado BOTH.
UCASE (str) | Retorna string str com todos caracteres alterados para letra maiúsculas de acordo com o mapeamento atual conjunto de caracteres (o padrão é ISO-8859-1 Latin1).
UPPER (str) | Retorna a string str com todos caracteres alterados para letra maiúsculas de acordo com o mapeamento atual conjunto de caracteres (o padrão é ISO-8859-1 Latin1).
Data e Hora
ADDDATE (data, INTERVAL tipo expr) | Realiza aritmética data.
CURDATE () | Retorna a data de hoje como um valor em "AAAA-MM-DD" ou no formato AAAAMMDD, dependendo se a função é usada em um contexto string ou numérico.
CURTIME () | Retorna a hora atual como um valor em "HH: MM: SS" ou HHMMSS, dependendo se a função é usada em um contexto string ou numérico.
DATE_ADD (data, INTERVAL tipo expr) | Realiza aritmética data.
DATE_FORMAT (data, formato) | Formata o valor de data de acordo com a seqüência de formato.
DATE_SUB (data, INTERVAL tipo expr) | Realiza aritmética data.
DAYNAME (data) | Retorna o nome do dia da semana para a data.
DAYOFMONTH (data) | Devolve o dia do mês para a data, no intervalo de 1 a 31.
DAYOFWEEK (data) | Retorna o índice da semana para a data (1 = domingo, 2 = segunda-feira, ... 7 = sábado). Estes valores do índice correspondem ao padrão ODBC.
DAYOFYEAR (data) | Retorna o dia do ano para a data, no intervalo de 1 a 366.
FROM_DAYS (N) | Dado um dayNumber N, retorna um valor DATE.
FROM_UNIXTIME (unix_timestamp , format) | Retorna uma representação do argumento unix_timestamp como um valor em "AAAA-MM-DD HH: MM: SS" ou no formato YYYYMMDDHHMMSS, dependendo se a função é usada em um contexto string ou numérico.
HOUR (hora) | Retorna a hora para hora, na faixa de 0 a 23.
MINUTE (hora) | Retorna o minuto de tempo, no intervalo de 0 a 59.
MONTH (data) | Retorna o mês para a data, no intervalo de 1 a 12.
MONTHNAME (data) | Retorna o nome do mês para a data.
NOW () | Retorna a data e hora atual como um valor em "AAAA-MM-DD HH: MM: SS" ou no formato YYYYMMDDHHMMSS, dependendo se a função é usada em um contexto string ou numérico.
PERIOD_ADD (P, N) | Adiciona N meses de período P (no formato YYMM ou AAAAMM). Retorna um valor no formato AAAAMM.
PERIOD_DIFF (P1, P2) | Retorna o número de meses entre os períodos P1 e P2. P1 e P2 deve estar no formato AAAAMM ou YYMM.
QUARTER (data) | Retorna o trimestre do ano para a data, no intervalo de 1 a 4.
SECOND (hora) | Retorna o minuto de tempo, no intervalo de 0 a 59.
SEC_TO_TIME (segundos) | Retorna o argumento segundo, convertido em horas, minutos e segundos, como um valor em "HH: MM: SS" ou HHMMSS, dependendo se a função é usada em um contexto string ou numérico.
SUBDATE(data, INTERVAL tipo expr) | Realiza aritmética data.
SYSDATE () | Retorna a data e hora atual como um valor em "AAAA-MM-DD HH: MM: SS" ou no formato YYYYMMDDHHMMSS, dependendo se a função é usada em um contexto string ou numérico.
TIME_FORMAT (hora, formato) | Esta é usado como o DATE_FORMAT () acima, mas a seqüência de formato pode conter apenas os especificadores de formato que lidar com horas, minutos e segundos.
TIME_TO_SEC(time) | Retorna o argumento de tempo, convertido em segundos.
TO_DAYS (data) | Com base em uma data data, retorna uma dayNumber (o número de dias desde o ano 0).
UNIX_TIMESTAMP (data) | Se chamado sem argumento, retorna um timestamp de Unix (segundos desde "1970-01-01 00:00:00 GMT"). Se UNIX_TIMESTAMP () é chamado com um argumento de data, ele retorna o valor do argumento como segundo, já que "1970-01-01 00:00:00" GMT.
WEEK (data) | Com um único argumento, retorna a semana para a data, no intervalo de 0-53
WEEKDAY (data) | Retorna o índice da semana para a data (0 = segunda-feira, 1 = Segunda-feira, ... 6 = domingo).
YEAR (data) | Retorna o ano para a data, no de 1000 a 9999.
YEARWEEK (data, first) | Retorna ano e uma semana para a data. O segundo argumento funciona exatamente como o segundo argumento para WEEK ().
Resumindo
AVG (expr) | Retorna o valor médio de expr.
BIT_AND (expr) | Retorna ao bitwise AND de todos os bits em expr. O cálculo é realizado com 64-bits (precisão BIGINT).
BIT_OR (expr) | Retorna o bitwise OR de todos os bits em expr. O cálculo é realizado com 64-bits (precisão BIGINT).
COUNT (expr) | Retorna uma contagem do número de valores não-NULL nos registros recuperados por uma instrução SELECT.
MAX(expr) | Retorna o valor máximo de expr. Pode tomar um argumento de cadeia, em tais casos, retorna o valor máximo da seqüência.
MIN (expr) | Retorna o valor mínimo de expr. Pode tomar um argumento de cadeia, em tais casos, ele retorna o valor da seqüência mínima.
STD (expr) | Retorna o desvio padrão de expr. Esta é uma extensão do SQL ANSI. O formato STDDEV () desta função é fornecida para compatibilidade com Oracle.
STDDEV(expr) | Retorna o desvio padrão de expr. Esta é uma extensão do SQL ANSI. O formato STDDEV () desta função é fornecida para compatibilidade com Oracle.
SUM (expr) | Retorna a soma de expr. Note que se o conjunto de retorno não tem linhas, ele retorna NULL!
Diversos
BENCHMARK (count, expr) | executa a expressão expr repetidamente cont vezes. Ele pode ser usado para medir a velocidade que o MySQL processa a expressão.
BIT_COUNT (N) | Retorna o número de bits que são definidos no argumento N.
CONNECTION_ID () | Retorna o ID da conexão (thread_id) para a conexão. Cada conexão tem seu próprio ID único.
DATABASE () | Retorna o nome do banco de dados atual.
DECODE (cript_str , senha_str) | Descrypts cript_str a string encriptada utilizando senha_str como a senha. cript_str deve ser uma seqüência de caracteres retornado ENCODE ().
ENCODE (str, senha_str) | Criptografa str usando senha_str como a senha. Para descriptografar o resultado, utilize DECODE (). O resultado é uma seqüência binária do mesmo comprimento de cadeia. Se você quiser salvá-lo em uma coluna, use uma coluna do tipo BLOB.
ENCRYPT (str [, salt]) | Criptografa str usando o Unix crypt () do sistema. O argumento salt deve ser uma string com dois caracteres. (A partir do MySQL 3.22.16, o sal pode ser maior que dois caracteres.)
GET_LOCK (str, timeout) | Tries obter um bloqueio com um nome dado pela string str, com um tempo limite de timeout segundos. Retorna 1 se o bloqueio foi obtido com sucesso, 0 se o tempo esgotou, ou NULL se ocorreu um erro (como ficar sem memória ou o fio foi morto com mysqladmin kill).
INET_NTOA (expr) | Retorna o endereço de rede (4 bytes ou 8) para a expressão numérica.
INET_ATON (expr) | Retorna um inteiro que representa o valor numérico para um endereço de endereços de rede podem ser de 4 ou 8 endereços de bytes.
LAST_INSERT_ID ([expr]) | Retorna o último valor gerado automaticamente que foi inserido em um coluna AUTO_INCREMENT.
LOAD_FILE (file_name) | Lê o arquivo e retorna o conteúdo do arquivo como uma string. O arquivo deve estar no servidor, você deve especificar o caminho completo para o arquivo, e você deve ter o privilégio de arquivo.
MD5 (string) | Calcula um checksum MD5 para a cadeia. O valor é retornado como um número longo hex 32 que podem, por exemplo, ser usado como uma chave hash.
PASSWORD (str) | Calcula uma seqüência de senha do str senha plaintext. Esta é a função que é usada para criptografar a senha do MySQL para armazenamento na coluna Password da tabela de subsídio do usuário.
RELEASE_LOCK (str) | Libera a trava nomeada pela string str que foi obtido com GET_LOCK (). Retorna 1 se o bloqueio foi lançado, 0 se o bloqueio não foi bloqueado por este segmento (caso em que o bloqueio não é liberado) e NULL se o nome da trava não existe.
SESSION_USER () | Retorna o nome de usuário do MySQL em curso.
SYSTEM_USER () | Retorna o nome de usuário do MySQL em curso.
USER () | Retorna o nome de usuário do MySQL em curso.
VERSION () | Retorna uma string indicando a versão do servidor MySQL.
Ler e escrever arquivos texto no Delphi
//Rotina para escrever em um arquivo texto:
Var
F:TextFile;
Begin
AssignFile(f,'c:\arquivo_qualquer.txt');
Rewrite(f); //abre o arquivo para escrita
Writeln(f,'Dúvidas de Programação'); escreve no arquivo e desce uma linha
Write(f,'duvidasdeprogramacao.blogspot.com'); //escreve no arquivo sem descer a linha
Closefile(f); //fecha o handle de arquivo
End;
//Rotina para ler de um arquivo texto:
var
f:TextFile;
linha:String;
begin
AssignFile(f,'c:\arquivo_qualquer.txt');
Reset(f); //abre o arquivo para leitura;
While not eof(f) do
begin
Readln(f,linha); //lê do arquivo e desce uma linha. O conteúdo lido é transferido para a variável linha
Memo1.lines.add(linha); //adiciona a um campo Memo
End;
Closefile(f);
end;

