Mostrando postagens com marcador Programação. Mostrar todas as postagens
Mostrando postagens com marcador Programação. Mostrar todas as postagens

Aulas de Computação Grátis

Essa semana o Ilvo me passou uma dica muito interessante:

Para quem não compreendeu 100% algum conteúdo ou quem queira estudar novamente o conteúdo da faculdade, segue um link muito interessante.

Obs: Envio esse pois achei a estrutura de ensino muito bem elaborada.

http://www.compcederj.com.br/aulas/

É isso ai, todo o conteúdo da faculdade em vídeo e de graça, bom proveito.

Dicas de Genexus


Bom, achei isso ai no bloco de notas, são minhas anotações dos primeiros dias utilizando Genexus.

Atalhos Mais Usados
  • CTRL+K = define atributo como chave
  • CTRL+D = define atributo Descritor, maior carga semântica, utilizado em filtros etc
  • CTRL+L = insere novo nível
  • F4 para ver propriedades do objeto selecionado
  • CTRL+O = abrir/buscar objetos
  • CTRL+A = buscar atributo
  • F12 = abrir um objeto selecionado ou que o marcador esteja
  • F5 = Run Developer Menu
  • CTRL + Q = comentar código
  • CTRL + SHIFT + Q = descomentar código

1 Como criar índice de usuário?
  1. Acesse a tabela que deseja criar o índice
  2. Na parte de baixo, selecione Indexes
  3. Clique botão direito e selecione Add Index
  4. Botão direito no novo índice e adicione os atributos

2 Como criar um domínio diretamente em uma transaction?

Basta colocar nome= na frente do tipo de dados.
  1. Nome= Character(20)
  2. Id = Numeric(4.0)
3 Como resolver o Erro: No aplications found. Em Smart Devices?
  1. Criar um Dashboard e adicionar um Item para invocar a Work With que quer executar.
  2. Altere as propriedades do Item: descrição, imagem...
4 Como configurar ADS no Android, colocar seu ID Publisher?
  1. Acesse http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Ads+%28Advertising%29,
  2. Siga os passos descritos no site.
5 Como criar/congelar uma versão da KB?
  1. Abrir Menu View->Versions
  2. Clique botão direito e selecione Freeze (congelar)
  3. Dê um nome, de preferência com a Data ou algum sequencial.
6 Como criar uma nova base de dados (limpa) com objetivo de manter a versão da antiga congelada também?
  1. Em Knowledge base navigator->Preferences->(DataStore do seu Environment)->Edit Connection
  2. De outro nome para o banco de dados e clique em Create DataBase
  3. Menu Build->Create Database Tables
7 Quando as alterações do CSS não estiverem fazendo efeito na aplicação, como resolver?
  1. Build all: o Gx copia algumas coisas do tema dentro da app, não adianta alterar os estilos apenas, precisa gerar novamente.
8 Como ordenar um for Each?
  1. Crescente: For Each Order Campo1, Campo 2 ... EndFor
  2. Decrescente: For Each Order (Campo1), (Campo 2) ... EndFor
9 Como saber onde um atributo ou objeto qualquer é utilizado?
  1. Para buscar o atributo, atalho CTRL+O, abra o que deseja analisar.
  2. Clique botão direito mouse sobre a aba (o nome do objeto) e selecione References (No GX9 era Cross ou algo assim)
10 Voltar versão de um objeto?
  1. Botão direito nele (aba com nome...) e selecione history, poderá comparar versões e voltar para determinada data...
11 Como ver a navegação de um procedimento com for each, saber quais tabelas do banco serão navegadas?
  1. Botão direito nele (aba com nome...) e selecione View Navigation.
12 Como evitar um Break ao ter laços aninhados que tem a mesma tabela base?
  1. Crie uma Sub Rotina: Sub 'Nome Rotina' ...coloque aqui o laço aninhado (For Each)... EndSub
  2. Chame essa rotina: Do 'Nome Rotina'  
  3. Obs.: Crie sempre as sub rotinas no final do Procedimento, abaixo de onde está usando...
13 Como colocar Condições em Regras/Condições?
  1. Em Regras (Rules) use If: Par1 = &Par1 If Insert;
  2. Em Condições, use When: Par1 = &Par1 When Not &Par1.IsEmpty();
