31 de maio de 2011

Tabela ASCII em Delphi

O mesmo programa que o anterior só que em Delphi:

ASCII Delphi

 unit Unit1;  
 interface  
 uses  
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  
  Dialogs, StdCtrls;  
 type  
  TForm1 = class(TForm)  
   ListBox1: TListBox;  
   Button1: TButton;  
   procedure Button1Click(Sender: TObject);  
  private  
   { Private declarations }  
  public  
   { Public declarations }  
  end;  
 var  
  Form1: TForm1;  
 implementation  
 {$R *.dfm}  
 procedure TForm1.Button1Click(Sender: TObject);  
 var  
  i : Integer;  
 begin  
  for i := 0 to 255 do  
  begin  
   ListBox1.Items.Add(IntToStr(i)+' '+chr(i));  
  end;  
 end;  
 end.  

ASCII Delphi

Read more

Tabela ASCII em Pascal

Nem sempre é fácil encontrar os códigos ASCII para o ambiente DOS, sim você vai encontrar tabelas diferentes para DOS e para Windows. Em Pascal vamos achar os códigos em DOS e se precisar digitar ALT + código irá funcionar no DOS.

ASCII Pascal

Código Fonte:

 Program Tabela_ASCII_DOS;  
 Uses Crt;  
 var  
  t : TextFile;  
  i : Integer;  
 begin  
  ClrScr;  
  for i := 0 to 255 do  
  begin  
   Write (i:3,' ',chr(i),' | ');  
  end;  
  ReadLn;  
 end.  

ASCII Pascal

Read more

Dica de Dias Úteis no Excel

excel_logo.gif

Vamos ver como funciona a função DIATRABALHO no Excel.

Antes de mais nada essa função só funciona com a Ferramenta de Análise habilitada no Excel (Analysis ToolPak).

Essa função é muito útil, mas para que funcione bem teremos um pouco de trabalho, pois para estar 100% certa terá que saber os feriados que no caso variam entre um país e outro, um estado e outro e até feriados de uma determinada cidade como data de fundação.

No exemplo abaixo estarei usando o Office 2007.

Crie uma tabela primeiro com os feriados, no exemple estou apenas pegando os feriados de 2011, se for usar datas mais longas pegue de outros anos também e adicione os feriados regionais no meio.

Feriados 2011.png

Primeira etapa cumprida e você poderá usar para todas as demais operações, ou seja, uma vez feita a tabela de feriados fica útil para sempre.

Próxima etapa é colocar a data inicial e a fórmula.

DIATRABALHO_Excel.png

Na célula B7 coloquei o valor 6/3/2011.

Na célula C7 coloquei a fórmula: DIATRABALHO(B7;15;F3:F13)

B7 => Data Inicial

15 => Número de dias úteis

F3:F13 => feriados

Resultado:

Opá...tem boi na linha??? Não, claro que não apenas falta o formato data.

Botão direito em cima da célula C7:

Resultado:

Confira os dias utéis:

Se o dia 8 de março não fosse feriado 15 dias úteis seria até o dia 25, mas como dia 8 é feriado o próximo dia útil é 28 de março.

Read more

même pas peur... de Marie-Thérèse Porchet

Mais um vídeo de Franck Bouroullec:

Read more

Pintura Instantânea de Même Pas Peur de Cali

Um pintor francês Franck Bouroullec e suas incríveis pinturas. Veja como ele pode te surpreender.

Só não entendo como o YouTube bloqueou para o Brasil, o vídeo é uma divulgação do artista.

Caso tenha problemas em assistir disponibilizo o Download via EasyShare e MegaUpload:

EasyShare:

http://www.easy-share.com/1915779604/Même_Pas_Peur_Cali.avi

MegaUpload:

http://www.megaupload.com/?d=UQ92XG7V


même pas peur de Cali por mediaprofil

Read more

30 de maio de 2011

Determinante de Matriz Matemática em Pascal

Determinante Pascal.png

Mais um programa clássico em Pascal que é o cálculo do determinante de uma matriz.

Antes de mais nada é preciso lembrar como calcular.

Matriz A

A= a11 a12 a13
a21 a22 a23
a31 a32 a33


Determinante

det(A) = a11a22a33 + a21a32a13 + a31a12a23
- a11a32a23 - a21a12a33 - a31a22a13

Vamos ao programa:

 Program Calculo_de_Determinante_3_x_3;  
 Uses Crt;  
 var  
  a : Array [1..3,1..3] of Integer;  
  i, j : Integer;  
  d : Integer;  
 begin  
  ClrScr;  
  WriteLn ('Calculo de Determinante');  
  WriteLn;  
  // Entrada dos dados da Matriz A  
  for i := 1 to 3 do  
   for j := 1 to 3 do  
   begin  
    Write ('a',i,j,'=');  
    ReadLn (a[i,j]);  
   end;  
  // Calculo  
  d := a[1,1]*a[2,2]*a[3,3]+a[2,1]*a[3,2]*a[1,3]+a[3,1]*a[1,2]*a[2,3]-  
     a[1,1]*a[3,2]*a[2,3]-a[2,1]*a[1,2]*a[3,3]-a[3,1]*a[2,2]*a[1,3];  
  WriteLn;  
  WriteLn ('O Determinante da Matriz A e: ',d);  
  ReadLn;  
 end.  

