
Heldinho
Membros-
Total de itens
317 -
Registro em
-
Última visita
Tudo que Heldinho postou
-
Eu uso meu gcc desta maneira: primeiro eu seto o djgpp(recomendo colocar no autoexec): set djgpp=c:\djgpp\djgpp.env (varia de acordo com a pasta que você instalou) depois eu compilo assim: gcc -o programa.exe programa.c Se usar uma lib externa? gcc -o programa.exe programalc -lLIBEXTERNA Exemplos: gcc -o programa.exe programalc -lalleg gcc -o programa.exe programalc -lgrx20 Bom.. é isso aí.. Até mais!! Espero que tenha ajudado
-
Cara, veja se este funciona, fiz em C: #include <stdio.h> int main(void){ char tecla[0]; printf("Aperte a tecla para ver seu valor:"); tecla[0] = getche(); printf("\nValor ASCII:%d\nValor em Hexa:%x",tecla[0],tecla[0]); } Espero que funcione.. Até Mais! Nota: Voltei pro forum UAHuAHuAHUAHUAH =P
-
Cara, se você quizer fazer uma porcentagem verdadeira, que varia de arquivo pra arquivo, de pc pra pc, de acordo com a velocidade, não tera que incrementar o %.. Primeiro você tem que saber o que você quer fazer com a porcentagem, tipo, calcular quantos % já foi copiado de um arquivo.. eu fiz este exemplo, olhe o código: #include <stdio.h> #include <conio.h> int main(int argc, char **argv){ if(argc != 3){ printf("Modo de uso: %s [ArquivoOrigem] [ArquivoDestino]\nExemplo: %s Arquivo.exe Copiadele.exe",basename(argv[0]),basename(argv[0])); } else { FILE *origem; FILE *destino; long int i=0; long int ii=0; long int iii=0; char conteudo[0]; origem = fopen(argv[1],"rb"); // Linhas abaixo detectam a existencia do arquivo. se não existe, fala que não existe e ensina ausar o programa if(!origem){ printf("Atencao! O arquivo %s não foi encontrado.\nModo de uso: %s [ArquivoOrigem] [ArquivoDestino]\nExemplo: %s Arquivo.exe Copiadele.exe",argv[1],basename(argv[0]),basename(argv[0])); return 0; } destino = fopen(argv[2],"wb"); // As linhas acima detectam a existencia do arquivo for(i=0; !feof(origem); i++){ // coloquei a funcao abaixo só porque for vazio não incrementa o I aki em casa :S fscanf(origem,"%c",&conteudo[0]); } fclose(origem); origem = fopen(argv[1],"rb"); system("cls"); textbackground(BLUE); textcolor(YELLOW); ii=0; while(ii<21){ gotoxy(2+ii,2); cprintf("%c",176); ii++; } ii=0; while(ii!=i-1){ // O esquema abaixo torna o programa mais rapido, fazendo que mostre menos vezes a porcentagem na tela. if(ii == iii+100){ iii=ii; gotoxy(1,3); printf("%d%% Concluido.",((ii*100)/i)+1); gotoxy((((((ii*100)/i)+1)*20)/100)+2,2); cprintf("%c",219); } // (((((ii*100)/i)+1)*20)/100) // O if acima torna o programa mais rapido, fazendo que mostre menos vezes a porcentagem na tela. fscanf(origem,"%c",&conteudo[0]); fprintf(destino,"%c",conteudo[0]); ii++; } gotoxy(1,4); } /* 50 é 25% de 200 50/200*100 ii*100/i */ } Teste o código com um arquivo de 3 MB por exemplo, se quizer que dê tempo de ver a porcentagem.. e depois teste novamente em algum computador mais lento, você verá que a porcentagem chegará no 100 quando acabar, mais o tempo varia... Espero que seja util, e não sei se entendi o que você queria... Até Mais!
-
Aki estão algumas Gráficas boas: Allegro GRX (GNU ) Bom.. Vou mandar FileLib, Funcoes H e WHBROS API pra internet e já já ponho os links aki ' --- Editado: Existe o canal irc #CPP no servidor irc.afternet.org , lá tb você pode tirar suas duvidas sobre C e C++.. Nota: Ainda não deu pra mandar as libs pra net... Até +!!
-
Substituir Uma Função Chamada System("pause");
pergunta respondeu ao Luiz_Junior de Heldinho em C, C++
Cara, eu sei q você já resolveu seu problema, mas se não quizer depender de nenhuma header, use Inline assembly.. aki está um exemplo do inline assembly do gcc: void pausa(){ asm ("mov $0,%ah"); asm ("int $0x16"); /* Nota: O Gcc usa AT&T Syntax... */ } Até +!^_^' -
Cara, eu disse que o SO é feito em C pois a maior parte do código é em C, mas eu usei assembly em varias parets, como pra reiniciar o computador, desligar, verificar se tem disquete na unidade quando for desligar e em outras paretes.. Até + e obrigado pelas críticas '
-
Você pode usar uma função q eu fiz hj a tarde.. mas o numero máximo de caracteres q a scring pode ter é 1000. Bom.. não sei se funciona com qualquer string.. testei com algumas.. tente compilar este exemplo: #include <stdio.h> char *inverte(char *string){ char *retornador; int i; int ii; int iii=0; char strtmp[1000]; char strout[1000]; char strout2[1000]; i=0; ii=0; sprintf(strtmp,"%s",string); while(strtmp[i]!= NULL){ i++; iii++; } while(ii!=i+1){ strout[ii] = strtmp[iii]; ii++; if(iii!=0){ iii--; } } ii=0; /* while(ii<i){ strout2[ii] = strout[ii+1]; ii++; } */ ii=0; iii=0; while(ii<i+1){ if(strout[ii] != NULL){ strout2[iii] = strout[ii]; iii++; ii++; } else { //printf("%c",strout[ii]); ii++; } } strout2[iii] = NULL; retornador = strout2; return retornador; } int main(void){ const char combi[6][6]={"EFGM","EFLM","EFGHN","EFGMN","EFLMN","EJLMN"}; int i=0; while(i<6){ printf("String normal:%s Inversa:%s\n",combi[i],inverte(combi[i])); i++; } } Até +!
-
Cara, este tópico pode te ajudar: http://scriptbrasil.com.br/forum/index.php?showtopic=46999 tem tutoriais em inglês e Portugues.. e não gaste as letras gritando Até+ =)!!
-
cara, pra usar o bcc faz assim: tipo.. instalei o meu em c:\borland\bcc55..(o free) aí eu uso assim: bcc32 -L"c:\borland\bcc55\lib" -I"c:\borland\bcc55\include" codigofonte o código fonte não precisa digitar a extenção... bom.. é assim q eu faço.. Até +! Ahh, eu recomendo GCC Até +!!
-
Bom cara.. você usa windows Xp né?? eu recomendo testar o programa no dos(Iniciar>CMD) ou então adicionar um loop infinito no final(While(1)) ou até mesmo um system("Pause"); O que acontece, é que o windows xp fecha o aplicativo após terminar.. se você testar no windows 98 vai funcionar.. não sei.. se você não tiver windows xp pode ser outra coisa... tente essas dicas aí.. Até +!!
-
Me desculpem, postei sem logar :S... Até +!
-
Bom pessoal.. hj eu estava programando, programando.. até que me deu vontade de fazer uma header com funções pra pegar informações de arquivos, como Nome, Extenção, e o Tipo do arquivo(Descrição da Extenção)...Bom... Primeiro Passo: Copie o Código abaixo e salve como "filelib.h" na sua pasta Include /* ----------------------------------------------------------- */ /* Filelib.h é uma Criação de Helder de Oliveira Gomes Filho. */ /* ©2003-2005 WHBR Corporation. */ /* ----------------------------------------------------------- */ /* ------- Função getfname ---------------------------- */ /* Esta função retorna o nome do arquivo sem a extenção.*/ /* */ /* Exemplo: */ /* char file[15]; */ /* sprintf(file,"arquivo.exe"; */ /* printf("%s",getfname(file)); */ /* */ /* ---------------------------------------------------- */ char *getfname(char *string2){ int i=0; int ii=0; char string[500]; char *string3; sprintf(string,"%s",string2); while(string[i] != NULL){ i++; } i=i-4; while(ii<i){ string[ii] = string[ii]; ii++; } string[ii] = NULL; string[ii+1] = NULL; string[ii+2] = NULL; string[ii+3] = NULL; string3 = string; return string3; } /* ------- Função getfext ----------------------------- */ /* Esta função retorna a extenção do arquivo */ /* */ /* Exemplo: */ /* char file[15]; */ /* sprintf(file,"arquivo.exe"; */ /* printf("%s",getfext(file)); */ /* */ /* ---------------------------------------------------- */ char *getfext(char *string2){ int i=0; int ii=0; int iii=0; int a=0; char string[500]; char *string3; sprintf(string,"%s",string2); while(string[i] != NULL){ i++; ii++; a++; } i=i-4; a=a-4; i++; while(i<ii){ string[iii] = string[i]; i++; iii++; } a=3; while(a<ii){ string[a] = NULL; a++; } string3 = string; return string3; } /* ------- Função getftype----------------------------- */ /* Esta função retorna a descrição do tipo do arquivo */ /* Modo de uso: getftype(char *extencao); */ /* Exemplo: */ /* char file[15]; */ /* sprintf(file,"arquivo.exe"; */ /* printf("O arquivo é %s\n",getftype(getfext(file))); */ /* printf("Extencao GAW são de '%s'",getftype("GAW")); */ /* ---------------------------------------------------- */ char *getftype(char *string2){ char string[3]; char string3[100]; char *string4; sprintf(string,"%s",string2); sprintf(string3,"Arquivo %s",string2); if(strcmp(string,"exe") == 0 || strcmp(string,"EXE") == 0){ sprintf(string3,"Executavel"); } if(strcmp(string,"bmp") == 0 || strcmp(string,"BMP") == 0){ sprintf(string3,"Imagem Bitmap"); } if(strcmp(string,"jpg") == 0 || strcmp(string,"JPG") == 0){ sprintf(string3,"Imagem JPEG"); } if(strcmp(string,"png") == 0 || strcmp(string,"PNG") == 0){ sprintf(string3,"Imagem PNG"); } if(strcmp(string,"gif") == 0 || strcmp(string,"GIF") == 0){ sprintf(string3,"Imagem GIF"); } if(strcmp(string,"ppm") == 0 || strcmp(string,"PPM") == 0){ sprintf(string3,"Imagem PPM"); } if(strcmp(string,"zip") == 0 || strcmp(string,"ZIP") == 0){ sprintf(string3,"Arquivo ZIP"); } if(strcmp(string,"rar") == 0 || strcmp(string,"RAR") == 0){ sprintf(string3,"Arquivo RAR"); } if(strcmp(string,"ico") == 0 || strcmp(string,"ICO") == 0){ sprintf(string3,"Icone"); } if(strcmp(string,"sys") == 0 || strcmp(string,"SYS") == 0){ sprintf(string3,"Arquivo de Sistema"); } if(strcmp(string,"dll") == 0 || strcmp(string,"DLL") == 0){ sprintf(string3,"Extenção de Aplicativo"); } if(strcmp(string,"doc") == 0 || strcmp(string,"DOC") == 0){ sprintf(string3,"Documento compativel com o WORD"); } if(strcmp(string,"rtf") == 0 || strcmp(string,"RTF") == 0){ sprintf(string3,"Documento compativel com o WORD"); } if(strcmp(string,"txt") == 0 || strcmp(string,"TXT") == 0){ sprintf(string3,"Arquivo de Texto"); } if(strcmp(string,"com") == 0 || strcmp(string,"COM") == 0){ sprintf(string3,"Executavel"); } if(strcmp(string,"cfg") == 0 || strcmp(string,"CFG") == 0){ sprintf(string3,"Arquivo de Configuração"); } if(strcmp(string,"wav") == 0 || strcmp(string,"WAV") == 0){ sprintf(string3,"Música WAV"); } if(strcmp(string,"mp3") == 0 || strcmp(string,"MP3") == 0){ sprintf(string3,"Música MP3"); } if(strcmp(string,"oc3") == 0 || strcmp(string,"OC3") == 0){ sprintf(string3,"Música OC3"); } if(strcmp(string,"mid") == 0 || strcmp(string,"MID") == 0){ sprintf(string3,"Música MIDI"); } if(strcmp(string,"xls") == 0 || strcmp(string,"XLS") == 0){ sprintf(string3,"Tabela Compativel com o Excell"); } if(strcmp(string,"asf") == 0 || strcmp(string,"ASF") == 0){ sprintf(string3,"Mídia ASF"); } if(strcmp(string,"asx") == 0 || strcmp(string,"ASX") == 0){ sprintf(string3,"Mídia ASX"); } if(strcmp(string,"mpg") == 0 || strcmp(string,"MPG") == 0){ sprintf(string3,"Filme MPEG"); } if(strcmp(string,"avi") == 0 || strcmp(string,"AVI") == 0){ sprintf(string3,"Filme AVI"); } if(strcmp(string,"eva") == 0 || strcmp(string,"EVA") == 0){ sprintf(string3,"Filme EVA"); } if(strcmp(string,"psd") == 0 || strcmp(string,"PSD") == 0){ sprintf(string3,"Data do Photoshop"); } if(strcmp(string,"pdf") == 0 || strcmp(string,"PDF") == 0){ sprintf(string3,"Documento PDF"); } if(strcmp(string,"cpp") == 0 || strcmp(string,"CPP") == 0){ sprintf(string3,"Source C++"); } if(strcmp(string,"asm") == 0 || strcmp(string,"ASM") == 0){ sprintf(string3,"Source ASM"); } if(strcmp(string,"mac") == 0 || strcmp(string,"MAC") == 0){ sprintf(string3,"Source ASM"); } if(strcmp(string,"iso") == 0 || strcmp(string,"ISO") == 0){ sprintf(string3,"Imagem de CD"); } if(strcmp(string,"img") == 0 || strcmp(string,"IMG") == 0){ sprintf(string3,"Imagem de Disquete"); } if(strcmp(string,"dsk") == 0 || strcmp(string,"DSK") == 0){ sprintf(string3,"Imagem de Disquete 730k"); } if(strcmp(string,"bin") == 0 || strcmp(string,"BIN") == 0){ sprintf(string3,"Arquivo Binário"); } string4 = string3; return string4; } Bom.. Aqui vem um programa-exemplo sobre como usar a filelib.h: #include <stdio.h> #include <filelib.h> void main(void){ int i; int ii; char file[10]; char filename[10]; /* coloca o nome do arquivo e a extencao na variavel file */ sprintf(file,"Programa.exe"); /* Guarda o nome do arquivo em uma variavel */ sprintf(filename,"%s",getfname(file)); /* mostra o nome do arquivo com a extencao(variavel file) */ printf("Nome Completo: %s\n",file); /* Mostra o nome do arquivo sem a extencao */ printf("Nome: %s\n",getfname(file)); /* mostra a extencao do arquivo */ printf("Extencao: %s\n",getfext(file)); /* compara a extencao do arquivo */ printf("Tipo: %s",getftype(getfext(file))); /* mostra o nome do arquivo que estava guardado na variavel */ printf("\nName antigo: %s",filename); } Bom.. É isso aí.. Eu gostaria que se alguém usar essas funções, colocasse meu nome nos créditos... se não quizer, não precisa deixar de usar por causa disso.. eu fiz elas mais pra ajudar quem está precisando..Hmm.. Podem dizer sinceramente o que acharam delas!! Estou aki pra arrumar as besteiras que estão nelas!! Até + !!
-
Cara, não esqueci de você! .. você tinha pedito "Prints" do whbros.. acho que você quiz dizer Screen SHots? Print Screen não funciona no meu OS, então demorei pois eu tive que tirar as fotos usando o C!!.. bom.. Fotos do WHBROS: http://heldinho.hollosite.com/whbros/fotoos.htm http://heldinho.hollosite.com/whbros/fotoos2.htm http://heldinho.hollosite.com/whbros/fotoos3.htm Foto do Easy File System no Easy DOs 2(Easy File System é a estrutura de diretorio do Easy Dos 2): http://heldinho.hollosite.com/whbros/easyfs.htm Espero que tenham gostado!! Até +!!
-
#include <stdio.h> int main(void){ int a; a=0; while(a<99){ printf("Estou no numero %d\n",a); system("pause"); a++; } return 0; } cara, teste esse aí.. e veja com as pausas, se realmente está com erro... meu mail é heldinho@gmail.com .. até+!!
-
Ae pessoal, achei um site sobre C# e outros que tem muita coisa interessante.. tem: o site é: http://www.developerfusion.com/csharp/ Editado: Desculpe!! eu não tinha visto que tinha um tópico sobre isso! foi mal!! postei no lugar errado :S.. .Até +!! Editado por cyberalexxx: Juntei os tópicos para ficar no local devido.
-
Consegui.. Agora você pode adaptar o código as suas necessidades(como é q se escreve?? )... este código substitui todos os escritos 'Jose' por 'Mane'.. Replace.c: #include <stdio.h> int main(int argc,char **argv){ if(argc != 3){ printf("Modo de uso: %s [arquivo] [arquivo a ser gerado]",basename(argv[0])); } else { FILE *arquivo; int i; int ii; char conteudo[2000]; arquivo = fopen(argv[1],"r"); for(i=0; !feof(arquivo); i++){ fscanf(arquivo,"%c",&conteudo[i]); ii++; } i=0; while(i<ii-1){ if(conteudo[i] == 'J' && conteudo[i+1] == 'o' && conteudo[i+2] == 's' && conteudo[i+3] == 'e'){ conteudo[i] = 'M'; conteudo[i+1] = 'a'; conteudo[i+2] = 'n'; conteudo[i+3] = 'e'; } i++; } fclose(arquivo); arquivo = fopen(argv[2],"wt"); i=0; while(i<ii-1){ fprintf(arquivo,"%c",conteudo[i]); i++; } } } Pra usar faz assim no dos: replace jose.txt jose2.txt eu testei desta maneira: escrevi isto no bloco de notas: O Jose escreveu Este arquivo.Por isso que o Jose e doido!Tchau Jose!! Salvei na mesma pasta que o replace.exe, e executei desta maneira: replace jose.txt jose2.txt logo o jose2.txt foi criado pelo replace: O Mane escreveu Este arquivo.Por isso que o Mane e doido!Tchau Mane!! Até + cara! espero ter ajudado!!
-
Se é possivel?? é sim!! vou tentar fazer algo parecido!! sei que tem que usar if... Até +!!
-
#include <stdio.h> int main(void){ int a; a=0; while(a<99){ printf("Estou no numero %d\n",a); a++; } return 0; } Bom.. não precisaria criar a variavel T se o que você quer é mostrar numeros na tela de 0 até 99... não sei se entendi o que queria.. teste e veja se funciona!! até +!!
-
Bom.. Estou tentando agora.. eu pensei em usar Fopen no diretorio e ver o que ele retorna, mas eu acho que não funciona... alguém sabe como descobrir se o diretório existe?? Até +!!
-
Bom pessoal, é o seguinte.. encontrei um tutorial sobre como programar Sockets que parecia ser bem fácil.. olhem: Em ingles(Completo) Em portugues(Menos coisas do que o ingles) bom, até aí tudo bem.. acho que muitas pessoas procuram por isso.. mas tem um problema.. esses tutoriais são pra linux.. será que alguém conhece ou sabe fazer o que tem nesses tutoriais só q pra windows? Bom.. Agradeço desde já.. Até +!!
-
use delay(int tempo); invés de sleep.. não lembro se é em segundos ou milisegundos.. até +!!
-
Cara, agora realmente funcionou Muito obrigado!!!
-
Cara, Você Salvou o Dia! =D.. muito obrigado mesmo!!Quero agradecer o Aragorn13 (deveria ser 14){Rodfrag} também, pois ficou um tempão tentando resolver isso também.. de qualquer forma, obrigado a todos!!!
-
Gente, eu preciso mesmo criar um modo de separar uma string sem usar a strtok.. olhem o código que eu comecei a fazer: #include <stdio.h> int explode(char *origem, char *destino){ int counter=0; int counter2=0; int x=0; while(x<strlen(origem)){ if(origem[x] != '-' && origem[x+1] != '_' && origem[x+1+1] != '-'){ destino[counter2][counter] = origem[x]; counter++; x++; } else{ x=x+2; counter2++; counter=0; } } } void main(void){ char *variavel[255]; char teste[500]; sprintf(teste,"Olá!-_-Teste-_-"); explode(teste,variavel); printf("%s",variavel[0]); /* Aki era pra aparecer Olá! na tela, variavel[1] deveria ser Teste e variavel[3] Deveria ser (NULL)... nem imagino aonde está o bug.. */ } bom.. simplesmente aparece um 0 na tela quando eu dou o printf no variavel[0]... deve ter muitos bugs aí.. será que alguém pode me ajudar? vou continuar tentando... obrigado e até +!!
-
.. não é que funciona mesmo... acho que o erro do código estava em outra parte .... Desculpe o encomodo aí, e de qualquer forma, muito obrigado =D