Ir para conteúdo
Fórum Script Brasil

invent

Membros
  • Total de itens

    9
  • Registro em

  • Última visita

Sobre invent

invent's Achievements

0

Reputação

  1. Cara pensei mais um pouco aqui e fiz uma gambiarra.......... Bom é o seguinte, caso a pessoa vá com o mouse para fora da janela (para apertar o refresh) ele não executa o unload Caso seja digitado F5 ou Ctrl + R ele tambem desabilita o unload. Caso contrario o unload é executado Só que tem algumas falhas, caso a janela não esteja maximizada, dependendo do caminho do moude o botão [X] fechar não dispara o unload ou a pessoa consegue apertar o refresh se o mouse vier por cima. Outra coisa que acontece é que quando a janela é minimizada e depois maximizada e o mouse não passar por dentro da pagina ele habilita o unloas com o botão refresh mas vamos tentar melhorar.............mas é bem gambiarra Tá chegando perto EDITADO: Pensando melhor!....ficou com MUITAS falhas...rsrsrs........vamu tantar a idéa anerios, mas tah dificil
  2. Vamos, lá já me deparei com um problema deste e busquei algumas coisas, porem no decorrer do projeto ví que não era mais nescessario e não desenvolvi uma solução. Mas vamos tentar resolver, posso te dar algumas idéais, porem não entendo muito de Javascript mas vamos tentar. A idéia, não está completa Uma função onload executa a função se a pagina já estava aberta antes e assim agent consegue contar se é refresh ou não. bom para isso se cria um input hidden com valor nulo <script type="text/jacascript"> function verificaRefresh() { if( document.Fromulario.visitada.value == " " ) document.Fromulario.visitada.value = "1"; //foi aberta a primeira vez, e adiciona como visitada else //Pagina veio de um refresh } </script> no body <from id="Fomulario" name="Formulario"> <input type="hidden" id="visitado" mane="visitado" /> </form> OBS: Esse codigo não é meu, eu lembro dele de algum site porem não lembro o site. Cara no momento estou sem um pouco de tempo, irei pensar em outra solição. Assim vamos pensar amis, já sabemos como identificar se uma pagina veiod e um refresh ou de abriu agora.
  3. invent

    Encerrar Programa C++

    Sera que com exit(1) ele não encerra??
  4. Fala galera, Consegui resolver meu problema, apesar de ainda não conseguir tirar minha duvida do problema que estava ocorrido. O que eu fiz foi utilizar o Dev C++, para compilar o codigo, assim nem precisar registrar a DLL eu precisei.........ele rodou normal em todos os computadores que eu testei. Uma curiosidade, o meu EXE compilado no Visual C++ .NET ficou com 45,7 KB e o que eu compilei no DEV C++ ficou com uns 455KB Sera que era por cauda so .NET Framework?? Apesar de que uma das maquinas que eu testei, tinha o .NET framework 1, 2 e 3 instaldo, como no meu PC Bom se quiserem colocar esse tópico como resolvido, fiquem a vontade, apesar do meu problema ter sido resolvido, ainda não descobri o motivo..... COnclusão .NET me lascou... vlw
  5. Então desconfiei disso tambem, então fiz programas com endereço de 378, 278 e 178 tentei tambem em numero decimal.....mas ai tentei no meu pc com o endereço da porta paralela errada, o programa roda nomal, só que não faz nenhuma ação com a minha porta paralela. E o rpoblema é que eu vou precisar formatar minha maquina, e alguma coisa está me disendo que após eu formatar o programa não vai funcionar.... se tiverem mas alguam idéa.......por favor vlw
  6. Bom, antes de tudo obrigado pela ajuda....vamos aos resultados! Primeiro vou falar qual DLL o rpograma carrega, que é a "famosa" INPOUT32.DLL, que atraves dela se pode acessar a porta paralela diretamente como Winsowz 2K_XP. Fiz exatamente o que me recomendou, copiei a dll para pasta system32 e executei o comando: regsvr32.exe inpout32.dll Porem o windows me retornou a seguinte mensagem de erro: "inpout32.dll foi carregado, mas o ponto de entrada DllRegisterServer não foi localizado. Este arquivo não pode ser registrado." Tentei em 2 PC diferentes um do trabalho e outro ca faculdade, e obitive o mesmo resusltado, os dois com conta de administrador O engraçado é que eu não lembro de ter feito algo parecido no meu PC e nese o programa funciona. Estou ficando bolado....rsrs Será que você tem alguma outra idéia, toda e qualquer idéia é bem vinda vlw............
  7. Bom, eu fui meio burro e esqueci, de colocar o erro. BOm aparece a seguinte menssagem "Falha da inicialização do aplicativo devido a configuração incorreta. A reinstalação do aplicativo pode resolver o problema" Agradeço desde já qualquer ajuda. vlw
  8. Fala galera, bom vou contar meu problema. Eu escrevi um codigo em C++ para controlar a porta paralela, bom compilei o codigo e ele funcionou perfeitamente acendendo todas as luzes que eu queria no prototipo de LED´s que eu faz para porta LPT. Porem , quando fui testar meu programa nem outros computadores, o windows não quia nem iniciar o programa ele dava um erro, o mesmo erro ocorreu em mais de 10 pcs com windows XP, que é o mesmo que o meu. Eu sei que meu codigo carrega uma DLL, quando fui testar nos outros pc levei essa DLL tambem e a coloquei junto ao programa e na pasta C:\windows tambem. O que será que está dando errado???, sera que está faltando algum arquivo que meu computador possui??? +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #include "stdafx.h" #include <stdio.h> #include <iostream> #include <conio.h> #include <dos.h> //Para saida #include <windows.h> // Necessário para: LoadLibrary(), GetProcAddress() e HINSTANCE using namespace std; #define LPT1_DATA 0X378 //define o endereço da porta paralela para envio de dados #define LPT1_STATUS 0X379 //define o endereço da porta paralela leiura de status //Cria os ponteiros para armazenar o endereço das funções Int32 e Out32 da DLL typedef short (_stdcall *PtrImp)(short EndPorta); typedef void (_stdcall *PtrOut)(short EndPorta, short valor); PtrImp inportb; //Instância para a função Imp32() PtrOut outportb; //Instância para a função Out32() //Declara as funções Int32 e Out32 para as funções de retorno outportb e inportb short Inp32 (short EndPorta) { return (inportb)(EndPorta); } void Out32 (short EndPorta, short valor) { (outportb)(EndPorta,valor); } int main(int argc, char *argv[]) { //--------Procedimentos para a definir as funções de I/O----------------------------------------------------------------- HINSTANCE hLib ; hLib = LoadLibrary(_T("inpout32.dll")); // Carrega a DLL, _T() é nescessario para o Visual C++ =] if (hLib == NULL)// Verifica erro no carregamento da DLL { cout << "Erro. DLL 'inpout32.dll' não pode ser carregada\n"; return -1; } //Pega endereço da função Inp32 contida na DLL e joga em inportb. inportb = (PtrImp) GetProcAddress(hLib, "Inp32"); if (inportb == NULL) // Verifica erro na busca da função { cout << "Erro. Imposivel encontrar a função Inp32.\n"; return -1; } //Pega endereço da função Out32 contida na DLL e joga em inportb. outportb = (PtrOut) GetProcAddress(hLib, "Out32"); if (outportb == NULL) { cout << "Erro. Imposivel encontrar a função Out32.\n"; return -1; } //------------------------------------------------------------------------------------------------------------------------- int envio, leitura; // Caso os parametros sejam incorretos encerra o programa, o programa permite 1 parametro somente if (argc < 2) { cout << "O programa aceita somente de 0 a 256\n"; cout << "Modo de uso: " << argv[0] << " <parametro de byte> \n"; return 1; } // Converte o parametro de string para inteiro envio = atoi(argv[1]); outportb(LPT1_DATA, envio); cout << envio; return 0; } OBS: Uso Visual c++ Agradeço desdejá a ajuda
×
×
  • Criar Novo...