Categoria:Dicas

Inversão de Caracteres em .NET

Ontem passei na aula do Pedro (que tava corrigindo prova do 2o. Semestre) e ele estava escrevendo a resposta de uma questão em C. A questão consistia em inverter a sequencia de caracteres informada. Coisa bem simples mesmo.

Ai eu caí na bobagem de dizer que em .NET era fácil, e que só não ia fazer pq não ia ligar o note… hehehe… tava com preguiça mesmo de fazer. Ele prontamente carregou o VS 2008 e disse: “Não seja por isso. Ó!”

Pronto. Desafio feito e desafio aceito. Só não consegui fazer de primeira pq tinha um aniversário… Mas como prometido o código ta aqui.

Abraços

Manipulando diretamente a Porta Paralela

Olá

Essa semana encontrei um texto sobre como controlar os pinos da porta paralela no site do RogerCom (http://www.rogercom.com/). O objetivo final era mandar o comando para fazer os leds acenderem ou apagarem. O Daniel quis fazer em FoxPro e eu fui pro c#. Como não necessitava de muito material, comprei os leds e os resistores e resolvi fazer.

 

O HARDWARE

Para fazer o hardware, usamos:

  • 1 placa de cartão (para fazer as soldas). Aqui pode ser qualquer coisa de plastico ou de papel, para dar sustentação aos leds
  • 8 Leds (qualquer cor). AVISO: LED tem lado. A perninha maior é o positivo.
  • 8 Resistores 470 ohm (amarelo, violeta, marrom). AVISO: Resistior não tem lado
  • 1 Cabo de impressora (que não vai mais ser usado)
  • Ferro de solda, estanho, multimetro, etc.

 

Para montar o hardware não tem muito segredo, é so seguir o desenho do site.


Peças antes do inicio da solda


Peças já soldadas na placa

Para montar o cabo, o Daniel me deu uma mão. Dentro do cabo da impressora tem uns 20 fios (mais ou menos), e é preciso encontrar fio a fio quem é quem. É ai que entra o multimetro.


Daniel e Eu encontrando os fios

Aqui aconteceu um acidente. Depois de identificarmos os cabos, pedi ao Daniel que cortasse os que não estavam em uso. Ele foi cortando. Quando terminou, viu que a etiqueta do fio nro 7 estava colada no meu braço. Tarde demais. O fio já estava cortado. Resultado: Lampada 7 permanentemente desligada 😛 Depois se der eu refaço as ligações.


Fios soldados

 

O Software

Para fazer o hardware funcionar, precisavamos arrumar o software. Achamos uma dll que controla a porta paralela no windows xp pra cima (no 98 é diferente) e partimos pra programação em VFP.

Depois de penar um pouco, encontramos uma ocx que facilitou a vida.

Depois o Daniel ligou uma ocx para tocar mp3 e ligou os leds com o sistema de graficos da ocx. Não funcionou como deveria.

Para fazer em .Net. encontramos um software e pegamos dele como fazer o led acender/apagar. Depois fiz uma aplicação inteira para fazer acionar o led.


Sw em .NET

FONTES

Led4.rar (301,49 kb) – Versão em .NET

Versão em VFP: Em Breve. Daniel vai usar os pngs das lampadas.

 

VIDEO

 

CONCLUSÕES

As minhas:
1) EU tenho que aprender mais de .NET. Ainda sei pouco e apanhei em coisas simples
2) No site do RogerCom tem muita coisa interessante. Vale a pena ler.
3) A ideia de acender lampadas pela casa via software vai sair. É só eu terminar as funções da faculdade.
4) Obrigado ao Eduardo Spaki que me deu uma mão na programação 😉

A do Daniel

1) “Prefiro não comentar”
FONTES:
http://www.rogercom.com/pparalela/introducao.htm
https://secure.codeproject.com/KB/cs/csppleds.aspx?display=PrintAll&fid=21021&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=1066799&fr=251
http://www.google.com.br/

 

 

Comando CSS para ser aplicado na impressão

 

Com as das folhas do estilo é possível indicar nas páginas HTML pontos de
quebra, para que no processo de impressão a mudança de página aconteça num
ponto especifico.
(esta especificação das CSS2 apenas é suportada pelo Internet Explorer 4.0 ou
superior)

Quebra de Página:

Existem dois comandos a ter em consideração:

  • page-break after
  • page-break-before

O próprio nome dos comados é bastante elucidativo das suas funções. O
primeiro faz com que a quebra de página ocorra depois do elemento e o segundo
antes do elemento.

Cada comando tem quatro atributos:

Always: indica ao browser que deve proceder á quebra da
página sempre no ponto indicado.
Auto: é o atributo de defeito. Indica ao browser que proceda da
forma usual (introduz a quebra de página sempre que esta chega ao fim).
Left: esta quebra de página não é suportada por nenhum browser.
É usada se a impressora imprimir de ambos os lados de uma página, como um
manuscrito. Se o que se pretende imprimir é para ficar do lado esquerdo da
página, então seria este o atributo a utilizar.
Right: para uma situação semelhante á anterior, com a
diferença de imprimir do lado direito da página.

