
GABRIEL_LOGAN
Membros-
Total de itens
22 -
Registro em
-
Última visita
Tudo que GABRIEL_LOGAN postou
-
Ai um codigo em C++ da epoca que eu comecei a mecher no windows.h: #include <windows.h> #define CLASS_NAME "Desenv. Teste" //============================================================ LRESULT WINAPI MsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_DESTROY: //Cleanup(); PostQuitMessage(0); return 0; } return DefWindowProc(hWnd, msg, wParam, lParam); } //============================================================ INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, INT nFunsterStil) { MSG messages; /* Here messages to the application are saved */ WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0, 0, GetModuleHandle(NULL), NULL, LoadCursor (NULL, IDC_ARROW), (HBRUSH) COLOR_BACKGROUND, NULL, CLASS_NAME, NULL}; if (!RegisterClassEx (&wc)) return 0; HWND hWnd = CreateWindow( CLASS_NAME, "Desenv. Teste", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 640, 480, GetDesktopWindow(), NULL, wc.hInstance, NULL); ShowWindow (hWnd, nFunsterStil); while (GetMessage (&messages, NULL, 0, 0)) { /* Translate virtual-key messages into character messages */ TranslateMessage(&messages); /* Send message to WindowProcedure */ DispatchMessage(&messages); } return messages.wParam; } //============================================================
-
Cara, Fiz algo semelhante ao que você quer (Ele lê e grava na memória [opção=0] e imprime [opção=1] e sai [opção<>0 ou 1]) Pra ficar igual ao que você quer basta fazer uma comparaçãozinha na raça de cada animal (lembrando que comparação de strings você usa comparação caracter por caracter e não == , existe uma biblioteca que faz isso facinho ). Tentei usar um pouco de ponteiros e alocação de memória pra te forçar a se virar e entender pra poder modificar o programa que já está quase do jeito que você quer pro jeito que você quer. #include <stdio.h> #include <stdlib.h> #define MAX 15 //================================== struct animal{ int cor; char *raca; int idade; }; struct animais{ struct animal *todos_animais; int qtd_animais; }; //================================== int main(int argc, char *argv[]) { struct animais bixos; int i=0; int ret=3; int k; bixos.qtd_animais=0; (bixos.todos_animais)=(struct animal *)realloc((bixos.todos_animais),(bixos.qtd_animais)*sizeof(struct animal)); while(i!=-1) { printf("==========================================================\n"); printf("Digite 0 para catalogar 1 para imprimir e ? para sair...\n"); printf("==========================================================\n\n"); printf("Opcao: "); scanf("%d",&ret); if(ret==0) { i++; bixos.qtd_animais=i; (bixos.todos_animais)=(struct animal *)realloc((bixos.todos_animais),(bixos.qtd_animais)*sizeof(struct animal)); printf("-------------------------------------------\n"); printf("Digite a cor: (inteiro) "); scanf("%d",&(((bixos.todos_animais)+((i-1)*sizeof(struct animal*)))->cor)); printf("Digite a idade: (inteiro) "); scanf("%d",&(((bixos.todos_animais)+((i-1)*sizeof(struct animal*)))->idade)); printf("Digite a raca: (string MAX 15 char) "); (((bixos.todos_animais)+((i-1)*sizeof(struct animal*)))->raca)=(char*)malloc(MAX*sizeof(char)); scanf("%s",(((bixos.todos_animais)+((i-1)*sizeof(struct animal*)))->raca)); printf("-------------------------------------------\n\n"); } else if(ret==1) { if(bixos.qtd_animais==0) printf("Nenhum animal...\n"); else if(bixos.qtd_animais>0) for(k=0;k<bixos.qtd_animais;k++) { printf("\n\tAnimal[%d]\n",k); printf(">> cor: %d\n",(((bixos.todos_animais)+(k*sizeof(struct animal*)))->cor)); printf(">> idade: %d\n",(((bixos.todos_animais)+(k*sizeof(struct animal*)))->idade)); printf(">> raca: %s\n\n",(((bixos.todos_animais)+(k*sizeof(struct animal*)))->raca)); } } else i=-1; } system("PAUSE"); return 0; } falou
-
Cara, Pensei aqui numa solução, mas nem testei não. Vê ai se dá certo: while(!arq1.txt.eof()) { arq1.get(ch); if(!arq1.txt.eof()) arqSaida.write((char *)&ch, sizeof(ch)); } Acho que se colocasse um Do While ficaria mais otimizado. Com menos comparações.
-
Eu estou querendo fazer uma consulta num XML do WebService... Agora descobri que existe um tal de axis2/c que é um servidor que dá suporte a essas consultas em C: https://saloon.inf.ufrgs.br/twiki/view/Disc...atorio2008-2-05 Tem que pegar as DLL´s e colocar no system32... Ai depois eu rodei um arquivo fonte de exemplo: http://ws.apache.org/axis2/c/docs/hello/client/hello.c.html E vejam: gcc.exe "C:\axis2c\bin\test.c" -o "C:\axis2c\bin\test.exe" -I"C:\Dev-Cpp\include" -I"C:\axis2c\include" -L"C:\Dev-Cpp\lib" -L"C:\axis2c\lib" In file included from C:/Dev-Cpp/include/io.h:21, from C:/Dev-Cpp/include/direct.h:22, from C:/axis2c/include/platforms/windows/axutil_windows.h:48, from C:/axis2c/include/platforms/axutil_platform_auto_sense.h:38, from C:/axis2c/include/axutil_dll_desc.h:31, from C:/axis2c/include/axutil_class_loader.h:31, from C:/axis2c/include/axis2_util.h:24, from C:\axis2c\bin\test.c:19: C:/Dev-Cpp/include/stdint.h:27: error: conflicting types for 'int8_t' C:/axis2c/include/axutil_utils_defines.h:38: error: previous declaration of 'int8_t' was here C:/Dev-Cpp/include/stdint.h:28: error: redefinition of typedef 'uint8_t' C:/axis2c/include/axutil_utils_defines.h:37: error: previous declaration of 'uint8_t' was here C:/Dev-Cpp/include/stdint.h:29: error: redefinition of typedef 'int16_t' C:/axis2c/include/axutil_utils_defines.h:40: error: previous declaration of 'int16_t' was here C:/Dev-Cpp/include/stdint.h:30: error: redefinition of typedef 'uint16_t' C:/axis2c/include/axutil_utils_defines.h:39: error: previous declaration of 'uint16_t' was here C:/Dev-Cpp/include/stdint.h:31: error: conflicting types for 'int32_t' C:/axis2c/include/axutil_utils_defines.h:42: error: previous declaration of 'int32_t' was here C:/Dev-Cpp/include/stdint.h:32: error: conflicting types for 'uint32_t' C:/axis2c/include/axutil_utils_defines.h:41: error: previous declaration of 'uint32_t' was here C:/Dev-Cpp/include/stdint.h:33: error: redefinition of typedef 'int64_t' C:/axis2c/include/axutil_utils_defines.h:44: error: previous declaration of 'int64_t' was here C:/Dev-Cpp/include/stdint.h:34: error: redefinition of typedef 'uint64_t' C:/axis2c/include/axutil_utils_defines.h:43: error: previous declaration of 'uint64_t' was here
-
(SEM ACENTO) Galera, Tem alguma biblioteca em C que me ajude a baixar um arquivo pela internet em C? Se alguém souber de algum material tambem eu agradeco :-)
-
Galera, Achei um exemplo de como ler aquivos xml, rodou perfeitamente (no Linux), fiz a leitura de uns arquivos aqui no meu HD e tal, enfim funcionou certinho... Vejam o codigo abaixo, bem simples ele. //------------ //COPILED: gcc `xml2-config --cflags --libs` -o reader1 reader1.c //------------ /** * section: xmlReader * synopsis: Parse an XML file with an xmlReader * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file * and dump the informations about the nodes found in the process. * (Note that the XMLReader functions require libxml2 version later * than 2.6.) * usage: reader1 <filename> * test: reader1 test2.xml > reader1.tmp; diff reader1.tmp reader1.res; rm reader1.tmp * author: Daniel Veillard * copy: see Copyright for the status of this software. */ #include <stdio.h> #include <libxml/xmlreader.h> #ifdef LIBXML_READER_ENABLED /** * processNode: * @reader: the xmlReader * * Dump information about the current node */ static void processNode(xmlTextReaderPtr reader) { const xmlChar *name, *value; name = xmlTextReaderConstName(reader); if (name == NULL) name = BAD_CAST "--"; value = xmlTextReaderConstValue(reader); printf("%d %d %s %d %d", xmlTextReaderDepth(reader), xmlTextReaderNodeType(reader), name, xmlTextReaderIsEmptyElement(reader), xmlTextReaderHasValue(reader)); if (value == NULL) printf("\n"); else { if (xmlStrlen(value) > 40) printf(" %.40s...\n", value); else printf(" %s\n", value); } } /** * streamFile: * @filename: the file name to parse * * Parse and print information about an XML file. */ static void streamFile(const char *filename) { xmlTextReaderPtr reader; int ret; reader = xmlReaderForFile(filename, NULL, 0); if (reader != NULL) { ret = xmlTextReaderRead(reader); while (ret == 1) { processNode(reader); ret = xmlTextReaderRead(reader); } xmlFreeTextReader(reader); if (ret != 0) { fprintf(stderr, "%s : failed to parse\n", filename); } } else { fprintf(stderr, "Unable to open %s\n", filename); } } int main(int argc, char **argv) { if (argc != 2) return(1); /* * this initialize the library and check potential ABI mismatches * between the version it was compiled for and the actual shared * library used. */ LIBXML_TEST_VERSION streamFile(argv[1]); /* * Cleanup function for the XML library. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return(0); } #else int main(void) { fprintf(stderr, "XInclude support not compiled in\n"); exit(1); } #endif Agora tentei abrir um arquivo xml da internet mas não deu certo, vejam: cd '/home/logan/ex3' logan@debian:~$ cd '/home/logan/ex3' logan@debian:~/ex3$ '/home/logan/ex3/reader1' 'http://www.ovh.pt/produtos/dotie.xml' error : Operation in progress Unable to open http://www.ovh.pt/produtos/dotie.xml logan@debian:~/ex3$ alguém PODERIA ME AJUDAR? COMO FACO PRA ACESSAR UM XML PELA INTERNET? OBRIGADO GABRIEL
-
(SEM ACENTO) :blink: cara você ta querendo tudo nas maos... Se o professor passou um trabalho valendo 80% da nota, então ele deve ter ensinado pelomenos o basico ( e você me diz que esta' a 2 dias quebrando a cabeca pra fazer o menu...) Um while com scanf's e printf's... Imagina a hora que você tiver que acessar o arquivo (Ler/Escrever). Lhe aconselho :huh: seriamente comecar a estudar mais. Para tanto, veja ai uma boa apostila de C: ftp://ftp.unicamp.br/pub/apoio/treinamentos/linguagens/c.pdf
-
Meio dificil fazer qualquer análise só com esse for ai....
-
você deve estar chamando o #include "pegadados.h" Em vários arquivos, por isso deve estar dando esse monte de "multiple definition" Tente colocar tudo o que deve ser definido apenas uma vez no seu arquivo pegadados.h dentro do ifndef, assim: #ifndef _PEGADADOS_H_ #define _PEGADADOS_H_ typedef struct stHd { int iCpu_Key; char szHd_Size[12]; struct stHd *pstHd_Next; }t_stHd; void func1(a, b, c, ..., z); void func2(a, b, c, ..., z); void func3(a, b, c, ..., z); . . . #endif
-
Uê, pelo que entendi, você quer pegar um texto SQL (supondo estar em um arquivo) e onde tiver ")" adicionar", '0'" antes dele. não é??!?! Velho, no Visual Basic você faz isso em menos de 2 minutos com um RichTextBox utilizando o método Replace... Em C vai ser mais chato um pouco... Mas vamos lá. #include <stdlib.h> #include <stdio.h> int main(int argc, char *argv[]) { FILE *fp_r; FILE *fp_w; char ch; if((fp_r=fopen("C:\\pastaX\\test_IN.txt", "r"))==NULL) { printf("Err:. Open file IN\n"); return 1; } if((fp_w=fopen("C:\\pastaX\\test_OUT.txt", "w"))==NULL) { printf("Err:. Open file OUT\n"); return 1; } do { //===COPIA DO ARQUIVO + o ", '0')" no arquivo ch=getc(fp_r); if(ch==')') { putc(',',fp_w); putc(' ',fp_w); putc(39,fp_w); // ASCII do ' putc('0',fp_w); putc(39,fp_w); // ASCII do ' putc(ch,fp_w); } else if(ch!=EOF) putc(ch,fp_w); }while(ch!=EOF); printf("\n"); fclose(fp_r); fclose(fp_w); system("PAUSE"); return 0; } Ele basicamente lê o arquivo test_IN.txt e escreve no arquivo test_OUT.txt mudando o ")" por ", '0')". Acho que deve solucionar seu problema. falou
-
Galera, a placa de Rede não precisou instalar, o Linux reconheceu... Agora falta instalar o CD da Brturbo (Modem, e discador), mas parece que o Linux num executa o arquivo instalar.exe ......
-
Galera nunca mechi em Linux, eu mechia em WINDOWS, agora estou migrando pro Pinguim...... Agora que estou com o Pinguim de Chapéu Vermelho eu tenho uma dúvida: Tenho uma placa de rede e um modem ADSL, como, onde faço pra instalar esses 2 hardwares? Tenho um CD do Discador BRTURBO, mas parece que ele so roda em WIN, alguém tem Brturbo, modem da U.S.Robotics e usa Linux? Pode me ajudar?
-
KANDRAQUE, esse link dos discos de boot são do SUSE e estão quebrados, eu clico pra fazer download , mas não acha o download.
-
kandrade valeu pela dica vou tentar fazer isso depois que acabar de baixar o Linux. E falando no código que você enviou, eu queria saber se eu poderia modificar "linux install=ftp://servidor_ftp/diretorio" para iniciar a instalação. por "linux install=c:\Pasta_Linux\" ? Ou seja ai ele instalaria em c:\Pasta_Linux\ Poso fazer isso? Meu amigo pegou a conversa de um chat e dise que poderia me ajudar, alguém sabe se isso funciona: Oi cara... olha é que eu estive tc com uns colegas da comunidade linux, no jabber e falei sobre o teu problema... O que eu apurei foi a dificudade dos kras entenderem como fazer, porque não majam muito de win, mas deram umas dica, peguei o log da conversa, estarei passando pra você ok. Desupe a pressa assim, mas veja se da para te ajudar em algo isso... rsrs [00:26] Mieli Jr.: ow vocês sabem se tem como instalar linux do hd? [00:26] Mieli Jr.: assim, você baixando os arquivos, e ao invez de queimar os cds dar um geito de instalar com os arquivos de instalacao no hd? [00:26] Forrest_Wise: xi Mieli, vai instalar de novo? [00:26] Mieli Jr.: Nem, pra um camarada ai... [00:27] umgeher@jabber.org: sim, ate da [00:27] umgeher@jabber.org: via dos não sei [00:27] umgeher@jabber.org: mas via gnu/linux da sim [00:27] Mieli Jr.: mas o cara num tem linux instalado pow... [00:27] umgeher@jabber.org: puts eu num manjo de win/dos... mas manda ele tentar assim: [00:27] umgeher@jabber.org: ele pode usar outra maquina para rodar um server de nfs + boot [00:28] umgeher@jabber.org: ou então... tem um tal de loading, ou algo assim dentro do iso do debian [00:28] umgeher@jabber.org: só rodar ele (pelo dos)apontando para a imagem que ele quer instalar [00:26] debian_hurd: aff mieli seu loko, da um toke pra ele pegar um cd! bem mais facil [00:29] Mieli Jr.: no dos ne? [00:29] Mieli Jr.: roda esse loading e aponta a iso no hd? [00:29] umgeher@jabber.org: não [00:29] umgeher@jabber.org: aponta para a imagem de boot [00:29] umgeher@jabber.org: ele tem de tirar os arquivos do iso [00:30] Mieli Jr.: ah ta! [00:29] Mieli Jr.: seria mais facil alan, mas o cara já baxo a distro e num tem gravadora [00:30] umgeher@jabber.org: mas como eu disse... no win, eu nem tenho certeza como faz [00:30] Mieli Jr.: não bele! vo da um toke pro cara Funciona? valeu Galera!
-
People, eu baixei o CD1 do Linux Mandrake (O CD1 referente ao instalável, não aquele que roda do CD) , baixei o CD1 no Windows, baixei o arquivo *.ISO* de 692 Mb e agora pra instalar? Eu não tenho como gravar um tudo num CD porque não tenho Gravadora. Teria como eu instalar direto do meu HD o Linux? alguém poderia me explicar? Fico Grato.
-
valeu mas esse exemplo não deu muito certo aqui não deu um monte de erro que eu fiquei biruta. algume sabe alguma função que gere uma string diferente a cada acesso?
-
Pessoal, como faço pra tipo naqueles sites de autenticação que tem um número e Letras pra você digitar pra comprovar que não é uma máquina. alguém sabe como gerar aquelas palavras e como comparar pra ver se está certo o que o cara digitou?
-
Ah, aproveitando o Bonde denovo, você por acaso sabe como fazer tocar a musica quando eu clicar em alguma coisa?
-
valeu. Deu certo, você salvou a minha musica.....
-
Eu consegui importar ele com a dica do George (File > Import > Import to Stage > Escolha o Arquivo). Não abusando da paciência de vocês, mas aproveitando o bonde andando, eu pergunto: Como eu faço pra executar o som no Flash MX?
-
Eu consegui importar ele com a dica do George (File > Import > Import to Stage > Escolha o Arquivo). Não abusando da paciência de vocês, mas aproveitando o bonde andando, eu pergunto: Como eu faço pra executar o som no Flash MX?
-
Quem é LIAN ?