14 Como abrir uma popUp de seleção em uma grid?
  1. Primeiro será necessário criar sua tela de pesquisa.
  2. Importante: Rules -> Parm -> Parâmetros precisam ser InOut!
  3. Na tela, add rule: Prompt(NomeTelaSelect, CampoChaveGridSubNivel);
15 Como fazer uma variável aceitar receber valor em uma Transaction?
  1. Utilize o Accept(&variavel); nas Rules
16 Problema: campo numérico no banco com alguns valores NULL, você quer fazer um foreach ou somar ou trabalhar apenas com os dados dos registros onde este campo é NULL, você já tentou utilizar isEmpty() e também  = Null(campo) e não funcionou? Passei por isso, achei  a solução no método de testes/erros/acertos... usando a função isNull deu certo, conforme abaixo:
  1. &Horas = SUM(Horas, isNull(CampoCodigoXXX))

17 Como configurar o Genexus pra pegar licenças na rede? Certo dia na empresa fiquei sem licença pra trabalhar, outro dia acabei vendo um erro ao reorganizar a base de dados... tudo questão de escolher uma máquina na rede com as licenças disponíveis, abaixo o erro que me ocorreu e na sequencia a solução.

error: GeneXus .NET Generator:
Error starting remote protection, using mgtsrv04 server:
Not authorized
error: Error in reorganization
  1. Vá até a pasta onde o executável do Genexus está (clique botão direito sobre o atalho e selecione "Abrir local do Arquivo"
  2. Procure um arquivo chamado "GxLMgr" que é o Gerenciador de Licenças do Gx e abra ele
  3. Selecione a máquina na rede, pode verificar se todas as licenças da máquina já estão em uso, se não estiverem é só voltar para o Genexus (no caso de erro semelhante ao meu), ou fechar e abrir de novo o GX que ele já vai pegar certinho o servidor de licenças agora.
  4. Obs.: No caso do erro acima precisa licença para o gerador, não para o Gx, são coisas diferentes.
18 Como fazer para poder editar registros diretamente em uma grid que está em uma web panel?
  1. Precisa criar variáveis baseadas nos atributos que se deseja atualizar
  2. Adicione as variáveis na grid
  3. Colocar a propriedade Read Only = No nessas variáveis -> colunas da grid (vem default)
  4. Coloque um botão com evento de percorrer as linhas da grid e atualizar os registros
  5. O evento do botão vai usar For Each Line In GrdDados
19 Como fazer que ao fechar uma popup a página de baixo/que chamou seja atualizada?
  1. Ao i nvés de chamar tela.PopUp() usar uma variável Window
&Window.Object = HSGP073.Create(&DemCodigo, SolCodigo)
&Window.Autoresize = True
&Window.Open()
Refresh

Criação de um Sistema para Controle de Viagens no Delphi com Firebird Parte II

Olá pessoal, este tutorial é bem antigo e estava perdido aqui nos meus Rascunhos, acho que não tinha terminado ele, era pra ser a continuação deste que na verdade acabou sendo continuado por este. Era pra ser um passo a passo de como montar os cadastros da nossa aplicação para controle de Viagens no Delphi, mas foi feito apenas o início da parte dos menus... #FAIL mas algo sempre se aproveita, então, boa leitura.

Abra o Delphi e crie uma nova aplicação pelo menu File → New → VCL Forms Application – Delphi for Win32, o Delphi vai abrir um Form vazio pra começarmos a trabalhar, no Object Inspector vamos alterar as seguintes propriedades deste form:

Name: FrmPrincipal
Caption: Controle de Viagens
WindowState: wsMaximized

Clique dentro do form e pressione CTRL+ALT+P, digite TMainMenu e pressione ENTER. O atalho serve para começar a filtrar os componentes da Tool Palette do lado esquerdo, note que enquanto você digitava os componentes vão sendo filtrados até sobrar apenas um, com o ENTER ele foi automaticamente inserido no formulário principal.

Este componente serve para montarmos o nosso menu, de um duplo clique nele, será aberto um novo form em branco com um menu vazio selecionado, no Object Inspector vamos procurar a propriedade Caption e digitar "Arquivo", note que vai aparecer um menu "Arquivo" no formulário, clicando em Arquivo ele abre um menu suspenso para baixo onde podem ser cadastrados mais menus, selecione um espaço em branco logo abaixo de "Arquivo" no menu e preencha a propriedade Caption como "Sair", depois vá na aba Events do Object Inspector, então dê um duplo clique no evento OnClick, o Delphi vai sair do modo Design e vai para o Code, ou código, digite a seguinte instrução para fechar a aplicação quando clicado neste menu (Sair):

procedure TFRMPRINCIPAL.Sair1Click(Sender: TObject);
begin
  Close;
end;

Agora pressione F12 para voltar para o modo Design, esta é a tecla de atalho pra alterar entre Design e Code. Bom, agora você já sabe como criar mais menus e adicionar eventos para eles, crie um menu ao lado de "Arquivo" chamado de "Manutenções" e dentro dele (menu suspenso para baixo) crie os seguintes subMenus: Cidades, Pontos Turísticos, Passageiros, Guias, Veículos e Viagens. Se quiser ainda pode criar mais um menu ao lado deste para "Ajuda" sobre o sistema mas isso vai de cada um, documentar sempre é importante, se for distribuir o sistema também é importante colocar um "Sobre" com dados para contato em caso de dúvida ou coisa assim.

Bom, temos a estrutura do nosso menu pronta, agora precisamos criar os formulários de manutenção dos dados e adicionar uma instrução no evento OnClick dos menus que vai exibir este formulários, veremos isto mais adiante.

Com o início da aplicação ok vamos salvar nossa aplicação, como é a primeira vez temos que ir no menu File → Save Project As... para que seja salvo um projeto com executável e tudo o mais, caso contrário o Delphi salvará apenas o formulário o que nos trará alguns problemas mais adiante, este procedimento deve ser feito na primeira vez que vamos salvar, depois um CTRL+S serve pra nós, continuando, ao clicar em Save Project As... o Delphi abriu uma janela pedindo local e nome do arquivo da Unit1, utilize a mesma pasta que já tem o diagrama e tudo mais, renomeie para UntPrincipal e clique em Salvar, agora ele vai abrir uma nova janela para salvar o Projeto, de o nome de CONTROLEDEVIAGENS ou algo assim e clique em Salvar.

Solução de Problemas com Heurística - Desafio 8 Rainhas

Olá amigos!

Como prometido no post anterior, o programa para encontrar uma solução para o desafio das 8 rainhas foi concluído com sucesso utilizando conceitos de Inteligência Artificial, neste caso Heurística, que busca encontrar uma solução para determinado problema sem que tenhamos que testar todas as possibilidades, ou seja, busca um atalho através de escolhas inteligentes. Muito utilizado para problemas em que não é necessário encontrar a melhor solução e que o número de possibilidades seja tão grande que não é viável testar todas possibilidades pois levaria muito tempo com a capacidade de processamento atual.

O programa foi feito em Java no NetBeans, dividido em dois arquivos para ficar mais organizado e fácil de entender, o segundo objetivo foi parcialmente alcançado :).