O Formato:

Um exemplo da aplicação deste tipo de estilo seria:

<STYLE TYPE=”text/css”>
H2 {page-break-before: always}
</STYLE>

Esse comando produzirá uma quebra de página da cópia antes de cada H2.
Não esquecer que é necessário usar o IE4 (no mínimo) para poder usufruir
desta funcionalidade.

Definição de uma quebra de página especifica:

Para uma maior controlo sobre este processo a melhor prática será a
criação de classes de quebra de página. Estas classes podem ser criadas para
qualquer TAG de HTML, no entanto o mais aconselhado será a criação destas
classes para as TAGs <P> ou <br>, assim haverá sempre um espaço em
branco entre cada quebra de página. Por exemplo:

<STYLE TYPE=”text/css”>
P.QuebraAqui {page-break-before: always}
</STYLE>

No código da página, para activar esta classe bastará:

<P CLASS=”QuebraAqui”>

 

Fonte: http://paginas.fe.up.pt/~goii2000/M8/impressao.htm

Como “formatar” o Palm Z22

Olá

Esse domingo resolvi “formatar” o meu PDA. É um modesto Palm Z22 (queria um modelo melhor, mas acho que o papai noel não vai me trazer..hehehe), que é só PDA. Não tem Bluetooth, Wi-Fi, Expansão, Musica, etc. Mas me quebra um bom galho.

Como demorei a achar informação com essa chave de busca (formatar palm z22), estou escrevendo o post com esse titulo Cool.

Assim que achei a informação nesse site (ou nest site, em inglês). Lá a matéria está mais completa:

Descrição:
Com um hard reset você apagará tudo que estiver armazenado na memória do PDA, exceto as aplicações e preferências de fábrica (veja extendendo hard reset). Uma vez resetado o PDA será necessário restaurar tudo que tinha com um Hotsync (Se usas Palm OS 3.1 ou anterior e não tiver nenhum programa de Backup, como BackupBuddy ou BackupMan, é muito possivel que terá que reinstalar tudo outra vez.
Por isso, é aconselhavel só fazer o hard reset se todos os métodos anteriores não funcionaram ou se quiser eliminar toda a informação de seu PDA (Por exemplo: na hora de vender o seu PDA, ou se quiser fazer uma limpeza geral).
Procedimento:
Para fazer um hard reset siga os passos seguintes:
  1. Mantenha apertado o botão de Liga-Desliga do PDA.
  2. Ao mesmo tempo em que mantém apertado o botão Liga-Desliga, dê um reset por trás (no furinho).
  3. Solta o botão de reset.
  4. Quando o “logo” da Palm aparecer no visor, pode soltar o botão de Liga-Desliga.
  5. Se tiver feito o procedimento corretamente, aparecerá uma mensagem no visor anunciando que você vai apagar toda a informação do seu PDA, permitindo confirmar a ação ao pressionar o botão direcional para cima. Se não quiser confirmar, é só apertar qualquer outro botão, que o mesmo só dará um soft reset.

Abraços !

Novidades no Blog

Olá

Depois de um dia quebrando cabeça com o BlogEngine, como já pode ser visto, o Blog esta de cara nova. Aquele negocio de “Pausa para o café” não funcionou como eu queria e tava dando a ideia de que o blog era sobre java (por causa da xicara de café).

A versão do BlogEngine também foi atualizada (agora na versão 1.4.5) e foi onde mais tive dor de cabeça, pois algumas coisas não funcionaram como deveriam (o backup e o restore de dados, por exemplo). A nuvem de tags sumiu também 🙂

O endereço do blog também mudou. Antes estava escondido dentro de um diretorio chamado blog2 (com redirecionamento no blog.rafaelamorim.com.br). Agora esta devidamente colocado no diretorio blog.

Outras correções efetuadas:

  • O tema atual do blog (o coloridão) não funciona bem no IE 6. Para contornar, coloquei no pre init das paginas o seguinte código:

protectedoverridevoid OnPreInit(EventArgs e)

{

   HttpBrowserCapabilities bc;

bc = Request.Browser;

   if (bc.MajorVersion <= 6 && bc.Browser == “IE”)

 

   {

      MasterPageFile = BlogEngine.Core.Utils.RelativeWebRoot + “themes/Standard/site.master”;

}

   else

 

{

MasterPageFile = BlogEngine.Core.Utils.RelativeWebRoot + “themes/”+BlogEngine.Core.BlogSettings.Instance.Theme.Trim()+“/site.master”;

}

}

 

  • Os logotipos abaixo do campo de busca também foram colocadas para mostrar do que o blog vai falar.
  • Tem mais coisa que eu mudei. Mas infelizmente não lembro Tongue out