Read more

Reduzir o Tamanho de Imagens Gratuitamente

Caesium

Você tira fotos com sua câmera digital? Escaneia imagens? E na hora de enviar para um site ou para um amigo os arquivos são muito grandes?

Saiba que esse é um problema comum e para reduzir o tamanho do arquivo muitas pessoas recorrem ao Microsoft Office Picture Manager quando tem o pacote Microsoft Office instalado ou a Adobe Photoshop.

Sendo sincero eu acho que muitas vezes temos muito trabalho se precisarmos reduzir o tamanho de muitas imagens e nem sempre é possível comprar softwares caros.

Tagro hoje um Caesium que é um software especial para reduzir as imagens preservando a qualidade (depende de redução).

Além disso o programa é capaz de enviar suas imagens para redes sociais como Facebook, MySpace,Hi5 entre outras.

No meus testes:

Caesium Compress Image.png

Caesium Compress Image 2.png

Redução de mais de 80% nos arquivos e visualização perfeita.

Compatibilidade: Windows XP, Vista e 7

Licença: GPL

Link: http://caesium.sourceforge.net/index.html

Download: https://sourceforge.net/projects/caesium/files/1.1.0/caesium-1.2.0-win.exe/download

Portátil: https://sourceforge.net/projects/caesium/files/1.1.0/caesium-1.2.0-port.zip/download

Read more

Quebrando Link de Cadastro de Telefone

quebra-link.jpg

Há uma guerra entre links bloqueados com cadastro via telefone e os programas e sites para desbloquear.

Já coloquei algumas soluções e ainda estou esperando um parceiro para continuar desenvolvendo um software para acabar com esses bloqueios. A versão 2 está quase pronta e em breve estarei lançando. O programa está sendo feito em Delphi.

Vamos ao novo link para "burlar" esse cadastro via telefone:

http://quebralink.algoritmizando.com/

Read more

29 de maio de 2011

X-Men First Class Trailer Legendado

x-men-first-class-poster.jpg

Na próxima sexta-feira (3 de junho de 2011) X-Men First Class (Primeira Classe) estréia no cinema brasileiro, com novos atores é claro que é como tudo começou.

Veja o trailer com legenda abaixo:

Read more

Hiren's Boot 14 o Programa Essencial para Manutenção de Computadores

Para quem trabalha com manutenção de computadores nunca pode ficar se um CD do Hiren's Boot que é um pacote de ferramentas essenciais.

hiren boot cover CD WEB.jpg

O Hiren's Boot chega a versão 14 com cada vez mais ferramentas e mais atualizações.

Vários programas em ambiente DOS permanecem pelo acesso direto ao hardware.

Problemas de vírus podem ser solucionados com esse pacote.

Se você tem uma impressora que imprime CD estou colocando uma capa personalizada.

A listagem de programas está nesse link: http://www.hiren.info/pages/bootcd

Compatibilidade: Windows

Licença: Freeware

Link: http://www.hiren.info/

Download: http://www.hirensbootcd.org/files/Hirens.BootCD.14.0.zip

Download da Capa:

MegaUpload: http://www.megaupload.com/?d=FOFFMPTS

Se desejar a versão em Photoshop comente.

Read more

Dúvida Matriz em Pascal

Com base na dúvida de leitora Danielle:

"enfim, meu nome é Danielle e moro no interior de São Paulo, estou cursando o primeiro período de Ciência da Computação. Eu estava com uma dúvida e fui fuçando no google e yahoo perguntas da vida e vi uma resposta com o link do seu blog dizendo que o senhor é professor e especialista em delphi e pascal. Então resolvi te mandar este email.. caso o senhor possa responder, eu vou ficar muito agradecida.

a minha dúvida é a seguinte: como mostrar a matriz EM FORMA DE MATRIZ???

sem q os números fiquem dispostos um do lado do outro??

eu tentei usar o gotoxy mas naum tah dando mto certo. olha aí"

Muitas pessoas tem dado o blog como referência e agradeço muito quem tem feito isso.

O código fonte dela:

 program teste;  
 uses crt;  
 var  
   iMat: array [1..3,1..3] of integer;  
   iLin, iCol: integer;  
 begin  
   write ('Digite os números da matriz: ');  
   for iLin:=1 to 3 do  
   begin  
    for iCol:=1 to 3 do  
      read (iMat[iLin,iCol]);  
   end;  
 clrscr;  
   for iLin:=1 to 3 do  
   begin  
    for iCol:=1 to 3 do  
    gotoxy (iCol,iLin); write (iMat[iLin,iCol]);  
   end;  
 readkey;  
 end.  