Abaixo a função principal (main) onde é chamado as outras funções e fica fácil de entender como ele funciona.



Agora a classe que implementa as funções chamadas na Main.

Baskara Delphi

Programinha pra calcular Baskara no Delphi, tarefa de aula, vale compartilhar :D.

procedure TForm1.Button1Click(Sender: TObject);
var
  A,B,C,D,R1,R2:double;
begin
  try
    A := strtofloat(edta.Text);
    B := strtofloat(edtB.Text);
    C := strtofloat(edtC.Text);
    if A <> 0 then
    begin
      D := (B*B)-(4*A*C);
      if D >= 0 then
      begin
        R1 := ((-1*B)+SQRT(D))/(2*A);
        R2 := ((-1*B)-SQRT(D))/(2*A);
        EDTR.Text := FloatToStr(R1);
        EDTR2.Text := FloatToStr(R2);
    {    // exibir resultado em outro form
        final.Edit1.Text := FloatToStr(R1);
        final.Show;
     } end else
      begin
        ShowMessage('Erro na operação!! Delta menor que zero.');
      end;
    end else
    begin
      ShowMessage('Valor de A deve ser diferente de zero (0).');
    end;
  except on e:exception do
    ShowMessage(e.message);
  end;
end;

Criação de um Sistema no Delphi com Firebird

