Ir para conteúdo
Fórum Script Brasil

kuroi

Membros
  • Total de itens

    7.184
  • Registro em

  • Última visita

Tudo que kuroi postou

  1. kuroi

    Criando um site

    mude o nome da home.htm pra home.php (e depois mude tb no codigo). se você não puder mudar o endereco, então você vai ter q configurar o apache pra q o php seja executado tb nos arquivos .htm. acredito q se você incluir, no mesmo diretorio onde esta a home.htm, um arquivo chamado .htaccess, q contenha a seguinte linha, deve resolver: AddType application/x-httpd-php .htm
  2. kuroi

    Abrindo arquivos no VB

    use a funcao Shell() ou a ShellExecute().
  3. naldo, não sei exatamente qual parte esta causando o erro, mas vi alguns problemas em seu codigo. essa parte aqui: void Menu(Pilha* p, int n); ela deveria estar antes de abrir o int main(). veja como você fez com o void InicializarPilhas(void);. acontece q a leitura dos codigos em c pelo compilador é sequencial. ou seja, você não pode chamar, na linha 10, uma funcao q só foi declarada na linha 20. a funcao q você vai chamar tem q aparecer no codigo antes do momento em q você vai chama-la, se não o compilador não sabe q ela existe. mtos programadores não gostam de inserir todo o codigo da funcao antes de abrir o int main() porque em codigos muito gdes, pode ficar dificil de se encontrar. então, eles declaram apenas o prototipo da funcao antes do main, somente pro compilador saber q ela existe. e então eles colocam o codigo dela no final. se você reparar, vai ver q foi exatamente assim q você fez com a funcao InicializarPilhas(). sendo assim, você deveria colocar o prototipo tb da funcao Menu() tb antes de abrir o int main(). quanto as demais funcoes (Empilha(), Desempilha(), etc), não teria exatamente necessidade se você só chama-las de dentro do Menu() (porque elas já estao declaradas antes do Menu()), então quando chegar la o compilador deve reconhece-las. mas caso você queira tornar essas funcoes "enxergadas" pelo programa todo, ou talvez pra ter um controle melhor, ai declare tb os prototipos delas antes do main(). assim como você fez com a InicializarPilhas(). e outra coisa. não existe a necessidade de passar a pilha por parametro para o Menu(). se o menu vai usar as tres pilhas, acesse-as diretamente, e por q passar somente uma?? tb não sei se teria a necessidade do parametro n. declare o n dentro do Menu() mesmo, assim como você fez com char op;. fora isso, dentro de ListaPilhas(), você tb não precisava passar a pilha por parametro, porque ele vai usar as 3 pilhas q já existem. veja q você passa só uma por parametro e checa o topo dela 3 vezes. o certo devia ser checar o topo da propria pilha q você vai listar em cada um dos for. veja como fica o programa depois dessas alteracoes, e qualquer coisa poste ai.
  4. nossa, eu postei o post de cima com pressa e agora vim conferir com mais calma e vi q só escrevi besteira. realmente não parece ser exatamente o mesmo problema do outro tópico. e o fgets() é usado pra ler o arquivo e não escrever como eu disse antes (não sei o q eu tava pensando...), e o codigo de ler o arquivo você já postou. morsil, qual modo você esta usando pra abrir o arquivo com o fopen()?? se você estiver abrindo como "r", tente usar "rb" (abre para leitura como binario). no linux isso não deveria fazer diferenca, mas no windows sim.
  5. muito estranho, nunca vi isso... qual exatamente a configuracao do sistema (qual versao do windows, quantidade de memoria, etc)?? é sim, acho q o codigo seria mais ou menos esse: Dim xapplication, xarquivo, xplanilha xapplication.Visible = False 'a planilha é aberta, mas não fica visivel pro usuario Set xapplication = CreateObject("Excel.Application") Set xarquivo = xapplication.Workbooks.Open("C:\Caminho\Arquivo.xls") Set xplanilha = xarquivo.Worksheets(1) '1 é a primeira planilha do arquivo Label1.Caption = xplanilha.Range("A1").Value 'valor da celula A1 Label2.Caption = xplanilha.Range("B1").Value 'valor da celula B1 xa.Quit 'quando termina, fecha o excel[/code] mas tb é possivel acessar o excel como se fosse um banco de dados.
  6. morsil, agora q você disse q funciona no linux mas não no windows, me lembrei desse tópico aqui: http://scriptbrasil.com.br/forum/index.php?showtopic=149516 se você tiver usando o fgets() na hora de criar o arquivo, possivelmente pode ser o mesmo problema q comentei no meu 3 post daquele tópico, quando a string ficar muito grande.
  7. o q é um numero perfeito??
  8. pra calcular Ln(), use a funcao Log(): http://scriptbrasil.com.br/forum/index.php?showtopic=94555 a parte de piscar não sei direito. você ta usando o eventos MouseMove(), etc??
  9. lendo um post o MrMalJ, descobri q existe uma funcao chamada Nz(), q simplifica aquele iif() q passei e q teria me ajudado muito nesses ultimos 7 anos, se eu a tivesse conhecido antes. mas por incompetencia, eu a ignorava completamente... a unica desvantagem q encontrei nessa funcao é q ela converte o campo pra string, o q deve atrapalhar quando for pra trabalhar com numeros. sendo assim, vai ser necessario fazer uma conversao depois de utiliza-la: SELECT CDbl(Nz(SUM(Metragem), 0)) As VInd From Tabela WHERE Data=#" & DT & "# AND Setor='" & ST & "' AND Tipo='Índigo'
  10. kuroi

    erro em c

    e faca o mesmo pra todas as outras funcoes.
  11. kuroi

    erro em c

    então poste o codigo
  12. kuroi

    erro em c

    possivelmente porque as funcoes não estao definidas. onde esta o codigo do fila_imprime()?? se estiver em outro arquivo, inclua-o no programa principal.
  13. kuroi

    Números complexos

    o int main() só é executado uma vez. desde o { ate o }. você tentar abrir { } de novo depois de ele já ter acabado vai resultar em erro mesmo. alem de q adicionar um return diretamenteo dentro do main() vai terminar a execucao do programa.
  14. hum se você declarar o parametro p como Dispositivo*, na hora q o parametro ramo for passado, p vai apontar pra mesma regiao de memoria q ramo, mas sera ainda uma variavel diferente. ou seja, dois ponteiros distintos apontando pro mesmo espaco. quando você chama o new para o p, ele aloca um novo espaco e aponta o p para la. mas o ramo continua apontando o mesmo espaco anterior. entenda q no caso você quer passar um ponteiro e quer q ele proprio seja alterado dentro da funcao. sendo assim, o parametro deveria ser um ponteiro de ponteiro. então, declare p como Dispositivo**. na hora de passar o parametro, faca: realoqueDispositivo(&ramo[i], aux); e pra acessar o endereco, faca: *p = new Diodo; (*p)->setCorrente(1); (*p)->setCorrente(1);[/code]
  15. kuroi

    Chamar programa em C

    isso, adicione esse include. pra chamar a funcao: ShellExecute(NULL, "open", "C:\\programa.exe", NULL, NULL, SW_SHOWNORMAL);
  16. kuroi

    Chamar programa em C

    use a funcao ShellExecute() do windows.h.
  17. kuroi

    View atualizável

    hum, as regras devem ser mais ou menos essas q estavam no link, com algumas mudancas de banco pra banco. no geral, o sgbds menores costumam ter mais restricoes, mas isso tb não é regra.
  18. hum, eu acho q deve ser algum problema na hora de escrever o arquivo q esta corrompendo os dados. como você faz pra escreve-lo?? lembre-se tambem q a propriedade nome, declarada com 20 posicoes, não pode passar de 19 caracteres, pois é necessario um caracter a mais pra guardar o valor 0 (final de string). ou seja, se em alguma struct o nome tiver um texto de 20 caracteres, é possivel q ocorram erros na hora da leitura, mas não tenho certeza se causariam esse efeito...
  19. tenho, é aquele la de cima. multiplique esse resultado por * 24 * 60 * 60 e passe praquela funcao. mas pra mim, isso deu 391:36:00 e não 445:00.
  20. você consegue ler os elementos de mesmo id dentro de um for, mas não é certo por o mesmo id pra objetos diferentes. você pode por o mesmo name pra objetos input q se tratem do mesmo campo (varios checkbox, radio, ou botoes por exemplo), mas o id é uma identificacao unica de cada elemento e cada tag aberta deveria ter o seu proprio id, não pode se repetir: http://www.w3schools.com/tags/att_standard_id.asp
  21. o id deve ser unico pra cada elemento. mude os ids das imagens de modo q eles não se repitam e ai você vai conseguir acessar pelo document.getElementById() mesmo.
  22. o evento Label1_click só vai acontecer mesmo no clique do label. se você quer q o codigo aconteca quando ele digitar algo no text box, faca no Text1_Change (de um duplo clique no textbox na janela de design para chama-lo) ou ainda no Text1_Validate (q acontece depois q ele tirar o foco do textbox).
  23. hum... não. ai q ta o segredo heheh. veja a struct: typedef sctruct pilha { int itens[MAX]; //Guarda os itens int tos; //Guarda a quantidade de itens };[/code] note q eu já declarei o tos dentro da struct, justamente pra fazer uma associacao melhor. ou seja, você não precisa declarar de novo, tos1, tos2 e tos3. porque já estao dentro da pilha. ou seja, quando eu declarei isso aqui: [code]pilha pi1, pi2, pi3, pi4; eu já declarei os itens da pilha e o contador de itens (tos) de uma vez. ai assim, quando você for passar a pilha por parametro, você passa somente a struct e já vao os itens e o contador juntos. assim, você não tem q passar os dois parametros pra funcao. exemplo, imagina q vc, por engano, acaba mandando empilhar a pilha pi1, mas mas passa o tos2 (contador de indices da pi2) como parametro. ai você ferra o programa todo, por um detalhe minusculo q você pode acabar gastando horas pra perceber. alem de q com a struct, o codigo fica muito menor, mais organizado e facil de mexer. então pra inicializar com 0, como eu estava falando, você faz isso (dentro do int main()): pi1.tos = 0; pi2.tos = 0; pi3.tos = 0; pi4.tos = 0;[/code] a razao de isso ser necessario é q a pilha deve comecar vazia, ou seja com 0 elementos. então você tem q especificar q tem um 0 la dentro, porque quando a variavel é alocada, o valor dela vai ser o q estava no espaco de memoria q ela vai ocupar. ou seja, pode ser qualquer coisa. se você não especificar q ele tem q comecar com 0, você vai compremeter o resto do programa. você poderia fazer uma funcao q fizesse esse empilhamento em varias pilhas. mas o melhor seria q ela propria usasse uma funcao de empilhamento generico pra cada pilha. de uma olhada naquela funcao de empilhamento q eu passei. aquela seria a funcao padrão q costumamos usar sempre q trabalhamos com pilhas. assim, fica mais facil pra manipular cada pilha isoladamente. imagina q você fosse fazer uma funcao q empilhe quatro pilhas de uma vez direto no codigo da propria funcao. você ia ter q colocar aquele codigo 4 vezes. ia ser um codigo muito maior, q ocuparia mais espaco na memoria, mais dificil de ser editado e, se você fizesse alguma alteracao na sua estrutura da pilha, ou se por qualquer outro motivo você precisasse alterar o codigo do empilhamento, você precisaria alterar o codigo 4 vezes. ai você esquece 1 pequeno detalhe em um deles e ai já viu ne... ou seja, você pode fazer uma funcao pra empilhar as 4 de uma vez. mas o melhor é q todas elas facam o empilhamento a partir de um codigo semelhante aquele q eu passei. exemplo: [code]void EmpilhaQuatroPilhas(pilha *p1, pilha *p2, pilha *p3, pilha *p4, [outros parametros q você quiser]) { Empilha(&p1, valor1); Empilha(&p2, valor2); Empilha(&p3, valor3); Empilha(&p4, valor4); //e ponha outros codigos q você queira acrescentar } ou seja, aquele codigo grandao q você fez, ficaria muito menor se você deixasse uma funcao apenas pro empilhamento de uma unica pilha, certo??
×
×
  • Criar Novo...