| Últimas 20 atualizações de JEFFERSON ARAÚJO GOMES DA SILVA |
|
|
Olá pessoal, veremos neste
artigo um pouco sobre o recurso Object Session do ASp.Net. Farei uma breve
explicação sobre a inicialização do serviço onde sabemos que a cada solicitação
de um determinado cliente ao aplicativo ASP.Net, é
criado um objeto do tipo
Dictionary chamado Session. Nele podemos guardar
qualquer valor com strings
e números que poderão ser lidos em qualquer página da aplicação.
Em cada objeto tipo
ViewState do cliente existe um pointer para ele.
Para fixar melhor então,
podemos dizer que um cliente vai ter um objeto Session
e vários objetos do tipo
ViewState.
Quando uma página é
chamada pela primeira vez é disparado o evento
OnStarSession. Na pasta da aplicação podemos adicionar um
arquivo chamado
global.asax em que é
possível programar o método Session_OnStart
que será
executado quando ocorrer o
evento. Podemos então criar variáveis de sessão no
objeto Session, que
poderão ser lidas em todas as páginas. Este recurso é muito
utilizado para contar o
numero de usuários conectados no site por exemplo.
Portanto, para tornar uma
variável acessível em outras páginas da aplicação,
devemos desenvolver variáveis de sessão usando
aquele objeto Session.
Veja o exemplo abaixo:
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Olá pessoa vamos ver nesta
Quick Tip algumas formas de variáveis no C#.
Na linguagem C# as
variáveis estão agrupadas em algumas categorias como:
Static:
Existe apenas uma única cópia desta variável para todas as
instancias de uma classe.
Uma variável static começa a
existir quando
um programa começa a
executar, e deixa de existir quando o programa
terminar.
Instance:
existe uma cópia para cada instancia de uma classe. Uma
variável Instance começa a existir quando uma
instancia daquele tipo é
criado, e deixa de existir
quando não houver nenhuma referência àquela
instancia ou quando e
método Finalize é executado.
Array: é
uma matriz que é criada em tempo de execução.
Tipos
Podemos armazenar muitos
tipos de informações diferentes dentro de uma variável, como números, datas, e
strings.
Nesta linguagem, seus
tipos podem ter dois tipos:
Por Valor: os valores são
gerenciados diretamente na memória.
Por Referencia: os valores
são passados por meio de um ponteiro.
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Converter
um tipo de dado em número ou em literal é comum em situações de
programação.
Quando esta aplicação for destinada a Web com intervenções de
internautas,
esse recurso é utilizado com mais freqüência ainda. É comum o
internauta
testar a aplicação para ter certeza que o desenvolvedor se preocupou
com as
devidas conversões de valores.
Devemos
considerar alguns aspectos para a conversão de números:
·
Como existem diversos tipos de
números, inteiros, ponto flutuante ou
decimal,
os valores são convertidos sempre para o tipo de maior
faixa de
valores. Por exemplo, o tipo long é convertido para o ponto
flutuante,
mais é importante ressaltar que o contrario causa um erro.
·
Os tipos de menor faixa são
convertidos para os de maior faixa. Por
exemplo, o
tipo int pode ser convertido para: long, float, double ou
decimal.
·
A conversão dos tipos de ponto
flutuante(float, double) para decimal
causa
erro.
·
A conversão entre os tipos com sinal e
sem sinal de valores inteiros
com o
mesmo tamanho causa erro. Por exemplo, entre o tipo int e
unit.
Caso
precise forçar uma conversão mesmo que haja perda de informações, a
linguagem
disponibiliza um operador com este recurso.
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Um
tipo array é uma matriz de valores do mesmo tipo, que é criada em tempo
de
execução, podendo ser acessada por meio de um índice.
A
declaração do array sempre faz o uso de um colchete( [ ] ) depois do tipo da
variável.
O uso da instrução new sempre deve ser utilizado, pois é obrigatório.
O
tipo array pode ter diversas dimensões, o tamanho desta é definido pelo
desenvolvedor,
mas devemos saber que o primeiro índice é sempre zero.
No
tipo array devemos sempre inicializar seus elementos, pois é obrigatório
também.
Veja abaixo a forma de
sintaxe para a declaração de arrays.
TIPO
[ ] NomeDoArray = new TIPO
[ tamanho do array ];
float [
] ValorIndice = new float [ 10 ];
string [ ] ElementoVetor = new string [
10 ];
Veja
abaixo a forma de sintaxe para a declaração de um array de duas ou mais
dimensões.
TIPO
[ , ] NomeDoArray = new TIPO
[ tamanho do array, tamanho
do array ];
float [
, ] ValorIndice = new float [ 10 , 10 ];
string [ , , ] ElementoVetor = new string [
10 , 10 , 10 ];
Veja abaixo a forma de sintaxe para a
declaração de uma matriz de arrays.
TIPO
[ ] [ ] NomeDoArray = new TIPO
[ tamanho do array ]
[ tamanho do array ];
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Evento
pode ser dito como uma ocorrência significativa no aplicativo que deve
ser
tratada pelo código. Ou ainda, um evento é um conjunto de instruções que
ocorrem
quando uma determinada ação é realizada pelo usuário.
Esta
tecnologia permite ao desenvolvedor associar os eventos ao código da
aplicação.
Para isso estudaremos três eventos importantes.
Evento - Page_Load
O
objeto PAGE contem todas as propriedades e métodos para cada página
asp.net
que você constrói. Ao executar uma página asp.net, ela herda a partir da
classe
Page na .Net FrameWork.
O
evento Page_Load é muito importante para os desenvolvedores. Ele ocorre
quando
os formulários são carregados na aplicação.
Este
evento tem bastante utilidade nas páginas Asp.Net, como – redirecionar
usuários,
carregar dados do banco de dados, verificar identidade de um usuário,
criar
componentes dinamicamente, dentre outros.
Uma
propriedade importante do objeto Page é o IsPostBack.
A
propriedade IsPostBack recebe false se o objeto Page está sendo chamado
pela
primeira vez, e recebe true quando o objeto Page é chamado pela segunda
vez
em
diante.
Vejamos abaixo um exemplo
na linguagem C#.
<html>
<form runat="server">
<asp:Label id="saida"
runat="server"/>
<p align="center">
<asp:Button id="bot01"
Text=" - Verificar - "
OnClick="bot01_Clique"
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Olá pessoal, hoje veremos um
assunto pouco tratado, mas porem interessante para aqueles que mexem com
hardware, as baterias de notebook e como utilizá-las devidamente.
As baterias para notebook e outros
portáteis têm passado por
uma série de melhoramentos com a
finalidade de prolongar o tempo de
operação sem o uso da energia
elétrica doméstica (tomadas
comuns).
Como
utilizar sua bateria
No caso de um notebook, as baterias
obrigatoriamente devem ser recarregáveis. Ao contrário do que vemos em algunsmodelos
de celulares, seria inviável financeiramente usar pilhas
comuns, devido ao
(comparativamente) alto consumo elétrico de um notebook. Quem precisa de mais
autonomia é obrigado a comprar mais baterias junto com um ou dois carregadores,
carregar as baterias durante a noite e ir trocando as baterias durante o dia, conforme
se esgotam. Infelizmente não existe nenhu
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Olá pessoal, continuamos aqui com a implementação dos
códigos da aplicação Navegador Web que estamos criando nesta série de artigos.
Hoje veremos a codificação dos eventos relacionados ao componente WebBrowser do
aplicativo e suas respectivas ligações.
Começaremos com o evento OnDownloadComplete
Selecione o componente webbrowser, clique no object
inspector, na guia EVENTS procure o evento acima , dê um duplo clique e insira
a seguinte codificação:
procedure
TfrmBrowser.NavegadorDownloadComplete(Sender: TObject);
begin
//url
na status bar
StatusBar1.Panels[0].Text
:= Navegador.LocationURL;
end;
procedure
TfrmBrowser.NavegadorProgressChange(ASender: TObject; Progress,
ProgressMax:
Integer);
begin
//transmitindo informações para a
progress bar
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Olá à todos
, neste artigo iremos dar continuidade a codificação do nosso webbrowser. Devido
a alguns pedidos vou iniciar tratando da codificação da Action “Ir” de forma a
explicá-la um pouco melhor:
O escopo do código foi o seguinte:
Begin
Navegador.Navigate(cbUrl.Text);
if CDSUrl.Locate('URL',
cbUrl.Text, [loCaseInsensitive]) then
Exit // a url já esta gravada, ativa!
else
GerenciarURL; // A
Url não está gravada
CarregaCombo; //
Atualiza a url no combo
end;
Vejam que a clausula “if” verifica se a url digitada já se
encontra gravada no ClientDataSet, através do comando “locate” e caso não
esteja dispara-se os comandos que seguem. O tratamento “loCaseInsensitive” fará
com que durante a análise, sejam ignoradas as alterações de Caixa alta ou baixa
na digitação. Os comandos “GerenciarURL” ou “CarregaCombo” serão visto logo
adiante.
Declare duas procedures no escopo private da sua aplicação,
conforme colocado abaixo:
private
procedure CarregaCombo;
procedure GerenciarURL;
Aqui vai uma dica: Com o cursor colocado em qualquer lugar
da implementação das procedures, aperte Ctrl+Shift+C, assim, o Delphi
implementa as procedures (functions, properties,...) de maneira extremamente
simples e prática. Vamos então à implementação do código CarregaCombo, que será
responsável por alocar o endereço digitado numa espécie de mini-histórico do
ClientDataSet e será exibido no Combobox responsável por servir de Barra de
Endereços.
procedure TfrmBrowser.CarregaCombo;
var
OldURL: string;
begin
OldURL := cbUrl.Text; // guarda-se a url
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Olá pessoal , vamos dar continuidade neste artigo à criação
do navegador web iniciado no ultimo post.
Hoje veremos a configuração da barra de navegação, que abrigará os
botões básicos de navegação e a Barra de Endereço.
Inicialmente adicione ao formulário um componente “ToolBar” que deverá ser posicionado logo
abaixo do Menu, caso não seja, altere a propriedade Align para “alTop” . Aponte
a propriedade Images para o ImageList já presente.Clique com o botão direito na
ToolBar e observe que você pode incluir novos botões e separadores para os
mesmos, portanto , faça como na imagem
abaixo, atentando para inserir também o ComboBox que servirá como Barra de
Endereços.
<<<<<<<<Foto
da barra de navegação>>>>>>>>>>>.
Feito
isso configure os botões adicionados através da propriedade “Action” dos
mesmos, logo os botões automaticamente assumirão as propriedades das Actions
que criamos anteriormente. Lembre-se sempre desta manobra pois irá poupar
significativamente o seu tempo em aplicações mais extensas. Feito isso, altere
a propriedade Name do ComboBox para cbURL
e também a propriedade Text para
o endereço de qualquer site de sua preferência que servirá como pagina Home
para sua aplicação.
Inclua
agora um componente “ WebBrowser” na
aplicação, alterando o Align para “alClient”, este elemento será onde
exibiremos a página web. Logo em seguida inclua um componente StatusBar, clique
com o botão direito sobre ele e escolha “Panels Editor”. Na janela que se
abrirá adicione três panels observando a configuração da propriedade Width da
seguinte forma:
StatusPanel1 – width = 300;
StatusPanel2 – width = 120;
Status Panel 3 – width = 150.
Adicione
um componente ClienteDataSet e altere o
name para CDSUrl. Vá na propriedade FileName, clique no botão ao final do edit.
Na janela que se abrirá salve o arquivo como “URL.xml” , e atenção, faça desta
forma, com a extensão, pois caso esqueça o delphi salvará o arquivo como sendo
um binário simples.
Pronto,
o layout do navegador está completo. Vamos agora iniciar a implementação da
lógica:
Vamos
iniciar com a codificação das actions, dê um d
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Olá a todos, nesta serie de artigos veremos como criar um
navegador web utilizando o RAD Studio 2010, faremos algo visualmente simples,
porem de grande aprendizado quanto a codificação. Alguns recursos da linguagem
Delphi pouco utilizados em aplicações básicas serão apresentados de forma bem
prática, o que certamente irá ajudar a você tanto em termos de aprendizado
quanto à sua aplicação em projetos semelhantes.
Nesta primeira parte iremos tratar principalmente da parte
visual do aplicativo, sobre os elementos utilizados e buscarei falar
pontualmente sobre cada um dos mais importantes.
Bem, de início crie uma nova aplicação Windows forms (File –
New - VCL Forms Aplication Delphi), salve o projeto num diretório específico,
lembrando sempre que renomear tanto o formulário quanto o próprio projeto é uma
boa prática e facilitará o uso no futuro. Adicione à aplicação três componentes: um MainMenu, um ImageList e um ActionList. O
componente ActionList é sem dúvida alguma um dos mais poderosos dentre os
presentes na IDE, com ele criamos ações personalizáveis que servirão em larga
escala para a aplicação pois ele permite facilmente a interação com outros
componentes, neste exemplo inclusive iremos utilizá-lo no MainMenu e em outro
componente logo em seguida. Duplo clique sobre o ImageList escolha a opção “ADD” e inclua quatro images que
servirão para a navegação do Browser,
logo devem ser intuitivas, escolha de preferência imagens já presentes no
diretório do Delphi (C:\Program Files\Common Files\CodeGear
Shared\Images\GlyFX\Icons\XP\BMP\16x16) e procure pelas imagens: "stop16",
"arrowleft_green16_h" ,"arrowright_green16_h" ,"play_blue16"
. Selecione o ActionList e aponte a propriedade Images para o ImageList
adicionado(se você não o renomeou estará
como ImageList1).
Vamos então à criação das Actions:
1.
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Olá a todos, neste artigo veremos alguns elementos do Setup de um computador , falarei de forma conceitual de alguns componentes dos quais ouve-se muito falar porém na maioria dos casos não se sabe ao certo o que significam, acabando por gerar vícios e confusão na hora de explicá-los. Tratam-se de elementos básicos porém essenciais para o bom funcionamento do seu computador, vamos à eles : Bios Bios significa "Basic Input Output system". O Bios é um pequeno programa necessário para reconhecer o hardware, realizar o boot, e dar informações básicas para o funcionamento do sistema. O Bios é particular e personalizado para cada modelo de placa mãe, não funcionando outros. Setup O Setup é uma aplicação que nos permite configurar várias opções no que se refere ao Hardware instalado, desempenho do sistema, senhas etc. As configurações do Setup são cruciais para o funcionamento e bom desempenho do sistema, uma configuração errada do Setup pode tornar o sistema até 70% mais lento, ou seja, o seu computador pode virar uma
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Olá pessoal, hoje vamos aprender de forma bem prática como criar um menu no estilo Office 2007 em uma aplicação Delphi win32, para isso utilizaremos um elemento inovador já remanescente da versão 2009 do RAD Studio chamado Ribbon. Vamos criar aqui um menu simples mas que servirá certamente para elucidar dúvidas quanto a criação de aplicações mais complexas.
Para começar crie um novo projeto VCL Forms Application no Delphi e adicione o componente TRibbon localizado na paleta Ribbon Controls. Feito isso :
· clique com o botão direito do mouse sobre o componente e selecione ADD TAB, dentro da aba que acabou de ser criada;
· repita o procedimento agora clicando em ADD GROUP.
Muito bem, faremos apenas duas inserções neste grupo. A primeira será um botão aliado à uma imagem e a segunda inserção será um grupo de botões semelhante ao “Alinhar à Esquerda – Centralizar – Alinhar à Direita” que observamos na aba início do Word 2007. Esses dois padrões serão vastamente utilizados por qualquer aplicação em que o desenvolvedor optar pela utilização de componentes Ribbon, portanto, vamos à eles:
Para criar as ações à serem acessadas pelo Ribbon adicione um componente Action Manager ao projeto , para o exemplo adicionaremos ações conforme abaixo. Preste atenção também nas propriedades de cada uma delas:
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Olá à todos, hoje vamos aprender em rápidos passos com criar um efeito fotográfico muito utilizado em design que é a foto em dois tons de cores. E para que fique claro o que pretendemos fazer iniciarei lhes demonstrando o resultado com uma foto diversa:

Veja que, apesar de simples, esta prática pode ser aplicada em diversas situações nas quais se deseja criar efeitos personalizados em layouts de sites, aplicações e etc.
Inicialmente, abra a foto de sua preferência e duplique a camada (layer) background simplesmente arrastando-a para o ícone “Create New Layer” no canto inferior do painel de Layers.
Feito isso, vamos deixar a imagem em tons de cinza, eliminando a saturação. Para isso vá à guia IMAGE à ADJUSTMENTS à DESATURATE . A maneira mais simples de realizar este passo é utilizar o atalho CTRL + SHIFT + U.
Na guia Filter selecione ARTISTIC e escolha a opção CUTOUT. Você deverá ajustar os níveis localizados ao lado da janela que se abrirá da seguinte forma:
· Number of levels: 2;
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Actions ou “ações” no Photoshop é o termo utilizado para definir uma espécie de gravação de um procedimento , ou seja, o desenvolvedor pode, através deste recurso, gravar uma série de pré-definições que poderão ser utilizadas posteriormente de forma extremamente rápida.
Por exemplo, se você encontrou uma ótima combinação de imagens para criar uma borda de página que com certeza lhe será útil em outras oportunidades mas que, em contrapartida, é complicada e demorada para implementar, você poderá salvar tudo o que fez numa Action e da próxima vez em que desejar colocar a sua borda serão necessários cerca de dois ou três cliques, interessante não?
Muito bem, iremos criar uma Action bem simples, que insere uma marca d’agua e uma borda na tela, ok? Lembrando que a gravação de Actions não apresenta qualquer tipo de limitação, logo, você pode criar Actions gigantescas, prestando muita atenção no que está sendo gravado para que não gere problemas , ou seja, incluir uma rotina como salvar num pendrive, ou adicionar uma foto do arquivo, pode trazer complicações futuras, por óbvio.
Vamos lá, para começar vá na guia WINDOW - ACTIONS (caso não esteja habilitada), em seguida clique no ícone correspondente a CREATE NEW ACTION , na parte de baixo da paleta Action. Agora iniciaremos a gravação:
1-
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Nesta sequência de artigos veremos como criar e trabalhar com um template para todas as outras páginas, ou seja, padronizando o nosso projeto com a herança visual do template. Para isso utilizaremos um projeto em HTML feito no Adobe Dreamweaver CS4, vale lembrar que a grande maioria dos procedimentos aqui utilizados também se aplicam a outras versões do programa, com tênues mudanças, é claro. Dentre as vantagens em se trabalhar com templates vale destacar , sem dúvida alguma, a economia de tempo que o desenvolvedor terá no projeto como um todo, pois, elementos comuns como por exemplo : o título da página, menu principal, rodapé, e todo e qualquer elemento que se repita nas páginas seguintes serão criados uma única vez e herdados posteriormente com apenas alguns cliques. Inicialmente, devem-se observar atentamente quais são, de fato, os elementos comuns às paginas, visto que, tais elementos, uma vez adicionados ao template, não são passíveis de edição nas páginas subsequentes, portanto, a colocação de anúncios, fotos e textos de conteúdo pode trazer complicações no desenvolvimento do seu projeto. Vale ressaltar que é sempre importante observar a organização do seu projeto, se está devidamente salvo e , é claro, carregado na IDE do Dreamweaver. Rompida esta fase, vamos à confecção do template: 1- Crie a sua página pri
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Olá pessoal, no último artigo vimos como criar um template para o nosso site, e como utilizá-lo posteriormente para agilizar o desenvolvimento do projeto. A herança visual que utilizaremos nas páginas seguintes geralmente envolvem componentes padrão , como dito anteriormente, no entanto, visando um maior aproveitamento e economia de tempo,podemos criar modelos prontos para as inserções que faremos no decorrer do projeto, ou seja, os textos que serão adicionados nas páginas em geral. Por exemplo, é normal que toda página possua uma espécie de título ou cabeçalho que informe que assunto está sendo tratado neste local. Algo como: “Nossa empresa”, “Serviços”, “Parceiros” etc. É obvio que estou tratando de algo extremamente variável, pois, o design do site e os padrões à serem utilizados nascem sempre da criatividade do desenvolvedor. Muito bem, para agilizar todo o processo de desenvolvimento é interessante criar os layouts de fonte que iremos trabalhar. Vale lembrar pessoal que é sempre importante observar a uniformidade do site no que diz respeito à elementos como fonte, tamanho de fotos etc., nada de Arial na página Home, e “só pra variar” Comic Sans em outras ok? Para criar os layouts de fonte precisaremos de um arquivo de recurso, no caso um CSS, (Cascading Style sheets = “Folha de Estilo em Cascata”) onde serão criados todos os nossos estilos pré-definidos. Para tanto, vá no menu NEWà selecione CSS e clique em CREATE.
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
| |
|