Olá, após um bom período de férias, as aulas da faculdade estão de volta e me lembrei que ficou tarefa do semestre passado pra fazer aqui no blog, mostrar como fazer um sistema utilizando Firebird no Delphi, rapidamente vou explicar como fazer uma tela de manutenção de uma tabela de Cidades, não é o mesmo BD do sistema de viagens mas o processo é o mesmo para todas as tabelas.

- Primeiramente abra o Delphi e crie um File -> New -> VCL Forms Application.


- Depois em File -> Save Project As ..., salve como "untPrincipal" e de um nome para o projeto, pode ser "Cidades", salve.
- Altere o Caption do Form para "Manutenção de Cidades" e o name para frmCidades. CTRL + S para salvar.
- Crie um Data Module em File -> New -> Other ..., selecione Data Module, OK.
 
 
- Neste Data Module, adicione o componente SQLConnection da paleta dbExpress para conectarmos ao nosso banco Firebird (como criar foi ensinado no outro post).
 
 
- Dê um duplo clique sobre o componente para abrir as opções.
- No driver name selecione Interbase.
- Na Key DataBase você coloca o caminho até o seu arquivo *.fdb, o banco de dados, se você salvar a aplicação no mesmo diretório que está o banco de dados pode colocar apenas o nome do arquivo.fdb, isto vai evitar problemas quando você for tentar usar o sistema em outro computador (terá que ter o banco no mesmo caminho).
- Na key ServerCharSet coloque "WIN1252" para que o sistema aceite acentos do português.
- Verifique se o User_Name, Password e SQLDialect estão corretos.
 
 
- Se quiser pode testar a conexão clicando no quarto botão bem em cima, vai pedir a senha (masterkey), se tudo der certo vai receber a mensagem "Successfully Connected".
 
- Clique em OK, altere a propriedade LoginPrompt do SQLConnection para false, isso faz com que ele deixe de perguntar a senha toda vez que você for abrir uma conexão com o banco.
- Altere a propriedade Name do DataModule para "DM".
- CTRL+ S para salvar, chame a Unit de "untDM".

Até aqui criamos um novo projeto, um formulário para a manutenção de cidades, um data module para separar a parte de conexão com o banco das telas de manutenção e criamos a conexão. Agora vamos fazer o processo que será igual para todos as "tabelas básicas" do banco que precisam apenas uma tela para inserir, alterar, excluir e consultar os dados (que eu chamo de manutenção).

- Adicione três componentes no DM (Data Module), um SQLDataSet, um DataSetProvider e um ClientDataSet, para cada tabela terá que ter estes 3 componentes.
- Selecione o SQLDataSet e altere a propriedade SQLConnection, selecione nosso componente de conexão SQLConnection1.
- Na propriedade CommandText vai aparecer "..." quando colocar o cursor do mouse dentro, clique nos pontinhos (...) para abrir o CommandText Editor, nele vão aparecer as tabelas do banco de dados e os campos de cada tabela, selecione a tabela que você está fazendo a manutenção, aqui é "CIDADE" e clique no botão "Add Table to SQL", depois em "Add Field do SQL", isso vai montar uma SQL de consulta dos dados, ex.: "select * from CIDADE", depois clique em OK.


- Selecione o DataSetProvider1 e altere a propriedade DataSet, selecione o SQLDataSet1.
- Selcione o ClientDataSet1 e altere a propriedade ProviderName, selecione o DataSetProvider1.
- Ative o ClientDataSet1 (propriedade Active = true).
- Duplo clique no ClientDataSet1 para abrir o Fields Editor, clique com o botão direito dentro do field Editor e depois em "Add all fields" ou "CTRL + F" para adicionar todos os campos da tabela.