O único equivoco encontrado foi no seguinte trecho:

for iLin:=1 to 3 do
begin
for iCol:=1 to 3 do
gotoxy (iCol,iLin); write (iMat[iLin,iCol]);
end

Faltou um Begin antes do GotoXY.

Código Corrigido:

 program teste;  
 uses crt;  
 var  
   iMat: array [1..3,1..3] of integer;  
   iLin, iCol: integer;  
 begin  
  ClrScr;  
  write ('Digite os números da matriz: ');  
  for iLin:=1 to 3 do  
  begin  
   for iCol:=1 to 3 do  
   begin  
    Write ('(',iLin,',',iCol,')= ');  
    ReadLn (iMat[iLin,iCol]);  
   end;  
  end;  
  ClrScr;  
  for iLin:=1 to 3 do  
  begin  
   for iCol:=1 to 3 do  
   begin  
    gotoxy (iCol,iLin); write (iMat[iLin,iCol]);  
   end;  
  end;  
  readkey;  
 end.  

Read more

Números Primos em Pascal

Esse é um pedido muito comum dos professores e todo o segredo está na lógica.

Código Fonte:

 Program Numeros_Primos_de_1_a_100;  
 Uses Crt;  
 var  
  i,j : Integer;  
  p : Boolean;  
 begin  
  ClrScr;  
  WriteLn ('Os numeros primos de 1 a 100 sao:');  
  for i := 1 to 100 do  
  begin  
   p := True;  
   for j := 2 to i-1 do  
   begin  
    if ( i mod j) = 0 then p := false;  
   end;  
   if p then Write (i,',');  
  end;  
  ReadLn;  
 end.  

Explicação

Partimos do princípio que o número primo só é divisível por 1 e por ele mesmo. Como todos os números são assim esse é um teste de não devemos fazer.

Criei duas variáveis I para ser o contador de 1 a 100 e o J para ser o divisor. Veja que dentro do FOR da variável J começa com 2 e vai até I-2 para que não utilizemos 1 e o próprio I, pois ambos seriam verdadeiros.

A variável P é a variável de teste do tipo BOOLEAN (TRUE ou FALSE). A princípio P é verdadeiro (TRUE), mas caso uma divisão não tenha resto o número não é primo e P fica falso (FALSE).

Se P (for verdadeiro) mostre o valor de I e é isso que acontece na linha IF P THEN WRITE (i,',');

Tem dúvida? Envie para mim: telles.wellington@bol.com.br

Read more

28 de maio de 2011

Exemplo de Leitura de Arquivo Binário em Pascal

Em complemento ao Post de Gravação vamos aprender como fazer a leitura.

 Program Arquivo_Binario2;  
 Uses Crt;  
 var  
  b : File Of Byte;  
  c : Byte;  
 Begin  
  ClrScr;  
  Assign (b,'binario.bin');  
  Reset (b);  
  while not(eof(b)) do  
  begin  
   Read (b,c);  
   Write (chr(c));  
  end;  
  Close (b);  
  ReadLn;  
 End.  

Dúvidas entre em contato.

Read more

Dia do Nerd ou Geek Pride Day

Sei que foi durante essa semana e mais preciso no dia 25 de maio.

Essa data começou a ser comemorada desde 2006.

Você sabe o porque desse dia?

Essa foi a data da primiêre do primeiro filme Star Wars em 1977 e o filme é uma referência para os Nerds.

A cerca de 20 a 30 anos atrás Nerd era símbolo de gozação.

Hoje são vistos com bons olhos e são pessoas ricas e alguns alcançaram os topos do mundo como Bill Gates (fundador da Microsoft) e Mark Zuckerberg (fundador do Facebook).

Com essa mundaça ser Nerd passa ser um orgulho para muita gente.

Além de ser Nerd um Nerd também é um Geek que no Brasil pelo menos é um pessoa que "manja" de vários assuntos do presente e passado e são excêntricas e obcecadas em tecnologia que é a fonte de informação do Geek.

Veja abaixo as diferenças entre os Nerds de cada decada:

Nerd G1.jpg

Read more

Exemplo de Gravação Arquivo Binário em Pascal

Trazendo mais uma matéria sobre Linguagem Pascal vamos aprender a gravar um arquivo binário.

No exemplo abaixo vamos gravar alguns caracteres no arquivo, o código de conversão é o ASCII.

Código Fonte:

 Program Arquivos_Binarios;  
 Uses Crt;  
 var  
  b : File of Byte;  
  i : Integer;  
 begin  
  // Gravando um arquivo binario  
  Assign (b,'binario.bin');  
  {$I-}  
  Reset (b);  
  if IOResult<>0 then ReWrite (b);  
  {$I+}  
  Write (b,255);  
  Write (b,32);  
  Write (b,32);  
  Write (b,65);  
  Write (b,66);  
  Close (b);  
 end.  

