Bicicleta

Membros
  • Content Count

    589
  • Joined

  • Last visited

Community Reputation

0 Neutro

About Bicicleta

  1. Bicicleta

    Acesso único a classe

    E ae galera, beleza? Seguinte... Tenho uma classe que manipula um arquivo .XML e quando existem duas alterações simultâneas no mesmo, dá um erro... Por exemplo: - Cliente 1 manda abrir o arquivo; - Cliente 2 manda abrir o arquivo; - Cliente 1 altera o arquivo; - Cliente 1 salva e fecha o arquivo; - Cliente 2 altera o arquivo; - Cliente 2 "tenta" salvar o arquivo (ERRO) O erro que dá é porque o "cliente 2" abriu o arquivo junto com o "cliente 1", quando o "cliente 1" salvou o arquivo ainda era o mesmo que ele abriu, porém o "cliente 2" altera o objeto e manda salvar um arquivo que já não é mais o mesmo que ele abriu... Esse erro na verdade não atrapalha muito, porque se der erro, o cliente recebe a mensagem de que não foi possível alterar o arquivo e ele tenta novamente em seguida e consegue... Porém isso está me incomodando, andei pensando em uma alternativa e cheguei a algo: 1) Cliente 1 abre o arquivo; 2) Cliente 2 manda abrir o arquivo, porém o Cliente 1 já está conectado, então aguarda (sleep). 3) Cliente 1 altera o arquivo; 2) Cliente 2 manda abrir o arquivo, porém o Cliente 1 ainda está conectado, então aguarda (sleep). 4) Clietne 1 salva e fecha o arquivo; 5) Cliente 2 manda abrir o arquivo (o 1 já não está mais aqui, então pode abrir); 6) Cliente 2 altera o arquivo; 7) Cliente 2 salva e fecha o arquivo; Algo assim, ou seja, pra instanciar uma classe, somente se não existir ninguém com ela já instanciada (conectado), fiz alguns testes com arquivos, sessões, (BD não é possível) e não consegui nada... Fiz e refiz a lógica e código e na verdade o sleep dá uma zuada no negócio... Bom, pra resumir, alguém tem alguma idéia o que eu poderia implementar para conseguir que somente 1 pessoa use a classe por vez? PS.: Como falei, isso não interfere muito, mais tá me deixando meio cabreiro, porque as vezes tem vários processos a serem feitos antes de gravar no XML e não que seja um problema refazer eles, mais acho que uma solução mais elegante pra isso seja muito mais "elegante" (rsrsrsrsrs) Valeu!
  2. Opa... Acabei de achar a função para isso: http://www.php.net/manual/pt_BR/function.preg-match.php Valeu!
  3. Bicicleta

    PHP+IIS+ORACLE

    Dê mais detalhes... O PHP está rodando normalmente no IIS já? Você instalou no PHP o driver para se conectar no Oracle? Dá algum erro? Abraço!
  4. Olá... Estou olhando no manual do PHP mais não estou achando a função para expressão regular que após a análise da ER eu consiga pegar os valores... Por exemplo... $valor = "1589-ABCD"; $retorno = func_er("/^[0-9]{4}?\-[A-Z]{4}$/", $valor); echo $retorno[0]; // retornaria 1589 echo $retorno[1]; // retornaria ABCD Na verdade nem sei se tal função existe, espero eu que sim... A linha que preciso analisar é bem complexa, estou montando a ER, porém gostaria de saber se isso existe para saber se continuo dessa forma... Valeu!
  5. Salve... Tipo, estou tentando fazer uma coisa, mais sem sucesso até agora... Tenho uma classe, e um método, dentro desse método, queria ter outro método, afim de que esse método interno só pudesse ser chamado, chamando o método pai... Por exemplo: <?php class Visitantes { public function Registrados() { function Incluir($param) { // Faz alguma coisa return true; } function Excluir($param) { // Faz alguma coisa return true; } } } ?> Para poder usar assim: <?php $visitante = new Visitantes() $visitante->Registrados->Incluir(5); $visitante->Registrados->Excluir(5); // O que está abaixo não faria nada se fosse realmente chamado... // $visitante->Registrados; ?> É possível isso? Abraço!
  6. Olá. Estou pesquisando se através do delphi consigo editar as configurações ( about:config ) do Firefox. Alguém sabe me dizer se isso é possível? Como eu acho que não é, vou explicar meu problema. Um cliente tem um domínio que ele não quer que os funcionários dele possam acessar fora do horário comercial ou de fora dos computadores da empresa. Bloquear por horário comercial, faço direto no sistema de login do site. Porém bloquear pra somente as máquinas de dentro da empresa está mais complicado. Inicialmente pensei em fazer algo no Delphi pra alterar o UserAgent dos navegadores, e verificar através do sistema de login se o UserAgent possui uma palavra específica e permitir ou não. Pro Internet Explorer, consigo adicionar uma informação através do registro do windows. Para o Firefox, só sei como através do about:config Se alguém souber como posso editar o about:config ou então tiver alguma outra idéia, eu agradeço!!! Valeu galera!
  7. Bicicleta

    Upload com Ajax

    Exemplo do Dundas Upload: http://www.componentesasp.com.br/exemplos/...load-dundas.asp Abraço!
  8. Bicicleta

    Manupulando Strings

    Kara, fiz algo aqui, dá uma olhada: <% str_Texto = "De fato, é a articulação complexa entre todos os escritos da autora – publicados em vida e póstumos – o que permite falar em pensamento de Virginia Woolf. Afinal, ele se expressa através de uma escrita que circula entre modalidades ficcionais e não-ficcionais, históricas e filosóficas. Contudo, este pensamento não se apresenta como uma 'Filosofia', no sentido tradicional do termo. Ele se aproxima mais a um sistema complexo, devido à multiplicidade de suas linhas intensas e a seu entrelaçamento empírico com a vida. Estas características se configuram como apenas duas dentre inúmeras outras indicações para uma abordagem de inspiração deleuzeana, tal como apontarei a seguir." str_Busca = "entrelaçamento" ' Número de caracteres antes e depois. O total de caracteres será esse ' número multiplicado por 2 + o tamanho da palavra a ser procurada int_Caracteres = 25 int_Posicao = Instr(1, str_Texto, str_Busca) If (int_Posicao = 0) Then Response.Write "<p>Resultado não encontrado</p>" Else int_Ini = int_Posicao - int_Caracteres If (int_Ini <= 0) Then int_Ini = 1 int_Fim = Len(str_Busca) + (int_Caracteres * 2) Response.Write "..." & Trim(Replace(Mid(str_Texto, int_Ini, int_Fim), str_Busca, "<b>"& str_Busca &"</b>")) & "..." End If %> Não sei em que você vai usar isso, dependendo o local onde for usar (texto grande, muitos locais a pesquisar, etc) possa ficar lento. Depende em que você vai usar. Testa e modifica de acordo com sua necessidade. Abraço!
  9. Bicicleta

    Erro ao realizar query

    Tenta assim: Na variável tinha um 0 a mais, tire ele e deixe somente o valor (apesar de ele sair na conversão). E esse erro apareceu porque foi colocado o nome da variável do SQL entre parênteses. Deixe sem parenteses. Abraço!
  10. Na Video Aulas Brasil um kara lá começou a publicar uns vídeos: Iniciação a linguagem ASP – Parte 1 Operadores e controles de decisão com ASP Abraço!
  11. Bicicleta

    Duvida com ASP

    O componente não está instalado! Pra conseguir ele: http://www.serverobjects.com/products.html Ele é pago, você pode baixar e usar por um tempo sem comprar a licença. Abraço!
  12. Tenta com isso aqui: valor = 4500 valor = Left(valor, Len(valor)-2) & "." & Right(valor, 2) Caso você queira fazer a conversão pra não ter perigo vir como string, tem q trocar o ponto por virgula, tipo assim: valor = 4515 valor = CDBL(Left(valor, Len(valor)-2) & "," & Right(valor, 2)) Editado: O fercosmig postou antes. Foi mais rápido no gatilho o moço!!! Abraço!
  13. Tenta com esse outro componente: <% str_UserName = "NomeDeUsuario" str_Password = "SuaSenha" str_HostName = "EndereDoHost.no-ip.biz" str_NewIP = "1.2.3.4" Set http = Server.CreateObject("MSXML2.XMLHTTP.3.0") http.Open "GET", "http://"& str_UserName &":"& str_Password &"@dynupdate.no-ip.com/nic/update?hostname="& str_HostName &"&myip="& str_NewIP, False http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" http.Send() str_Result = http.ResponseText Set http = Nothing Response.Write "<pre>Resultado: "& str_Result &"</pre>" %> Abraço!
  14. Bicicleta

    consulta no bd

    Que banco de dados você utiliza? O que "position.absolute" faz, ou você espera que ele faça? Abraço!
  15. Kara, não sabia que isso era possível hehehee... Tenho uma conta no no-ip, criei um novo host para testar e deu certo. Segue abaixo o script: <% str_UserName = "NomeDeUsuario" str_Password = "SuaSenha" str_HostName = "EndereDoHost.no-ip.biz" str_NewIP = "1.2.3.4" Set http = Server.CreateObject("Microsoft.XMLHTTP") http.Open "GET", "http://"& str_UserName &":"& str_Password &"@dynupdate.no-ip.com/nic/update?hostname="& str_HostName &"&myip="& str_NewIP, False http.Send(str_XML) str_Result = http.ResponseText Set http = Nothing Response.Write "<pre>Resultado: "& str_Result &"</pre>" %> Se der certo, vai aparecer algo como: "Resultado: good 1.2.3.4" Aqui pra mim funcionou. Testa ai e qualquer coisa posta ai. Abraço.