- É interessante renomear os componentes para ficar fácil a identificação quando tiver que fazer pra todas as tabelas, de preferência antes de começar alterar as propriedades dos componentes, neste caso só vou fazer de uma então pulei esta parte.
- Deixe o Fields Editor do ClientDataSet1 aberto e volte para o frmCidades (untPrincipal).
- Selecione todos os fields e arraste eles para dentro do frmCidades, vai pedir uma confirmação para usar o form DM ou algo semelhante, clique em "Yes". Vão ser criados os Edits e Labels conforme os fields da tabela e um DataSource.


- Adicione no formulário o componente DBNavigator e altere a propriedade DataSource, selecione DataSource1.
- Adicione também o componente DBGrid e também altere sua propriedade DataSource para DataSource1. Neste momento já deve trazer os dados do banco (se tiver algo cadastrado), caso não traga nada e estes componentes fiquem "desativados", sem as funções, verifique no DM se o ClientDataSet está com a propriedade Active = true.
- Adicione também um Button, pode ser ao lado do DBNavigator, altere a propriedade Caption para "Salvar" ou "Gravar", de um duplo clique sobre o Button e então vamos digitar o código responsável por fazer com que os dados alterados ou inseridos realmente sejam salvos no banco, antes adicione nas uses o DM, para isso pressione "Alt + F11", selecione a unitDM e OK, agora sim o código para salvar:


procedure TfrmCidades.Button1Click(Sender: TObject);

begin
   DM.ClientDataSet1.ApplyUpdates(0);
end;


- Pressione "F12" para voltar ao modo Design.

Pronto, a tela deve ter ficado parecida com a imagem abaixo.

  
- CTRL + Shift + S para salvar tudo.
- CTRL + F9 para compilar.
- F9 para compilar e executar a aplicação com Debbuger, ou
- CTRL + Shift + F9 para compilar e executar sem Debug (mais rápido)

A aplicação funcionando.


Bom pessoal, minha aula está acabando e vou ficando por aqui, no futuro escreverei um post mostrando como fazer um menu na aplicação e também telas de manutenção em tabelas que tem chaves estrangeiras (usar lookup).

Até.

CSS não carrega com login ASP.NET

Olá pessoal, esta semana tive um pequeno problema durante o desenvolvimento de um sistema web no VS 2008 SP1 com dotNET 3.5, fiz uma master page com CSS e um diretório com imagens do modelo, criei um novo web form baseado na master page e configurei a web.config para somente permitir visualizar as páginas quem já fez login, conforme código abaixo, após isso as páginas somente carregavam os estilos após o usuário ter feito login.



Após muita pesquisa na Internet consegui resolver o problema adicionando permissão de acesso para todos os usuários nos diretórios das imagens e do CSS, veja código abaixo.



Meu arquivo Web.config completo.



A estrutura dos diretórios e páginas do meu Web Site.


Se alguém passou por uma situacão parecida e encontrou uma outra solução gostaria que postasse nos comentários, abaixo estou anexando o livro onde encontrei esta dica.
Apontamentos ASP Net
Até.

Juros Compostos no Lázarus

Olá pessoal!

Depois de algumas aula de matemática financeira, resolvi testar meus conhecimentos e fazer um programa pra cálculos de juros compostos. A idéia é que o usuário veja os campos com os dados necessários para o cálculo e deixe em branco aquele que ele deseja descobrir, por exemplo, pra calcular o montante, informa o capital inicial, taxa e tempo, clica em calcular, o programa verifica que foi deixado em branco o campo Montante e então calcula e exibe o resultado naquele campo.

Como tenho instalado no meu note Ubuntu 9.04 e Lázarus, resolvi fazer nele, já mostrei como instalar ele neste post.

Criação de um Sistema para Controle de Viagens no Delphi com Firebird

Olá pessoal, este é um resumo/tutorial da criação de um sistema para controle de Viagens feito durante as aulas de Programação Comercial do prof. Fauzi Shubeita, durante o desenvolvimento serão usados as ferramentas Case Studio 2.25, IB Expert, Delphi 2007 e o Banco de Dados Firebird 1.5, ele está dividido em duas partes, nesta primeira vamos modelar e criar o banco de dados, na segunda parte será o desenvolvimento no Delphi, talvez não tudo, mas o principal.

Sobre as ferramentas utilizadas:

Case Studio: utilizado principalmente para modelagem de banco de dados, permite a criação de Diagramas de Fluxo de Dados e Diagramas de Entidades e Relacionamentos, tem suporte aos principais banco de dados relacionais. Mais Informações.