Temos uma novidade nesse código que é o {$I-}, {$I+} e o IOResult.

{$I-}

Para desabilitar o controle de erros de entrada e saída e dessa forma evitar que o comando RESET cause um erro se tentar abrir um arquivo que não existe.

IOResult

O controle de erros esta desabilitado mas o código não e no exemplo acima determinamos que o erro possível é que o arquivo não exista e o erro será diferente de 0.

{$I+}

Habilita novamente o controle de erro.

Read more

27 de maio de 2011

O Comando slmgr -rearm não está funcionando ou sendo reconhecido

Com base da dúvida do Leitor Michael sobre o problema em não funcionar o comando slmgr -ream para aumentar o tempo de avaliação do Windows 7 que eu já explicado aqui:

http://professorwellingtontelles.blogspot.com/2011/05/aumentando-o-tempo-de-expiracao-do.html

Agora vamos ao problema e a solução.

Problema

slmgr 01.png

O problema ocorre por que o comando CMD não foi executado com direitos de Administrador.

Solução: executar com direitos de Administrador.

slmgr 02.png

slmgr 03.png

Problema resolvido.

Tento trazer um diferencial ao blog que é como fazer e mostro que estou fazendo também para encontrar as vossas dúvidas.

Read more

26 de maio de 2011

Office 15 Vaza na Internet

office 15.jpg

Você mal comprou o Office 2010 (versão 14) e já está saindo a versão 15.

O Microsoft Office é uma plataforma utilizada por maior parte dos utilizadores do Sistema Operacional Windows, que permite edição de texto, fazer cálculos, criar apresentações e muito mais.

Depois de ter vazado algumas imagens do Office 15 Build 15.0.2703.1000, agora foi a vez do software vazar na Internet.

ms-office-15.jpg


