quarta-feira, 16 de dezembro de 2009
Hello Word em Java
Para realizar um Hello Word em Java é muito simples!
Baixe o Eclipse aqui http://www.eclipse.org/
faça o download da JDK aqui http://www.oracle.com/us/sun/index.html
instale a jdk e o eclipse.
crie um projeto depois clique em new, escolha Class e nomeio a classe como HelloWord
na classe você digita:
public static void main(String netLocalgroup[]){
String msg = "Hello Word";
System.out.println("Você aprendeu isso no Net Localgroup \n" + msg);
}
e pronto! seu primeiro programa em java está feito!
Até a próxima.
quarta-feira, 25 de novembro de 2009
Mais Manipulação de arquivos em C
Identificacao do Titulo na Empresa: CASA DE CONST OLIVEIRA JR
valor pago pelo sacado: R$ 65.16
3% do valor a ser creditado: R$ 1.17
Data da Efetivacao do Credito: 02/05/2008
segue o link com arquivo modelo DOWNLOAD
Código:
#include iostream.h
#include stdio.h
int main(){
FILE *texto;
int i=0;
char frase[200];
char teste[60];
int num;
texto = fopen ("c:\\modelo.ret", "r");
if (texto == NULL )
printf ("\nArquivo Nao Encontrado\n\n\n");
else {
fseek(texto, 106, SEEK_SET);
while (feof(texto) == 0){
fgets (frase, 200, texto);
if (frase[13] == 'T' ){
printf("Identificacao do Titulo na Empresa: ");
for (int a=105;a<130;a++){ b="0;" a="78;" num =" atoi" ii="0;" b="93;b<="107;b++){" ii="="11){" cred =" atof(valor_cred);" d="0;" c="145;c<154;c++){" d="="2" d="="5)">
domingo, 15 de novembro de 2009
Codigo fonte de um Jogo em Allegro
se tiver algum comentário eu explico, caso necessário.
#include
BITMAP *buffer;
BITMAP *cenario;
BITMAP *menu;
BITMAP *lata;
BITMAP *lata1;
BITMAP *lata2;
BITMAP *lata3;
BITMAP *papel;
BITMAP *papel1;
BITMAP *papel2;
BITMAP *papel3;
BITMAP *vidro;
BITMAP *vidro1;
BITMAP *vidro2;
BITMAP *vidro3;
BITMAP *seta;
SAMPLE *ponto = NULL;
MIDI *comeco = NULL;
//varaveis globais...
int a=0, b=6, c=0, MudarImagem, ponto_lata=0, ponto_papel=0, ponto_vidro=0;
int lixo1=1, lixo2=1, lixo3=1, lixo4=1, pap=1, pap1=1, pap2=1, pap3=1, vid=1, vid1=1, vid2=1, vid3=1;
int x=585, y=585, i=0;
bool frase_inicialH, frase_inicialM,musica_on=true;
// strutura para o personagem...
struct personagens{
char nome;
int coluna, linha;
BITMAP *perso[38];
};
//declarando a variavel do tipo personagem...
personagens personagem;
//Funcoes...
void init();
void deinit();
void carregando_imgs();
void Mensagens();
void relogio();
void escolha_de_personagens();
void direcionando_imgs();
void movimentando_personagem();
void Carregando_as_imagens_do_lixo();
void colisoes();
void Movimento_do_cenario();
//comeco da funcao principal INT MAIN...
int main() {
init();
Carregando_as_imagens_do_lixo();
allegro_message("Bem Vindo(a) ao CSR.\nPara sair do jogo Pressione a tecla ESC.\n\t BOM JOGO!!!");
enable_hardware_cursor();
show_os_cursor(2);
//carregando Menu
while ((!key[KEY_H]) && (!key[KEY_M])){
escolha_de_personagens();
if (key[KEY_H]){
personagem.nome ='H';
frase_inicialH=true;
frase_inicialM=false;
}
else{
personagem.nome = 'M';
frase_inicialM=true;
frase_inicialH=false;
}
}
direcionando_imgs();
//onde o jogo acontece...
while (!key[KEY_ESC]) {
if(musica_on==true){
musica_on=false;
play_midi(comeco, TRUE);
} //chamando as funcoes...
Movimento_do_cenario();
carregando_imgs();
Mensagens();install_int_ex (relogio, SECS_TO_TIMER(1));
install_int_ex(movimentando_personagem, MSEC_TO_TIMER(100));
colisoes();
if (b<0){
allegro_message ("VOCE PERDEU, TENTE NOVAMENTE!");
return 0;
}
if (y==701)
return(0);
}
deinit();
return 0;
}
END_OF_MAIN()
//Funções
void init() {
int depth, res;
allegro_init();
depth = desktop_color_depth();
if (depth == 0) depth = 32;
set_color_depth(depth);
res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
if (res != 0) {
allegro_message(allegro_error);
exit(-1);
}
install_sound (DIGI_AUTODETECT, MIDI_AUTODETECT, NULL);
install_timer();
install_keyboard();
install_mouse();
buffer = create_bitmap(640,480);
cenario = load_bitmap("Cenario.bmp", NULL);
menu = load_bitmap("menu.bmp", NULL);
ponto = load_sample ("pontuando.wav");
comeco = load_midi("inicio.mid");
}
void deinit() {
clear_keybuf();
destroy_bitmap(cenario);
destroy_bitmap(menu);
destroy_bitmap(lata);
destroy_bitmap(lata1);
destroy_bitmap(lata2);
destroy_bitmap(lata3);
destroy_bitmap(papel);
destroy_bitmap(papel1);
destroy_bitmap(papel2);
destroy_bitmap(papel3);
destroy_bitmap(vidro);
destroy_bitmap(vidro1);
destroy_bitmap(vidro2);
destroy_bitmap(vidro3);
}
void escolha_de_personagens(){
textprintf_ex(menu, font, 69,327, makecol32(110,110,110), -1, "TECLE 'H' PARA JOGAR COM O HOMEM ou 'M' PARA JOGAR COM A MULHER");
draw_sprite(buffer, menu, 0,0);
draw_sprite (screen, buffer, 0,0);
}
void carregando_imgs(){
draw_sprite (buffer, cenario, 1,1);
if (x!=700){
draw_sprite (buffer, lata, 280,282);
draw_sprite (buffer, lata1, 465,281);
draw_sprite (buffer, lata2, 525,280);
draw_sprite (buffer, lata3, 500,400);
draw_sprite (buffer, papel, 350,380);
draw_sprite (buffer, papel1, 210,312);
draw_sprite (buffer, papel2, 70,412);
draw_sprite (buffer, papel3, 25,280);
draw_sprite (buffer, vidro, 45,350);
draw_sprite (buffer, vidro, 50,360);
}
if (x==700){
if (i==0){
i++;
destroy_bitmap(lata);
destroy_bitmap(lata1);
destroy_bitmap(lata2);
destroy_bitmap(lata3);
destroy_bitmap(papel);
destroy_bitmap(papel1);
destroy_bitmap(papel2);
destroy_bitmap(papel3);
destroy_bitmap(vidro);
destroy_bitmap(vidro1);
Carregando_as_imagens_do_lixo();
}
draw_sprite (buffer, lata, 280,382);
draw_sprite (buffer, lata1, 400,301);
draw_sprite (buffer, lata2, 425,280);
draw_sprite (buffer, lata3, 220,400);
draw_sprite (buffer, papel, 300,322);
draw_sprite (buffer, vidro, 80,350);
}
//seta indicando o fim da primeira fase
if ((ponto_lata>3) && (ponto_papel>1) && (ponto_vidro>=1)){
seta=load_bitmap("seta.bmp", NULL);
draw_sprite (screen, seta, 550,280);
destroy_bitmap(seta);
}
draw_sprite (buffer,personagem.perso[MudarImagem], personagem.coluna,personagem.linha);
blit (buffer, screen, 0, 0, 0, 0, 640, 480);
clear(buffer);
}
//mensagens do jogo...
void Mensagens(){
textprintf_ex (cenario, font, 551,467,makecol32(215,215,215),1, "TEMPO ");
textprintf_ex(cenario, font, 596,467,makecol32(215,215,215),1, " %d:%d%d ",a,b,c );
textprintf_ex (cenario, font, 0, 468, makecol32 (250,255,100),1, "Metal: %d",ponto_lata);
textprintf_ex (cenario, font, 70, 468, makecol32 (000,80,255),1, "Papel: %d",ponto_papel);
textprintf_ex (cenario, font, 145, 468, makecol32 (80,255,000),1, "Vidro: %d",ponto_vidro);
textprintf_ex (cenario, font, 220, 468, makecol32 (255,000,000),1, "Plastico: 0");
if (frase_inicialH==true){
frase_inicialH=false;
allegro_message("Sou um tramontino na vida.\nPerecendo pelas ruas dessa capital em busca do sustento da minha familia.\nVarrer agora e meu destino.\nEntao vamos nessa pressionando a telca D!");
}
if(frase_inicialM==true){
frase_inicialM=false;
allegro_message("Agora eu estou no comando.\n Vou fazer meu servico e espero que o governo me pague.\nMe ajude pressionando a tecla D!");
}
}
//Funcao para simular o Cronômetro
void relogio(){
c--;
if (c<0){
b--;
c=9;
}
}
//Funcao para carregar as imagens do homem ou da mulher;
void direcionando_imgs(){
personagem.coluna=0;
personagem.linha=327;
MudarImagem=0;
if (personagem.nome=='H'){
personagem.perso[0] = load_bitmap("Boy-paradoD.bmp", NULL);
personagem.perso[1] = load_bitmap("Boy-andando1.bmp", NULL);
personagem.perso[2] = load_bitmap("Boy-andando2.bmp", NULL);
personagem.perso[3] = load_bitmap("Boy-andando3.bmp", NULL);
personagem.perso[4] = load_bitmap("Boy-andando4.bmp", NULL);
personagem.perso[5] = load_bitmap("Boy-andando5.bmp", NULL);
personagem.perso[6] = load_bitmap("Boy-andando6.bmp", NULL);
personagem.perso[7] = load_bitmap("Boy-andando7.bmp", NULL);
personagem.perso[8] = load_bitmap("Boy-andando8.bmp", NULL);
personagem.perso[9] = load_bitmap("Boy-andando9.bmp", NULL);
personagem.perso[10] = load_bitmap("Boy-andando10.bmp", NULL);
personagem.perso[11] = load_bitmap("Boy-andando11.bmp", NULL);
personagem.perso[12] = load_bitmap("Boy-andando12.bmp", NULL);
personagem.perso[13] = load_bitmap("Boy-andando13.bmp", NULL);
personagem.perso[14] = load_bitmap("Boy-andando14.bmp", NULL);
personagem.perso[15] = load_bitmap("Boy-andando15.bmp", NULL);
personagem.perso[16] = load_bitmap("Boy-andando16.bmp", NULL);
personagem.perso[17] = load_bitmap("Boy-andando17.bmp", NULL);
personagem.perso[18] = load_bitmap("Boy-andando18.bmp", NULL);
personagem.perso[19] = load_bitmap("Boy-andando19.bmp", NULL);
personagem.perso[20] = load_bitmap("Boy-andando20.bmp", NULL);
personagem.perso[21] = load_bitmap("Boy-andando21.bmp", NULL);
personagem.perso[22] = load_bitmap("Boy-andando22.bmp", NULL);
personagem.perso[23] = load_bitmap("Boy-andando23.bmp", NULL);
personagem.perso[24] = load_bitmap("Boy-andando24.bmp", NULL);
personagem.perso[25] = load_bitmap("Boy-paradoE.bmp", NULL);
personagem.perso[26] = load_bitmap("Boy-varrendo1.bmp", NULL);
personagem.perso[27] = load_bitmap("Boy-varrendo2.bmp", NULL);
personagem.perso[28] = load_bitmap("Boy-varrendo3.bmp", NULL);
personagem.perso[29] = load_bitmap("Boy-varrendo4.bmp", NULL);
personagem.perso[30] = load_bitmap("Boy-varrendo5.bmp", NULL);
personagem.perso[31] = load_bitmap("Boy-varrendo6.bmp", NULL);
personagem.perso[32] = load_bitmap("Boy-varrendo7.bmp", NULL);
personagem.perso[33] = load_bitmap("Boy-varrendo8.bmp", NULL);
personagem.perso[34] = load_bitmap("Boy-varrendo9.bmp", NULL);
personagem.perso[35] = load_bitmap("Boy-varrendo10.bmp", NULL);
personagem.perso[36] = load_bitmap("Boy-varrendo11.bmp", NULL);
personagem.perso[37] = load_bitmap("Boy-varrendo12.bmp", NULL);
}
else{
personagem.perso[0] = load_bitmap("Girl-paradaD.bmp", NULL);
personagem.perso[1] = load_bitmap("Girl-andando1.bmp", NULL);
personagem.perso[2] = load_bitmap("Girl-andando2.bmp", NULL);
personagem.perso[3] = load_bitmap("Girl-andando3.bmp", NULL);
personagem.perso[4] = load_bitmap("Girl-andando4.bmp", NULL);
personagem.perso[5] = load_bitmap("Girl-andando5.bmp", NULL);
personagem.perso[6] = load_bitmap("Girl-andando6.bmp", NULL);
personagem.perso[7] = load_bitmap("Girl-andando7.bmp", NULL);
personagem.perso[8] = load_bitmap("Girl-andando8.bmp", NULL);
personagem.perso[9] = load_bitmap("Girl-andando9.bmp", NULL);
personagem.perso[10] = load_bitmap("Girl-andando10.bmp", NULL);
personagem.perso[11] = load_bitmap("Girl-andando11.bmp", NULL);
personagem.perso[12] = load_bitmap("Girl-andando12.bmp", NULL);
personagem.perso[13] = load_bitmap("Girl-andando13.bmp", NULL);
personagem.perso[14] = load_bitmap("Girl-andando14.bmp", NULL);
personagem.perso[15] = load_bitmap("Girl-andando15.bmp", NULL);
personagem.perso[16] = load_bitmap("Girl-andando16.bmp", NULL);
personagem.perso[17] = load_bitmap("Girl-andando17.bmp", NULL);
personagem.perso[18] = load_bitmap("Girl-andando18.bmp", NULL);
personagem.perso[19] = load_bitmap("Girl-andando19.bmp", NULL);
personagem.perso[20] = load_bitmap("Girl-andando20.bmp", NULL);
personagem.perso[21] = load_bitmap("Girl-andando21.bmp", NULL);
personagem.perso[22] = load_bitmap("Girl-andando22.bmp", NULL);
personagem.perso[23] = load_bitmap("Girl-andando23.bmp", NULL);
personagem.perso[24] = load_bitmap("Girl-andando24.bmp", NULL);
personagem.perso[25] = load_bitmap("Girl-paradaE.bmp", NULL);
personagem.perso[26] = load_bitmap("Girl-varrendo1.bmp", NULL);
personagem.perso[27] = load_bitmap("Girl-varrendo2.bmp", NULL);
personagem.perso[28] = load_bitmap("Girl-varrendo3.bmp", NULL);
personagem.perso[29] = load_bitmap("Girl-varrendo4.bmp", NULL);
personagem.perso[30] = load_bitmap("Girl-varrendo5.bmp", NULL);
personagem.perso[31] = load_bitmap("Girl-varrendo6.bmp", NULL);
personagem.perso[32] = load_bitmap("Girl-varrendo7.bmp", NULL);
personagem.perso[33] = load_bitmap("Girl-varrendo8.bmp", NULL);
personagem.perso[34] = load_bitmap("Girl-varrendo9.bmp", NULL);
personagem.perso[35] = load_bitmap("Girl-varrendo10.bmp", NULL);
personagem.perso[36] = load_bitmap("Girl-varrendo11.bmp", NULL);
personagem.perso[37] = load_bitmap("Girl-varrendo12.bmp", NULL);
}
}
void movimentando_personagem(){
if (key[KEY_RIGHT]){
MudarImagem++;
personagem.coluna+=15;
if (MudarImagem>12){
MudarImagem =1;
}
}
if (key[KEY_LEFT]){
if(MudarImagem<13){
MudarImagem=13;
}
MudarImagem++;
personagem.coluna-=15;
if (MudarImagem>24){
MudarImagem = 13;
}
}
if (key[KEY_UP]){
if (MudarImagem>12){
MudarImagem++;
if (MudarImagem>24)
MudarImagem=13;
}
else{
MudarImagem++;
if (MudarImagem>12)
MudarImagem=1;
}
personagem.linha-=15;
}
if (key[KEY_DOWN]){
if (MudarImagem>12){
MudarImagem++;
if (MudarImagem>24)
MudarImagem=13;
}
else{
MudarImagem++;
if (MudarImagem>12)
MudarImagem=1;
}
personagem.linha+=15;
}
//Varrendo...
if (key[KEY_D]){
if (MudarImagem<26){
MudarImagem=26;
}
MudarImagem++;
if (MudarImagem>37)
MudarImagem=26;
//retirando o lixo... e pontuando de acordo com o material recolhido
//1parte
if (x!=700){
//Metal
if ((personagem.coluna == 255) && (personagem.linha == 190)){
lata = load_bitmap("limpo.bmp", NULL);
if (lixo1==1){
lixo1=2;
ponto_lata++;
play_sample (ponto,255,128,1000, FALSE);
}
}
if ((personagem.coluna == 420) && (personagem.linha == 190)){
lata1 = load_bitmap("limpo.bmp", NULL);
if (lixo2==1){
lixo2=2;
ponto_lata++;
play_sample (ponto,255,128,1000, FALSE);
}
}
if ((personagem.coluna == 465) && (personagem.linha == 190)){
lata2 = load_bitmap("limpo.bmp", NULL);
if (lixo3==1){
lixo3=2;
ponto_lata++;
play_sample (ponto,255,128,1000, FALSE);
}
}
if ((personagem.coluna == 450) && (personagem.linha == 312)){
lata3 = load_bitmap("limpo.bmp", NULL);
if (lixo4==1){
lixo4=2;
ponto_lata++;
play_sample (ponto,255,128,1000, FALSE);
}
}
//papel
if ((personagem.coluna == 300) && (personagem.linha == 282)){
papel = load_bitmap("limpo.bmp", NULL);
if (pap==1){
pap=2;
ponto_papel++;
play_sample (ponto,255,128,1000, FALSE);
}
}
if ((personagem.coluna == 150) && (personagem.linha == 222)){
papel1 = load_bitmap("limpo.bmp", NULL);
if (pap1==1){
pap1=2;
ponto_papel++;
play_sample (ponto,255,128,1000, FALSE);
}
}
if ((personagem.coluna == 15) && (personagem.linha == 312)){
papel2 = load_bitmap("limpo.bmp", NULL);
if (pap2==1){
pap2=2;
ponto_papel++;
play_sample (ponto,255,128,1000, FALSE);
}
}
if ((personagem.coluna == -35) && (personagem.linha == 190)){
papel3 = load_bitmap("limpo.bmp", NULL);
if (pap3==1){
pap3=2;
ponto_papel++;
play_sample (ponto,255,128,1000, FALSE);
}
}
//vidro
if ((personagem.coluna == 0) && (personagem.linha == 252)){
vidro = load_bitmap("limpo.bmp", NULL);
if (vid==1){
vid=2;
ponto_vidro++;
play_sample (ponto,255,128,1000, FALSE);
}
}
}
//2 parte
if (x==700){
//Metal
if ((personagem.coluna ==235) && (personagem.linha == 295)){
lata = load_bitmap("limpo.bmp", NULL);
if (lixo1!=0){
lixo1=0;
ponto_lata++;
play_sample (ponto,255,128,1000, FALSE);
}
}
if ((personagem.coluna ==355) && (personagem.linha == 205)){
lata1 = load_bitmap("limpo.bmp", NULL);
if (lixo2!=0){
lixo2=0;
ponto_lata++;
play_sample (ponto,255,128,1000, FALSE);
}
}
if ((personagem.coluna >=370)&&(personagem.coluna <=375) && (personagem.linha == 190)){
lata2 = load_bitmap("limpo.bmp", NULL);
if (lixo3!=0){
lixo3=0;
ponto_lata++;
play_sample (ponto,255,128,1000, FALSE);
if (ponto_lata>=4)
b+=2;
}
}
if ((personagem.coluna ==160) && (personagem.linha == 312)){
lata3 = load_bitmap("limpo.bmp", NULL);
if (lixo4!=0){
lixo4=0;
ponto_lata++;
play_sample (ponto,255,128,1000, FALSE);
}
}
//papel
if ((personagem.coluna ==235) && (personagem.linha == 222)){
papel = load_bitmap("limpo.bmp", NULL);
if (pap!=0){
pap=0;
ponto_papel++;
play_sample (ponto,255,128,1000, FALSE);
//adicionando mais tempo caso a pessoa tenha conseguido 3 papeis...
if (ponto_papel>=2)
b+=2;
}
}
//vidro
if ((personagem.coluna >=10) && (personagem.coluna <=15) && (personagem.linha >= 265) && (personagem.linha <= 267) ){
vidro = load_bitmap("limpo.bmp", NULL);
if (vid!=0){
vid=0;
ponto_vidro++;
play_sample (ponto,255,128,1000, FALSE);
if (ponto_vidro>1)
b+=1;
}
}
}
/*FIM de KEY D*/
}
if ((!key[KEY_DOWN]) && (!key[KEY_UP]) && (!key[KEY_LEFT]) && (!key[KEY_RIGHT]) && (!key[KEY_D])){
if (MudarImagem>25)
MudarImagem=0;
if (MudarImagem>12)
MudarImagem=25;
if (MudarImagem<12)
MudarImagem=0;
}
}
//carregando as imagens do lixo
void Carregando_as_imagens_do_lixo(){
lata = load_bitmap("latinha.bmp", NULL);
lata1 = load_bitmap("latinha.bmp", NULL);
lata2 = load_bitmap("latinha.bmp", NULL);
lata3 = load_bitmap("latinha.bmp", NULL);
papel = load_bitmap("papel.bmp", NULL);
papel1 = load_bitmap("papel.bmp", NULL);
papel2 = load_bitmap ("papel.bmp", NULL);
papel3 = load_bitmap ("papel.bmp", NULL);
vidro = load_bitmap ("vidro.bmp", NULL);
vidro1 = load_bitmap ("vidro.bmp", NULL);
vidro2 = load_bitmap ("vidro.bmp", NULL);
vidro3 = load_bitmap ("vidro.bmp", NULL);
}
//trabalhando as colisoes
void colisoes(){
if(personagem.linha>357)
personagem.linha = 357;
if (x!=700){
if ((personagem.linha<207)>-30) && (personagem.coluna<200)){
personagem.linha = 207;
}
}
if ((personagem.linha<190)>-60) && (personagem.coluna<590)){
personagem.linha = 190;
}
if (personagem.coluna<-50)
personagem.coluna = -50;
if (personagem.coluna >585)
personagem.coluna = 585;
}
void Movimento_do_cenario(){
if (personagem.coluna == x){
x=700;
personagem.coluna = -300;
cenario = load_bitmap("cenario2.bmp", NULL);
}
//fim da primeira parte e indo para a segunda...
if ((personagem.coluna == y) && (ponto_lata>3) && (ponto_papel>1) && (ponto_vidro>=1) ){
allegro_message("Parabens voce passou da primeira fase!!!");
y=701;
}
}
quinta-feira, 12 de novembro de 2009
C Gravando dados em arquivo .TXT
#include iostream.h>
#include stdio.h>
void Mostrar_e_Escrever_texto(char caminho[]){
FILE *arquivo;
char texto[60];
arquivo = fopen (caminho, "r+");
while (arquivo == NULL){
printf("\nEndereco Invalido, informe o endereco novamente: ");
gets(caminho);
arquivo=fopen (caminho, "r+");
}
system("cls");
while (feof(arquivo)==0){
fgets (texto, 10, arquivo);
printf("%s", texto);
_sleep(150);
}
gets(texto);
fputs (texto, arquivo);
fclose (arquivo);
system("pause");
}
int main(){
char endereco[50];
printf("\nInforme o endereco do arquivo a ser lido: ");
gets (endereco);
Mostrar_e_Escrever_texto(endereco);
printf("\n");
return (0);
}
quinta-feira, 5 de novembro de 2009
Validando CNPJ em C
bool validar (char cnpj[]){
int Matriz[14], vet1[11], vet2[12], soma=0, i=6, pos[2];
char posicao[1];
for (int cont=0; cont <12; cont++){
posicao[0] = cnpj[cont];
Matriz[cont] = atoi (posicao);
vet1[cont] = atoi (posicao);
if (i>9)
i=2;
vet1[cont] = vet1[cont] * i;
i++;
soma = soma + vet1[cont];
}
Matriz[12] = soma%11;
//2 parte
i=5;
soma = 0;
for (int cont=0; cont<13;cont++){
posicao[0] = cnpj[cont];
vet2[cont] = atoi (posicao);
if (i>9)
i=2;
vet2[cont] = vet2[cont] * i;
i++;
soma = soma + vet2[cont];
}
Matriz[13] = soma%11;
//caracteres de comparação
posicao[0] = cnpj[12];
pos[0] = atoi (posicao);
posicao[0] = cnpj[13];
pos[1] = atoi (posicao);
if ((Matriz[12] == pos[0]) && (Matriz[13] == pos[1]))
return (true);
else
return (false);
}
domingo, 4 de outubro de 2009
Gerador de CPF
eis que surge meu primeiro programa em Delphi, me cansei de ficar vendo C na faculdade e decidi aprender uma linguagem orientada a objetos por conta própria.
segue o link do programa que com um algoritmo simples (uma básica comparação entre dois vetores) consegue gerar um CPF válido.
Link: http://rapidshare.com/files/288733461/Gerador_de_CPFs.rar.html
domingo, 21 de junho de 2009
segunda-feira, 13 de abril de 2009
Interatividade GNU/Linux (evolução)
Falar em interatividade e usabilidade no sistema Linux, hoje, é falar de dois importantes softwares: o KDE (K Desktop Environment) de origem alemã, e o GNOME (GNU Network Object Model Environment). Falaremos primeiro sobre o KDE que não é apenas mais um ambiente gráfico, que inclui um gerenciador de janelas, mas também uma plataforma de desenvolvimento livre e de código aberto. O KDE possui uma estrutura baseada na biblioteca Qt, um sistema multiplataforma voltado para a criação de programas de interface gráfica.
Durante muito tempo a questão “interação com o usuário” foi o ponto fraco do sistema Linux, uma vez que as pessoas haviam se condicionado com a praticidade do já popular Windows, migrar para um sistema pouco conhecido e complicado não parecia ser uma boa aposta. Essa visão do Linux, de sistema complexo e cheio de comandos, continua até os dias de hoje e é sustentada até por alguns usuários que detêm um pouco mais de conhecimento do sistema. Para entender melhor o porque desse preconceito. Precisamos analisar o nascimento das primeiras interfaces do sistema Linux, lembrando que o KDE e o GNOME, apesar de serem adotados como ponto principal para a pesquisa, não foram os únicos softwares voltados para ambiente gráfico criados para o Linux.
A primeira interface gráfica do Linux foi lançada por volta de 1994 o Xfree, um “servidor gráfico” utilizado em muitos sistemas Unix, e antes dele a interface do Linux se resumia ao modo texto, um ponto que explica o fato do sistema ser mais popular entre programadores e administradores de sistemas. Ao longo do tempo surgiram sérias críticas, em grande maioria a respeito da demora na inclusão de correções e atualizações nos drivers disponíveis no Xfree. Tal problema só foi piorando e a decisão dos desenvolvedores de fazerem uma pequena mudança na licença do software, isso a partir do Xfree 4.4, era o que faltava para que um consórcio formado por membros de várias distribuições, em grande parte desenvolvedores descontentes com o modo de desenvolvimento antigo, se juntasse para iniciar um projeto independente com base no Xfree, o X.org (MORIMOTO, 2006). Os desenvolvedores visavam criar um sistema de arquivos que conseguisse atender as necessidades existentes na época, não bastava ter um sistema de arquivos que, apesar de ser bom, não acompanhasse a evolução dos programas e hardwares existentes. O foco do consórcio era criar um sistema gráfico de código livre e público, facilitando assim a evolução do próprio X.org, referência à implementação do X window System ou simplesmente X, que nada mais é do que um protocolo e é, na verdade, o software associado quem possibilita o emprego de uma interface gráfica, acompanhada do conceito de janelas.
Abaixo, temos duas imagens do sistema gráfico Xfree e, apesar de serem bastante rudes, suas primeiras versões significaram um avanço importante para o universo Linux, pois reduzia consideravelmente a necessidade de sempre recorrermos aos comandos do sistema. Isso acontecia com maior ênfase, quando o Linux só possuía a interface de modo texto. Este avanço pode ser considerado o primeiro passo na evolução do sistema Linux para torná-lo mais usual e conseqüentemente facilitar a vindo de novos adeptos. Em uma época em que a maioria dos usuários eram programadores e desenvolvedores, ter a praticidade de poder visualizar os arquivos de maneira mais transparente e sem precisar de comandos extensos para uma simples cópia, deixando o modo texto para tarefas mais complexas, era uma carência que o próprio sistema sofria, uma vez que este sempre visou uma política de “feito por todos e para todos” .
Xfree (fonte: www.khngai.com/emacs/xfree86)
Enquanto que no Windows a interface gráfica acaba se confundindo com o resto do sistema, havendo então um padrão do qual não se consegue fugir, no Linux o cenário é outro. O X.org é responsável pela estrutura básica do sistema Linux, é ele quem faz a comunicação com a placa de vídeo e monta as imagens que o monitor irá exibir, fornecendo os recursos que os programas necessitam. Porém, da mesma forma que o Kernel o X não aparece para o usuário, e quem fica sempre visível, na verdade, é o gerenciador de janelas, responsável por montar janelas e menus que os usuários visualizam na tela.
No início existiam várias interfaces gráficas diferentes para o Linux, conhecidas como gerenciadores de janelas (MORIMOTO, 2006), mas nenhuma delas conseguia competir com o nível de usabilidade e integração existente no Windows. Esse cenário só mudou com a vinda do ambiente gráfico KDE, que teve seu projeto iniciado em outubro de 1996 por iniciativa do alemão Matthias Ettrich e no ano seguinte (1997) nasceu a versão 1.0 do KDE, que contava com uma barra de tarefas, um gerenciador de arquivos e vários aplicativos. No mesmo ano em que o KDE foi lançado, os mexicanos Miguel de Icaza e Fedrerico Mena iniciaram o projeto GNOME (agosto de 1997), o primeiro a oferecer um desktop totalmente livre para sistemas baseados em Unix, uma vez que o KDE utilizava a biblioteca Qt que ainda não era livre naquele momento.
Tanto o KDE quanto o GNOME não são apenas um gerenciador de janelas, eles conseguem ir mais além, formando uma área de trabalho com um ambiente gráfico adequado ao usuário (Desktop), com um conjunto de bibliotecas, ferramentas de desenvolvimento e programas que visam facilitar não somente o uso como também a própria configuração do sistema (MORIMOTO, 2002). Não por acaso, a principal diferença entre o KDE e GNOME está na biblioteca que cada um utiliza. Como foi dito acima, o KDE utiliza a biblioteca Qt, enquanto o GNOME é projetado na biblioteca GTK2 e possui uma filosofia na qual os aplicativos e menus mantêm apenas as opções mais usadas e mais importantes, o que o torna tão usual quanto o MacOS, explicando assim a sua preferência por usuários iniciantes no sistema Linux. Já o KDE segue uma filosofia de “mais e mais”, em um ambiente com várias opções de configuração e o maior número de recursos possível, tornando-o assim preferência entre os usuários avançados. Em questões visuais, o KDE é o que mais se assemelha ao Windows.
Em resumo, os ambientes gráficos do Linux vêm evoluindo constantemente na busca por uma interface gráfica agradável, intuitiva, cada vez mais fácil de usar. A interface gráfica do Linux possui um grande diferencial, ao contrário do Windows, o seu gerenciador de janelas roda sobre um sistema gráfico, o X.org ou simplesmente X. Por meio do X, é possível implementar no sistema qualquer ambiente gráfico desenvolvido para ele. É exatamente essa questão, de poder escolher o ambiente que melhor atenda às suas necessidades, que vem permitindo a utilização do Linux por diversos usuários. É bem verdade que, de início o desktop Linux representava uma forte barreira para quem desejasse migrar de sistema operacional, principalmente porque o Linux estava em fase de “pós-criação” e seu foco era mais na segurança do próprio sistema operacional. As pessoas que utilizavam o Linux, eram em grande parte programadores e, apesar de uma boa interface ser necessária, não sentiam necessidade de possuir um ambiente gráfico tão simples quanto o Windows, que inclusive acaba perdendo em questões de segurança. Atualmente o cenário do Linux é outro, o sistema agora é tão seguro quanto antes, porém possui desktops que não perdem em nada para qualquer outro sistema. Um forte exemplo é o GNOME, o Desktop mais usual do sistema Linux, ele adota um esquema de visualização semelhante ao do MacOS, sendo bastante simples de se trabalhar. O KDE também vem evoluindo bastante, possui uma interface parecida com a do Windows e suas opções de personalização permitem que o usuário deixe o seu desktop com o visual que melhor o atenda.
KDE 1.0 (fonte: http://upload.wikimedia.org/wikipedia/commons/2/2d/KDE_1.0.jpg)
GNOME 1.0 (fonte:http://www.midwestlinux.com/products/suse/gnome.gif)
Referência:
MORIMOTO, Carlos Eduardo. Linux, Entendendo o Sistema. Guarulhos: GDH Press e Sul Editores, 2006