IB Expert: segundo Wikipedia, "O IB Expert é um poderoso gerenciador de banco de dados que permite realizar todas as tarefas necessárias para o suporte e manutenção do banco tanto local como remotamente. Com ele é possível administrar o banco criando tabelas, modificando campos, índices, executando scripts SQL e outras funções. O IB Expert realiza a geração do modelo de entidade relacionamento para bancos de dados Interbase e Firebird.". Mais informações e link para download da versão Costumer.

Delphi: segundo próprio site do desenvolvedor, Embarcadero: "Delphi é um dos mais respeitados e amplamente utilizado ambiente Rapid Application Development (RAD). Mais de 1,7 milhões de desenvolvedores em todo o mundo escolheram o Delphi sobre outras ferramentas porque Delphi muda radicalmente as velocidades de trabalho em desktop, workstation, touch, kiosk, e desenvolvimento de aplicações Web sem sacrificar muito tempo de programação ou controle. Os aplicativos criados com o Delphi são rápidos, compacto, fornecem interfaces (UIs) ricas e podem conectar-se a praticamente qualquer fonte de dados ou dados "out-of-the-box". Atualmente já temos a versão 2010, mas neste tutorial estaremos utilizando a 2007.

Firebird: é um banco de dados relacional muito utilizado por ser leve, rápido e de fácil utilização, também roda no Linux, Windows e plataformas Unix. Mais Informações, download Baixaki.

Obs.: Neste resumo não mostrarei passos de como instalar os softwares, apenas utilizar.

Criando Cadastro Rapidamente no Delphi

Aula de Programação Comercial hoje, primeiro exemplo, cadastro de pessoas... segue os passos para criar um cadastro básico no DELPHI, usando Client Data Set e DBNavigator, é muito simples basta seguir os passos:

1 – Criar novo projeto
2 – Adicionar um data Module
3 – Adicionar um Client Data Set da paleta DataAccess no Data Module.
4 – Renomear Data Module para DM
5 – Renomear Client Data Set para CDSPessoas
6 – Clicar com botão direito no CDSPessoas e abrir Field Editor
7 – Criar New Fields -> Campos
8 – Após criar todos os campos, configurar a propriedade "File Name" do CDSPessoas, colocar o nome do arquivo XML para armazenar os dados, pode ser PESSOAS.XML
9 – Clicar botão direito sobre o CDSPessoas e selecionar "Create DataSet"
10 – Manter o Field Editor Aberto e voltar para o Forulário Principal
11 – Selecionar todos os campos do field editor e arrastar sobre formulário.
12 – Adicionar o componente DBNavigator da paleta Data Controls e configurar a propriedade "Data Source" do mesmo, selecione o DataSource1 que foi criado automaticamente quando foram arrastados os campos sobre o formulário.
13 – Salve o Projeto e execute.

Até.

Instalando Lázarus no Ubuntu 9.04

Olá pessoal, como programo em Delphi atualmente e gosto de usar Linux nas horas vagas, a um tempo queria testar o Lázarus, uma IDE muito semelhante ao Delphi mas que roda em Linux, Windows, Mac... e utiliza o FPC (Free Pascal Compiler) pra compilar os códigos em pascal. Hoje instalei ele e fiz um programa bem simples para testar, foi tranquilo. Segue os três comandos pra instalar.

1. Como sempre...

sudo apt-get update/upgrade
2. Instalar FPC
sudo apt-get install fpc
3. Instalar IDE -> Lazarus
sudo apt-get install lazarus

Agora já pode acessar o programa pelo menu Aplicativos->Programação->Lazarus, o ambiente é muito semelhante ao Delphi 7 mas é bem fácil de usar, para testar pode simplesmente pressionar F9 (compila e executa o programa).


Até.

Desabilitando Teclas com Javascript

Depois de muita pesquisa, teste e adaptação de vários códigos encontrados na Internet, consegui resolver meu problema. Ao pressionar a tecla F1 preciso chamar uma função específica do ASP.NET e não exibir a ajuda padrão dos navegadores, segue o código:



