Ir para conteúdo
Fórum Script Brasil

Maligno

Membros
  • Total de itens

    214
  • Registro em

  • Última visita

Tudo que Maligno postou

  1. Não lembro de você (seu nick não ajuda muito). Mas o site ainda está temporariamente fora do ar. Temos que esperar o Ivan conseguir retomar o site. Mas quando voltar ao normal, voltaremos à carga total. :) Dica adicional: se puder, use o FR a partir da versão 4.72, que já é pro RAD2009. Link. Opa! Convite devidamente anotado. Obrigado. :)
  2. Mistério, não? Mas pode ter acontecido que alguma DLL, por exemplo, está correta na sua máquina, mas diferente na empresa. É só um palpite, mas já vi acontecer antes. Imagino que você utilize um banco de dados C/S. Verifique ele também. Dica: fuja do QR. Use FastReport, que é milhares de vezes melhor.
  3. Tente apagar todos os objetos do projeto e compile novamente.
  4. Dois detalhes: o texto do primeiro link sequer diz quem é o autor. Texto apócrifo pra mim não tem valor algum. Ademais, há até autores consagrados da área que de vez em quando falam alguma bobagem. Segundo: os dois links seguintes estão quebrados. Em suma: continuo discordando diametralmente daquilo que pra mim é apenas sua opinião pessoal, baseada num conceito errôneo e não num conceito consagrado. :) EOT
  5. Desculpe, mas discordo. Seu conceito está totalmente equivocado. A programação estruturada diz respeito às estruturas de programação: controle, decisão e contagem. Se você está numa malha, como exemplificou, e sai dela, não foi feita "quebra" nenhuma de paradigma. Isso é irreal. Eu não disse que deixa de ser OOP. Apenas disse que os métodos são funções que ainda caem no conceito de programação estruturada, internamente. Note a diferença. Você está preso nesse conceito de "quebra" de paradigma. Não tem nada a ver. Aquele que te passou isso não tem a menor noção do que disse. O paradigma, seja ele qual for, é o que é. Não tem esse negócio de "quebra". Isso não existe. Quer tirar a dúvida: consulte a wikipedia.
  6. Programação não-estruturada, na acepção do termo, não existe como paradigma de programação. Na verdade, desde o tempo do guaraná com rolha, desenvolveu-se apenas três tipos de programação: linear (ou até pode-se chamar de não-estruturada, se quiser), a estruturada (também conhecida como modular, se incluirmos as definições de módulos funcionais) e a orientada a objetos. Esta última, aliás, ao contrário da crença popular, não é totalmente orientada a classes e objetos, pois seus métodos e eventos são simples procedimentos estruturados, no mais velho estilo da programação estruturada. Lamento dizer ao colega que primeiro respondeu, mas esse negócio de "quebra" de estrutura não define o paradigma. É apenas uma mera característica de um recurso nativo. Ademais, a linguagem C (e qualquer linguagem já inventada) jamais poderia existir sem essa característica.
  7. Maligno

    Biblioteca conio.h

    Arquivos com extensão .H não são bibiliotecas, mas arquivos de cabeçalho onde, entre outras coisas, se encontram os protótipos das funções utilizadas. A mensagem de erro diz que esse cabeçalho (ou header) não foi encontrado. O GCC permite que você informe um ou vários diretórios onde ele deve pesquisar. É o switch -I. À frente dele informe o caminho onde o header pode ser encontrado. Não uso muito o GCC, mas até imagino que ele deve ter alguma variável de ambiente onde se pode informar isso e tornar a compilação mais fácil. Na mensagem de erro também consta um warning sobre o retorno de main(). Essa função nunca retorna void. O retorno é sempre um int. Mas não é nada grave. Por isso que é apenas um warning. :)
  8. Existem várias formas de definir uma matriz, de vários tipos nativos ou novos, com ou sem inicialização direta. Como você não deu mais detalhes, segue um exemplo simples: int tst[1];
  9. Mas note que a vírgula não se descarta, pois as três partes do FOR (inicialização, teste e ajuste de iteração) podem conter listas, cujos ítens são separados justamente por vírgulas. Você poderia ter, por exemplo, 3 inicializações. O único porém é que na lista de expressões de teste, só vale o resultado da última expressão. E como adendo, note também que você pode deixar tudo vazio, inserindo apenas os dois ponto-e-vírgulas obrigatórios.
  10. Maligno

    duvida simples em arquivos

    Eu me referi ao código que ainda não está pronto. E esse você já tinha dito que resolveu.
  11. Maligno

    duvida simples em arquivos

    Poste o código que já fez e diga exatamente qual é a dificuldade.
  12. Esse livro traz muitos conceitos básicos que não mudaram nas demais versões do Windows. É uma boa leitura, sem dúvida. Baixe daqui a versão em inglês.
  13. Seria mais fácil ajudar se você mostrasse o código que já fez e apontasse os problemas diretamente. Se bem que nem entendi exatamente o que você quer fazer.
  14. Maligno

    Erro de compilação

    Se você se refere a cadastrar um usuário, ou algo do tipo, você terá de aprender a manipular arquivos, claro. Veja o help sobre as funções fopen(), fwrite(), fread(), fprintf(), etc.
  15. Maligno

    Erro de compilação

    Não. O que eu disse foi que consumo de memória e velocidade são preocupações válidas apenas em algumas ocasiões especiais. E que entrada de senha não é uma delas. A classe de armazenamento register nem é mais utilizada. Os compiladores atuais são otimizados suficientemente pra usarem os registradores quando for necessário e quando for possível, de forma automática. Como eu disse, o próprio compilador já faz isso. Se experimentar, provavelmente não notará qualquer diferença com ou sem esse modificador.
  16. Maligno

    Erro de compilação

    Pra um help simples, só com protótipo, descrição e um exemplo simples, eu prefiro usar o NG (Norton Guides). É bem prático, pra quem precisa disso o tempo todo de forma rápida. É só configurar um atalho. Pra quem quiser: O programa leitor (não precisa instalar - é só executar): http://pub.buzinello.com/tools/weg_expert_...ows_v1.0.15.zip Vários NG (o de C é o borland_turbo_c): http://pub.buzinello.com/index.php?d=./manuals/ng/
  17. Maligno

    Erro de compilação

    Acho que uma de suas menores preocupações é quanto tempo de CPU esta ou aquela função irá consumir. No presente contexto, isso é um dado irrelevante. Tal preocupação é válida apenas em algumas ocasiões, onde o tempo de processamente é realmente crítico. E você está longe disso. Mas a resposta é: não sei. :)
  18. Maligno

    Erro de compilação

    Se a intenção é apenas aprender, tanto faz. Uma das coisas mais chatas em senha, e agora olhando o lado prático, é quando se tira do usuário a liberdade de compor sua senha na caixa que quiser. Particularmente, eu sempre deixo isso livre e transformo tudo para caixa baixa. Daí, mais uma vez: tanto faz. Mas muita gente faz questão de manter esse padrão ridículo que diferencia maiúsculas de minúsculas. Aí sim, faz diferença e seria necessário usar strcmp().
  19. Curiosidade (não uso Linux): qual o debugger do gcc? É bom?
  20. Maligno

    Erro de compilação

    Você está fazendo a maior confusão. Parece que você quer definir uma função senha(). Não existe isso. E se fosse pra fazer isso seria FORA de main() e não dentro dela. Aí está a origem de todos os erros. Vou te dar uma forcinha: #include<stdio.h> #include<string.h> int main() { char a1[] = "senha"; char s1[15]; printf("Digite a senha: "); gets(s1); if (stricmp(a1,s1)==0) printf("Senha correta\n"); else printf("Senha incorreta\n"); } Isso deve funcionar. O #include <string.h> é necessário para informar o compilador sobre a função stricmp(). Detalhe, quando for definir uma string constante, não precisa alocar pra ela mais espaço do que ela ocupa. E como é uma string, não precisa nem informar o tamanho. O compilador saberá quanto deverá alocar de espaço. Por isso ai é definido como char a1[]. Mas observe a seqüência do código que é executado. Compare com o que você fez e veja que ficou até bem mais fácil. Espero que não seja mão-de-vaca na hora de pagar uma gelada pros amigos. :)))) Não, constante é apenas um valor qualquer, supostamente "imexível". Ocupa o que tem de ocupar de memória, como se fosse uma variável. Aliás, mais correto seria se as constantes fossem definidas com a cláusula const. No seu caso seria const char a1[] = "senha";. Com essa cláusula, se no decorrer da compilação for encontrado código que tente alterar a1, o compilador já emitirá um erro.
  21. Maligno

    Erro de compilação

    Mas que drama pra gastar memória. A memória que se exploda. Não é bom desperdiçar, claro. Mas se precisa usar, simplesmente use. É assim que funciona. Mão-de-vaca!!! :))) Não é nem questão de compensar ou não. Isso não é opcional. É mandatório. E é do jeitinho que eu disse. Você precisa, primeiro, definir essa tal "senha", provavelmente como uma constante. Depois use no teste uma função de comparação dessa tal "senha" e o valor que usuário digitar. Detalhe: regra para string ASCIIZ: o tamanho total é igual o tamanho do texto mais 1 byte pro terminador nulo. Como C é uma linguagem de nível médio, não é feita qualquer checagem de tamanho. Se você errar nisso, seu programa vai dar pau sem aviso prévio. E às vezes será muito difícil encontrar a origem do erro.
  22. Maligno

    Erro de compilação

    Não da forma direta como você pretende. É preciso usar uma função apropriada para comparar as duas strings. Você pode testar apenas o resultado dessa comparação.
  23. Maligno

    Erro de compilação

    Você não pode fazer comparações desse tipo em C. Aí você está comparando o valor de um ponteiro com alguma coisa qualquer chamada "senha", que nem foi definida. Para comparar duas strings, utilize uma função da biblioteca padrão chamada stricmp(), que especial compara sem levar em conta se é caixa alta ou baixa. Ou, se quiser diferenciar, use strcmp().
×
×
  • Criar Novo...