Um usuário do Twitter @Hb860 (http://twitter.com/#!/hb860) Happy Bulldozer da Rússia que revela ter enviado a ISO do arquivo para outro usuário.

Vale lembrar que a previsão é para 2014, ou seja, uma versão teste bem básica.

Read more

iPad 2 será lançado hoje a noite no Brasil

ipad-2.jpg

Por meios oficiais hoje a noite durante a madrugada de quinta para sexta-feira (27/5) será lançado no Brasil o iPad 2.

O lançamento será feito no shopping Iguatemi e lojas online com preços a partir de R$ 1.399,00 na versão básica.

Mais informações: http://macworldbrasil.uol.com.br/blog/rumors/2011/05/23/ipad-2-chega-ao-brasil-esta-semana/

Já com base no site de MacWorldBrasil e outros sites que após o inicio da produção no Brasil o preço caia para baixo de R$ 1.000,00.

Vale a pena esperar?

Read more

25 de maio de 2011

Aniversariantes do Mês em Pascal

Em dúvida ao leitor Gabriel:

" BOA NOITE.

Olá meu nome é Gabriel, e sou aluno do curso de sistemas de informação, estou no primeiro semestre e estou tendo muita dificuldade com o Pascal.

Gostaria de pedir que o senhor fizesse um algoritmo em Pascal para mim, preciso entregar hoje as 18:30 tem como?

Uma escola possui o cadastro de seus alunos (100 alunos), contendo o nome, série, turma e data de nascimento. Deseja-se elaborar uma relação de "Aniversariantes do Mês" ao ser informado pelo usuário, o número correspondente ao mês desejado. Faça um programa para isso, considerando que
a escola tem 100 alunos. O programa deve preencher o vetor de alunos antes de tudo.

por favor, esse professor não ensinou nada a turma e agora exige o exercicio pronto."

Muitas vezes isso vem acontecendo e fica difícil saber se o professor não gosta da matéria ou se não tem domínio e acredite que já vi muitos professores assim na minha época de faculdade e foi nessa época em que comecei a fazer programas em Pascal e para calculadoras HP para várias faculdades.

Vamos a resposta:

 Program Cadastro_de_Alunos;  
 Uses Crt;  
 var  
  nome : Array [1..100] of String [50];  
  serie : Array [1..100] of Byte;  
  turma : Array [1..100] of String [10];  
  dia : Array [1..100] of Byte;  
  mes : Array [1..100] of Byte;  
  ano : Array [1..100] of Integer;  
  q,m,i : Integer;  
 begin  
  ClrScr;  
  Write ('Quantos alunos serao cadastrados?'); ReadLn(q);  
  for i := 1 to q do  
  begin  
   Write ('Nome:'); ReadLn (nome[i]);  
   Write ('Serie:'); ReadLn (serie[i]);  
   Write ('Turma:'); ReadLn (turma[i]);  
   Write ('Data de Nascimento:');  
   Write ('Dia:'); ReadLn (dia[i]);  
   Write ('Mes:'); ReadLn (mes[i]);  
   Write ('Ano:'); ReadLn (ano[i]);  
  end;  
  Write ('Qual o mes para verificar os aniversariantes?'); ReadLn(m);  
  for i := 1 to q do  
  begin  
   if mes[i] = m then  
   begin  
    WriteLn (Nome[i],'-',Serie[i],'-', Turma[i]);  
   end;  
  end;  
  ReadLn;  
 end.  

Se você tem uma dúvida envie para mim.

Read more

23 de maio de 2011

Cuidado com Ligações do DDD 48 e Número 38216800

No Itáu

Achei o número suspeito e por via das dúvidas eu não atendi.

Consultei o número e vi que várias pessoas reclamando do telemarketing Itáu e Mastecard.

Consegui localizar o número:

SOFTWAY CONTACT CENTER SERVS DE TELEATEND CLIENTES SA

AV Da Pedra Branca, - Cidade Universitária Pedra Branca - Palhoça SC • Ver Mapa
(48) 3821-6600 | 3821-6700 | 3821-6800 | 3821-6900

Com certeza é uma central de telemarketing.

Agora confirmar dados é muito suspeito, pois em primeiro lugar a empresa tem que dizer de onde conseguiu os seus dados, pois venda de dados dá processo e quando você preenche uma ficha deve haver a garatia de sigilo previsto em contrato.

Estou muito insatisfeito com o banco Itaú e sua insistência o passo a seguir vai ser um processo, pois insistir em uma coisa que você não quer é problema.

Read more

Usando o Infinity Web no seu Computador

Você tem um plano de acesso a internet via 3G?

A operadora te empurrou o modem?

Você sabia que o seu celular já tem o modem?

Caros leitores, o modem é para que não tem um celular com acesso 3G e através do próprio celular é possível acessar internet.

Vamos a matéria.

A TIM tem um plano que você paga R$ 0,50 (cinqüenta centavos) para acessar internet do seu celular por dia e só paga o dia que usar, claro que isso é para chip pré-pago onde é descontado dos seus créditos, em resumo se você usar todos os dias ao final do mês terá gasto R$ 15,00 (quinze reais).

Para você usar esse acesso em seu computador o seu celular tem que ter a opção de compartilhar internet e que possa acessar via USB ou sem fio ou ainda utilizar o modem 3G desbloqueado com o chip da TIM com o plano.

No vídeo abaixo você verá como isso é possível.

Se todo mundo começar a fazer isso o plano poderá ser cancelado, mas estou divulgando isso para uma situação de emergência, além do que a banda é limitada.

Veja no contrato se isso entra com irregularidade para não perder o chip do celular.

Read more

Ler Registro do Windows com Variáveis REG_MULTI_SZ

Como disse em post anteriores as APIs do Windows são uma mão na roda.

É possível ler registros do Windows, mas em particular ler um tipo de variável REG_MULTI_SZ não é tão simples assim, então vamos ao código de uma procedure para fazer essa tarefa:

 unit Unit1;  
 interface  
 uses  
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  
  Dialogs, Registry, StdCtrls;  
 type  
  TForm1 = class(TForm)  
   Button1: TButton;  
   procedure Button1Click(Sender: TObject);  
  private  
   { Private declarations }  
  public  
   { Public declarations }  
  end;  
 var  
  Form1: TForm1;  
  registro: TStringList;  
 implementation  
 {$R *.dfm}  
 Procedure Le_Registro_REG_MULTI_SZ (const CurrentKey: HKey; const Subkey, ValueName: String; Strings: TStrings);  
 var  
  valueType: DWord;  
  valueLen: DWord;  
  p, buffer: PChar;  
  key : HKEY;  
 begin  
  // Limpar a lista de Strings  
  Strings.Clear;  
  // Abrir uma chave especificada  
  if RegOpenKeyEx (CurrentKey, PChar (SubKey), 0, KEY_READ, key) = ERROR_SUCCESS then  
  begin  
   // Recuperando tipo de dados e dados do valor especificadao no REGISTRY  
   SetLastError (RegQueryValueEx (key, Pchar(ValueName), nil, @valueType, nil, @valueLen));  
   if GetLastError = ERROR_SUCCESS then  
   begin  
    GetMem (buffer, valueLen);  
    try  
     // Recebendo os valos de dados em um array  
     RegQueryValueEx (key, Pchar(ValueName), nil, nil, PBYTE(buffer), @valueLen);  
     // Adicionando os valores em um TStringList  
     p := buffer;  
     while p^ <> #0 do  
     begin  
      Strings.Add(p);  
      Inc(p, lstrlen(p)+1);  
     end  
    finally  
     FreeMem (buffer)  
    end  
   end  
   else  
    raise ERegistryException.Create ('É necessário informar um TStringList...')  
  end  
  else  
   raise ERegistryException.Create ('Não é possível ler valores MULTI_SZ...');  
 end;  
 procedure TForm1.Button1Click(Sender: TObject);  
 begin  
  registro := TStringlist.Create;  
  Le_Registro_REG_MULTI_SZ (HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Microsoft SQL Server', 'InstalledInstances', registro);  
 end;  
 end.  

Read more

Tradução Português para o Delphi 7

Aproveitando uma leva de matérias que tinha para divulgar sobre o Delphi estou colocando agora o arquivo de tradução do Delphi 7 para português.

Junto com o arquivo tem as instruções de como instalar.

Download:

Easy-Share:

http://www.easy-share.com/1915616962/traducao_delphi7.zip

Mega-Upload:

http://www.megaupload.com/?d=3ZSVY5HT

Read more

Teclas de Atalho Delphi

Todo programa é mais fácil de ser utilizando com as teclas de atalho e abaixo segue uma tabela para o Delphi.

F1: Ajuda e pode trazer os detalhes de um comando ou função
F4 : Executa o programa a partir da posição do cursor do mouse
F5 : Adiciona um breakpoint
F7 : Depurar projeto, entrando em functions e procedures uma por uma
F8 : Depurar projeto sem entrar nas subrotinas
F9 : Executa seu projeto em modo de debugação
Ctrl+Shift+I : Identar linha(s)
Ctrl+Shift+U : Recuar indentação
Ctrl+Shift+0 a 9 : Inserir bookmark
CTRL+SHIFT+G : Gera um novo GUID
CTRL+SHIFT+Y : deleta tudo até o final da linha
Ctrl+Shift+C : Class Completion.
Ctrl+J : Executa o code template.
Ctrl+E : Busca incremental
CTRL+T : Delete palavra a partir do cursor
CTRL+Y : Deleta a linha corrente.
Ctrl+O+U : Alterna a caixa (maiúscula/minúscula) do código selecionado.
Ctrl+K+E : Converter o código selecionado para minúsculas.
Ctrl+K+F : Converter o código selecionado para maiúsculas.
Alt+G : Ir para uma determinada linha.
CTRL+F12 : Visualiza units do projeto.
CTRL+SHIFT+R : Inicia ou para a gravação de uma macro
CTRL+SHIFT+P : Executa o editor de macros
CTRL+SPACE : Chama o "code completion" que conclui o nome dos comandos.
CTRL+SHIFT+SPACE : Chama o "code parameter hints"
CTRL+SHIFT+UpArrow : Navega pelo método
CTRL+SHIFT+DownArrow : Navigate to method implementation/declaration
CTRL+ALT+UpArrow : Navega para o método anterior em ordem léxica
CTRL+ALT+DownArrow : Navigate para o próximo método em ordem léxica

Read more

Nome do Computador e Usuário em Delphi

Nesse tutorial vou explicar como conseguir o nome do computador e o usuário.

Para esse tutorial eu recomendo pesquisar depois sobre o uso de API (Interface de Programação de Aplicações)do Windows: http://pt.wikipedia.org/wiki/API.

Com as APIs você não ficará reinventando a roda.

Vamos usar duas funções da API:

GETCOMPUTERNAME e GETUSERNAME.

Vamos criar duas funções para facilitar o trabalho das APIs.

Nome do Computador

 function NomedoComputador: String;  
 var  
  buffer: Array[0..255] of char;  
  size: DWord;  
 begin  
  size := 256;  
  if GetComputerName (buffer,size) then  
   Result := Buffer  
  else  
   Result := '';  
 end;  

Nome do Usuário

 function NomedoUsuario: String;  
 var  
  UserName: String;  
  UserNameLen: DWord;  
 begin  
  UserNameLen := 255;  
  SetLength (UserName, UserNameLen);  
  if GetUserName (PChar(UserName), UserNameLen) Then  
   Result := Copy (UserName,1,UserNameLen - 1)  
  else  
   Result := 'Desconhecido';  
 end;  

No programa completo:

 unit Unit1;  
 interface  
 uses  
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  
  Dialogs, StdCtrls;  
 type  
  TForm1 = class(TForm)  
   LblComputador: TLabel;  
   LblUsuario: TLabel;  
   procedure FormCreate(Sender: TObject);  
  private  
   { Private declarations }  
  public  
   { Public declarations }  
  end;  
 var  
  Form1: TForm1;  
 implementation  
 {$R *.dfm}  
 function NomedoComputador: String;  
 var  
  buffer: Array[0..255] of char;  
  size: DWord;  
 begin  
  size := 256;  
  if GetComputerName (buffer,size) then  
   Result := Buffer  
  else  
   Result := '';  
 end;  
 function NomedoUsuario: String;  
 var  
  UserName: String;  
  UserNameLen: DWord;  
 begin  
  UserNameLen := 255;  
  SetLength (UserName, UserNameLen);  
  if GetUserName (PChar(UserName), UserNameLen) Then  
   Result := Copy (UserName,1,UserNameLen - 1)  
  else  
   Result := 'Desconhecido';  
 end;  
 procedure TForm1.FormCreate(Sender: TObject);  
 begin  
  LblComputador.Caption := NomedoComputador;  
  LblUsuario.Caption := NomedoUsuario;  
 end;  
 end.  

Read more

Apostila Blogger SEO Ice Breaker

Certas apostilas são fundamentais e essa é uma muito boa para aprender sobre SEO.

SEO: http://en.wikipedia.org/wiki/Search_engine_optimization

Download:

Easy-Share:

http://www.easy-share.com/1915615352/blogger_seo.pdf

Mega-Upload:

http://www.megaupload.com/?d=3L335JGN

Read more

Tutorial para rotear o modem Speedy Touch Telefônica

speedy touch 510 v6.jpg

Nem sempre é muito simples rotear um modem. Trago como rotear o Speedy Touch 510 V6, tem o software e como fazer.

Essa apostila está sumida de internet e por isso coloquei aqui disponível para download.

Um dica muito importante é o site: www.abusar.org que tem muitas dicas para vários modelos de modens.

Easy-Share:

http://www.easy-share.com/1915615191/Como_ROTEAR_Modem_SpeedTouch_510_v6.rar

Mega-Upload:

http://www.megaupload.com/?d=QDRNCE32

Read more

22 de maio de 2011

Apostila dos Segredos do Hacket Ético

Muitas pessoas ainda criam uma fantasia em cima dos hackers.

Hacker é um especialista/nerds em cima de determinado assunto e o mais comum é um hacker de computador.

Um hacker pode ser uma pessoa boa como uma pessoa má, ou seja, poderá usar o seu conhecimento para ajudar ou prejudicar alguém.

A frustação e a ganância de alguns hackers o levam para o lado do mal, isso mesmo bem no estilo Star Wars.

O white-hacker é como o cavaleiro Jedi e black-hacker é o Darth Vader e ainda existe o gray-hacker que ajuda, mas prejudica também.

O autor Marcos Flávio Araújo Assunção fez um excelente trabalho criando essa apostila para ajudá-lo a entender de como devemos utilizar os conhecimentos que são explicados nessa apostila.

Download:

Easy-Share:

http://www.easy-share.com/1915598840/Segredos_do_Hacker_Etico.pdf

Mega-Upload:

http://www.megaupload.com/?d=5CW53IX4

Read more

Apostila Word 2007

logo word 2007.png

Ainda no mês de aniversário do blog estarei postando mais apostilas.

Agora é vez de Microsoft Word 2007. Você já sabe usar? De qualquer forma se surpreenda como vários recursos.

Nunca saberemos o suficiente para podermos ignorar uma nova visão sobre o assunto.

Para quem está estudando para concurso público eu já tinha publicado:

http://professorwellingtontelles.blogspot.com/2009/07/aula-04-concurso-publico-office-2007.html

Download:

Easy-Share:

http://www.easy-share.com/1915598819/Apostila_Word_2007.pdf

Mega-Upload:

http://www.megaupload.com/?d=L6HGN0BR

Read more

Apostila Power Point 2007

logo power point 2007.png

Ainda no mês de aniversário do blog estarei postando mais apostilas.

Agora é vez de Power Point 2007. Você já sabe usar? De qualquer forma se surpreenda como vários recursos.

Nunca saberemos o suficiente para podermos ignorar uma nova visão sobre o assunto.

Para quem está estudando para concurso público eu já tinha publicado:

http://professorwellingtontelles.blogspot.com/2009/07/aula-04-concurso-publico-office-2007.html

Download:

Easy-Share:

http://www.easy-share.com/1915598810/Apostila_Power_Point_2007.pdf

Mega-Upload:

http://www.megaupload.com/?d=384J8TRN

Read more

Esquemas de Monitores LCD

Monitores LCD Esquema.jpg

Você que consertar o seu monitor LCD?

Para que você faça isso corretamente você vai precisar do esquema elétrico para poder resolver o problema.

Estou trazendo um pacote com vários esquemas de monitores que irão ajudá-lo e muito.

São arquivos em PDF.

Duas opções de download:

Easy-Share:

http://www.easy-share.com/1915597832/Esquemas_lcd.rar

Mega-Upload:

http://www.megaupload.com/?d=QCAMS958

Read more

21 de maio de 2011

Tabela de Combustível e o Abuso do Etanol

Nesse ano você já se assusto com o preço do Álcool?

Sim, Álcool, pois o que mudou foi apenas o nome:

http://pt.wikipedia.org/wiki/Etanol

Alerto sobre isso, pois os USINEIROS estão abusando da nossa boa vontade e visando o seu maior lucro preferem exportar açucar a vender álcool para o mercado interno e por mais ajude na balança comercial a que preço nós consumidores devemos pagar?

O preço baixou, mas pode voltar a aumentar com a "entressafra".

A Tabela

Você mesmo já deve ter impresso uma tabela de comparativo entre álcool x gasolina.

O problema é que nem sempre essas tabelas foram feitas de forma correta e mesmo que seja nem sempre é a ideal para o seu carro.

Na maioria das tabelas o cálculo é simples:

Valor de Gasolina X 0,7

Se o valor for maior que do álcool, você deve colocar álcool e se for menor colocar gasolina e se for igual coloque gasolina, pois irá abastecer menos vezes.

Com isso temos uma tabela:

Com essa tabela simples pode-se fazer o comparativo sem muitos segredos, mas será que isso condiz com realidade de vosso carro?

O segredo está em analisar o seu carro e isso pode levar algumas semanas para achar o fator correto.

Vamos ao meu exemplo:

Com um tanque de 42 litros de álcool e media o meu carro faz 280 quilometros e com gasolina faz 440 quilometros.

Para conseguir essas médias rodei um mês com cada tipo de combustível e fui anotando a cada abastecimento.

Vamos aos cálculos:

280 Km / 42 Litros = 6,667 Km/l

440 Km / 42 Litros = 10,476 Km/l

Diferença de rendimento:

6,667 / 10,476 = 0,6364

Pelo meu resultado para minha tabela o valor não deve ser 0,7 e sim 0,6364.

Ai você me diz que difença foi pouca.

Vamos a tabela para o meu carro:

Decisão antiga e decisão atual.

Com a gasolina custando R$ 2,659 e o álcool custando R$ 1,799.

Pela primeira tabela: 2,659 x 0,7 = 1,8613, ou seja vou colocar álcool.

Pela segunda tabela: 2,659 x 0,6364 = 1,6922, ou seja vou colocal gasolina e ainda economizar dez centavos por litros e em um tanque cheio é uma economia de R$ 4,20 e a longo de um mês que utilizo 5 tanques corresponde a R$ 21,00.

Read more

Supermercados Cuidado com os Preços Errados

supermercado.jpg

Caros leitores, eu venho falar de um assunto diferente no blog, mas que diz a respeito a rotina de vocês e é muito importante.

Venho falar dos preços nos supermercados. Vamos a algumas dicas

  1. A quantidade de prateleiras sem preço tem sido enorme e isso prejudica a escolha de um produto;
  2. Os produtos com melhor preço estão sempre fora do alcance normal dos olhos e por isso sempre olhe no alto das prateleiras e também na última lá em baixo;
  3. Mercado não é bobo e aumenta o preço de um produto para poder vender outro, então muita atenção, pois o produto B em sua opinião pode estar caro;
  4. Promoção de verdade é quando um produto está para vencer, então fique de olho para a validade;
  5. Agora há uma nova prática que você vê um preço na prateleira e no caixa é outro, então fique de olho na hora de passar os produtos pelo caixa.

Trago esse alerta, pois com a economia "estável" as pessoas não estão tão atentas e de grão em grão o seu bolso também fica vazio.

Read more

20 de maio de 2011

Criando um Arquivo Texto em Delphi

Com base no post anterior você fazer o mesmo programa em Delphi para ver as diferenças.

Como o Delphi é uma continuação do Pascal o programa irá ficar bem semelhante, exceto pelas partes de objetos que o Delphi utiliza.

No meu conceito de aprendizagem de linguagem de programação deveria pouco a pouco substituindo a linguagem Pascal por Delphi, pois atualmente é muito mais interessante ao aluno e muito mais versatil ao professor.

Lembre-se que é apenas educacional para aprender a começar a usar. Se precisar de algo mais robusto entre em contato ou aguarde as próximas edições.

Código Fonte:


 unit Unit1;  
 interface  
 uses  
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  
  Dialogs, StdCtrls;  
 type  
  TForm1 = class(TForm)  
   Button1: TButton;  
   Label1: TLabel;  
   procedure Button1Click(Sender: TObject);  
  private  
   { Private declarations }  
  public  
   { Public declarations }  
  end;  
 var  
  Form1: TForm1;  
 implementation  
 {$R *.dfm}  
 procedure TForm1.Button1Click(Sender: TObject);  
 var  
  tf : TextFile;  
 begin  
  Assignfile (tf,'Arquivo.Txt');  
  ReWrite (tf);  
  WriteLn (tf,'Uma Linha');  
  CloseFile (tf);  
  Label1.Caption := 'Arquivo Criado!';  
 end;  
 end.  

Vamos a algumas análises e compartivos.

A lista Uses é bem maior que no Pascal pela várias bibliotecas que o Delphi utiliza para a parte gráfica (Windows).

Na parte Type são declarados os Objetos: Button = Botão e Label = Texto.

O comando Assign do Pascal é substituído por AssignFile.

O resto fica muito semelhante ao código Pascal.

Read more

  ©Template by Dicas Blogger.

TOPO