Apenas modificando esta função é possível desabilitar a função de qualquer tecla, basta trocar o código ASCII na variável “tecla” ou ainda pode desabilitar do F1 ao F12, trocando a condição que verifica a tecla pressionada por esta:

if(oEvent.keyCode >= 112 && oEvent.keyCode <= 123) { bRet = false; }

APACHE, MYSQL, PHP, PHPMYADMIN e ECLIPSE NO UBUNTU

Breve tutorial da instalação e configuração do Ubuntu para programar com PHP, realizando estes simples passos já é possível iniciar a programar.

1. Atualizar o sistema operacional
apt-get update
apt-get upgrade

2. Instalar Apache/Mysql/PHP
aptitude install apache2 mysql-server-5.0 php5 php5-mysql php5-cli -y
--durante a instalação será necessário definir uma senha para o Mysql.

3. Ir ao diretório virtual
cd /var/www/

4. Criar pagina de teste
vi teste.php

5. Pressione 'i' para poder digitar no vi e adicione o seguinte código
< ? php
      phpinfo();
? > 

6. Pressione ESC e digite ':wq' para salvar e fechar o vi

7. Instalar PhpMyAdmin
aptitude install phpmyadmin

8. Copiar o diretório do phpmyadmin para dentro de /var/www
cp -r /usr/share/phpmyadmin/ /var/www/phpmyadmin
8. Para acessar no seguinte endereço, http://localhost/phpmyadmin, precisa fazer o seguinte:
sudo gedit /etc/apache2/apache2.conf
add esta linha no final do arquivo ou onde desejar
Include /etc/phpmyadmin/apache.conf
e então reiniciar o apache.
/etc/init.d/apache2 restart
Fonte: http://askubuntu.com/questions/19127/how-to-access-phpmyadmin-after-installation


9. Reinicie

10. Abra o navegador e acesse 'http://localhost/' para verificar o funcionamento do apache, depois 'http://localhost/teste.php' para ver as configurações do PHP e depois 'http://localhost/phpmyadmin' para gerenciar facilmente suas bases de dados no Mysql.

11. Baixe o eclipse aqui.

12. Descompacte ele dentro de algum diretório, recomendo /usr/local/

13. Crie um atalho para o Eclipse na Área de Trabalho:
13.1 Clique com o botão direito do mouse e escolha Criar lançador…;
13.2 No campo Nome, digite: Eclipse;
13.3 no campo Comando, digite: /usr/local/eclipse/eclipse
13.4 Clique em OK;

14. Duplo clique no atalho para abrir.

Obs.: É necessário ter JVM instalado para rodar o Eclipse.

Até.

Dicas daqui e daqui.

Enviando e-mail no DELPHI for ASP.NET utilizando GMail

Olá pessoal, neste pequeno tutorial pretendo mostrar um exemplo simples de envio de e-mail em ASP.NET utilizando os serviços do Gmail e DELPHI 2007 for .NET, dica do Edinei.

Primeiramente vamos criar uma nova aplicação, File -> New -> ASP.NET Web Application.



Feito isso, adicione três TextBox, um Button e uma Label, renomeie a propriedade ID das textboxes para: txbdestinatario, txbassunto e txbmensagem respectivamente, a Label para lblretorno e o Button para btnenviar, aumente o tamanho das textboxes de acordo com sua preferência e mude a propriedade textMode da txbmensagem para “Multiline”. Apague o que tiver na propriedade Text da lblretorno e mude a propriedade Text do btnenviar para “Enviar E-mail”. O formulário deve ficar parecido com o da imagem abaixo.



O txtdestinatario vai receber o endereço de e-mail que se deseja enviar uma mensagem, txbassunto o assunto e txbmensagem a mensagem, a lblretorno irá mostrar se o e-mail foi enviado com sucesso ou se ocorreu algum erro durante o envio e o btnenviar chamará a função de envio de e-mail.

Para usar as funções de envio de e-mail do .NET, é necessário adicionar as seguintes bibliotecas na uses.


Uses
System.Net.Mail, System.Net.Configuration, System.Text, System.Net;

Feito isso, de um duplo clique no btnenviar e implemente a função que vai enviar o e-mail através do serviço de envio de e-mail da Google, o gmail, veja função abaixo.

procedure TDefault.btnEnviar_Click(sender: TObject; e: System.EventArgs);
var
EmailRemetente: string;
NomeRemetente: string;
Mail: MailMessage;
Client: SmtpClient;
begin
Mail := MailMessage.create;
Client := SmtpClient.create;
EmailRemetente := 'seuEmail@gmail.com'; // O e-mail do remetente
NomeRemetente := 'Seu Nome'; // O nome do remetente
try
Mail.&To.Add(txbDestinatario.text); // Destinatário
Mail.From := MailAddress.create(EmailRemetente, NomeRemetente, System.Text.Encoding.UTF8);
Mail.Subject := txbassunto.text; // Assunto do E-mail
mail.SubjectEncoding := System.Text.Encoding.UTF8;
mail.Body := txbmensagem.text; // Mensagem do e-mail
mail.BodyEncoding := System.Text.Encoding.UTF8;
mail.IsBodyHtml := true;
mail.Priority := MailPriority.High; // Prioridade do E-Mail
client.Credentials := NetworkCredential.create(EmailRemetente, 'AquiSuaSenha'); // usuário e senha do Gmail
client.Port := 587; // Esta porta é a utilizada pelo Gmail para envio
client.Host := 'smtp.gmail.com'; // Definindo o provedor que irá disparar o e-mail
client.EnableSsl := true; // Gmail trabalha com Server Secured Layer
try
client.Send(mail);
lblretorno.text := 'E-mail enviado com sucesso!';
except on erro:exception do
lblretorno.text := 'Erro ao tentar enviar e-mail. '+erro.message;
end;
finally
client.free;
mail.free;
end;
end;

Depois de implementada a função é só compilar e executar (CTRL+SCHIFT+F9) para testar o envio de e-mails.

Até.

Referências: http://www.devmedia.com.br/articles/viewcomp.asp?comp=12520

ERBD: Data Warehouses: Fundamentos, Ferramentas e Tendências Atuais

Prof. Renato Fileto
Departamento de Informática e Estatística (INE)
Universidade Federal de Santa Catarina (UFSC)

Tópicos
 Conceitos básicos
 Sistemas de Suporte à Decisão
 Data Warehouses (DWs)
 OLTP vs. OLAP
 Modelo Dimensional e operadores OLAP (drill-down, roll-up, etc.)
 Planejando, projetando e implementando DWs
 Diretrizes gerais, fases do desenvolvimento e tarefas envolvidas
 Estudo de Caso: DWs para a agricultura
 Padrões e ferramentas para a implementação de DWs
 Principais componentes e padrões para DWs
 Ferramentas abertas e proprietárias para DWs
 Alguns temas de pesquisa atuais em DWs
 DWs com extensões espaciais e temporais
 Semântica em DWs
 Conclusões e referências para estudos adicionais

Pessoal, quem tiver interesse nesta área, baixa este arquivo, é muito bom.

Javascript para abrir popup centralizada

Para abrir uma nova janela usando javascript podemos utilizar o comando window.open(), passando o endereço da página que queremos exibir, o nome da nova janela e as possíveis formas da janela como tamanho e posição dela na tela do usuário.

Veja o exemplo abaixo.



function AbrePopUp() {
// VARIAVEIS COM A RESULUÇÃO DA TELA DO USUÁRIO
var w=screen.width, h=screen.height;
// VARIÁVEIS COM TAMANHO DA POPUP QUE VOCÊ DESEJA ABRIR
var popW = 500, popH = 400;
// FÓRMULA PRA POSICIONAR A POPUP NO CENTRO
var leftPos = (w-popW)/2, topPos = (h-popH)/2;
// ABRIR A POPUP
window.open('pagina.html', 'NOME_JANELA','width=' + popW + ',height=' + popH + ',top=' + topPos + ',left=' + leftPos);
};


Se as funções screen.width e screen.height não funcionarem você pode tentar definir estes valores manualmente ficando um serviço meia boca ou ainda tentar pegar de outras formas estes valores como por exemplo com o código javascript abaixo.



if (document.all) {
w = document.body.clientWidth;
h = document.body.clientHeight;
}
else if (document.layers) {
w = window.innerWidth;
h = window.innerHeight;
}


Até.