Jump to content
Fórum Script Brasil

Bicicleta

Membros
  • Content Count

    589
  • Joined

  • Last visited

Everything posted by 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.
  16. Bicicleta

    mySql com asp

    Onde você cria o objeto rsBusca ? Ou você está postando código pela metade, ou tá fazendo errado não na linha que citou, mais antes. Segue um exemplo do que você quer fazer: <% Set Conexao = Server.CreateObject("ADODB.Connection") Conexao.ConnectionString = "DRIVER={MySQL ODBC 3.51 DRIVER};SERVER=127.0.0.1;DATABASE=NomeDoBD;UID=NomeUsuario;PWD=MinhaSenha;" Conexao.Open Set rsBusca = Server.CreateObject("ADODB.Recordset") rsBusca.ActiveConnection = Conexao rsBusca.CursorLocation = 3 If rsBusca.State = 1 Then rsBusca.Close rsBusca.Open "SELECT * FROM tabela" If (rsBusca.RecordCount > 0) Then Response.Write "Total de registros maior que zero" Else Response.Write "Total de registros igual a zero " End If rsBusca.Close Set rsBusca = Nothing Conexao.Close Set Conexao = Nothing %> falou.
  17. Bicicleta

    mySql com asp

    Não. MySQL é bem mais rápido que o Access. Isso porque o MySQL é um servidor de BD, diferente do Access. E o MySQL você não vai usar exatamente igual o Access. Algumas coisas mudam. Mas pelo jeito, você não instalou o Driver ODBC e não citou isso... hehehehehe Segue o link pra você baixar e instalar ele: http://dev.mysql.com/downloads/connector/odbc/5.1.html Faça o download, instale, e tente. Se tiver algum erro, tente ser mais específico postando uma parte do código, com a linha do erro e a mensagem de erro. Abraço.
  18. Bicicleta

    mySql com asp

    Com o ASP não tem como se conectar ao MySQL sem o driver ODBC. O PHP tem uma função nativa pra isso, ASP não. Atualmente existem duas versões do driver (3.51 e 5.1 - claro que a última é sempre a mais recomendável). Segue abaixo as strings de conexão: Mas, não entendi o motivo de não querer se conectar através do driver? Algum problema específico? Abraço.
  19. Bicicleta

    Ler Numero hd

    Não. É impossível você pegar algum dado da máquina do cliente usando somente VbScript ou qualquer outra linguagem dinâmica (salvo para os dados que vem através das variáveis de servidor como a Andreia citou). Abraço.
  20. Bicicleta

    Ler Numero hd

    Na máquina do cliente você não vai conseguir usando qualquer linguagem server side. Para isso é preciso algo que rode na máquina cliente. Um arquivo .vbs daria usando o FSO como no exemplo: Set fso = CreateObject("Scripting.FileSystemObject") Set drvDrive fso.GetDrive(left(fso.GetDriveName("c:\"), 2)) lSerial = drvDrive.SerialNumber Set drvDrive = Nothing Set fso = Nothing O script acima deve funcionar tanto num arquivo .VBS quanto num arquivo .ASP, porém um arquivo .VBS é executado no computador do cliente, arquivo .ASP é em um servidor, nesse caso, resultando no serial do HD do servidor e não do cliente, que é o que te interessa. Fonte: http://www.linhadecodigo.com.br/Dica.aspx?id=781 Abraço.
  21. Bicicleta

    Classes

    É... Mas usar o Dictionary é um tanto quanto fazer gambiarra numa coisa que já foi feita dessa forma. Como no artigo que postei, podeia ser algo Classe que chama outra classe e tal, mas no meu ver é instanciar duas vezes o mesmo objeto pra uma questão de organização... Mas... Valeu!
  22. Bicicleta

    Classes

    Olá. Estava pensando aqui e me surgiu uma questão que não pude achar uma solução. Para criar uma classe com métodos, faço da seguinte forma: <% Class nomeDaClasse Public Function ParametroAdd(pName, pValue) ' Adiciona um parâmetro a algum lugar. End Function Public Function ParametroDelete(pName) ' Excluir um parâmetro de algum lugar End Function Public Function ParametroGerar() ' Gera a lista de parâmetros End Function End Class Set objeto = New nomeDaClasse objeto.ParametroAdd("Parametro1", "Valor do Parâmetro 01") objeto.ParametroAdd("Parametro2", "Valor do Parâmetro 02") objeto.ParametroDelete("Parametro2") objeto.ParametroGerar() Set objeto = Nothing %> A dúvida que me surgui: Ao invés de chamar as funções: ".ParametroAdd", ".ParametroDelet" e ".ParametroGerar" por exemplo, chamar da seguinte forma: objeto.Parametro.Add(...) objeto.Parametro.Delete(...) objeto.Parametro.Gerar() Ou seja, algo como função dentro de função... objeto seria a instância da classe, Parametro o objeto, Delete a função... Algo assim!!!! Deu pra entender? Alguém tem idéia de como poderia fazer isso??? Valeu! '-- Editado: --------------------------------------- Achei essa matéria no imasters: http://imasters.uol.com.br/artigo/11514/as...em_aspvbscript/ A questão é que não poderia repetir nome de funções para objetos diferentes... Por exemplo: objeto.Parametro.Add("...") objeto.Lista.Add("...") Acho que seria algo como classe dentro de classe, que creio eu não ser possível no VbScript... Alguém tem alguma sugestão? Valeu!
  23. O componentes instanciado não existe. Verifique com seu servidor qual componente de e-mail eles disponibilizam e faça as alterações. Abraço!
  24. Talvez seja possível utilizando o InnoSetup, embutindo o programa de instalação do Mysql e o executando no modo silencioso. Porém faz algum tempo já que não mexo com o InnoSetup, e nunca fiz isso com ele. InnoSetup IsTool - Ferramenta gráfica para trabalhar com InnoSetup Tenta com esses dois programas. Creio que talvez consiga algo. Não ajudo mais porque como falei, nunca fiz isso antes e faz algum tempo já que não faço nada com o InnoSetup. Abraço.
  25. Faça um IF no campo e verifique a extensão, se for .swf, insira o flash, se não insira a imagem, exemplo: <% Set rs = Conexao.Execute("SELECT url_banner FROM banners WHERE id = 1") str_UrlBanner = LCase(rs("url_banner")) If Right(str_UrlBanner, 4) = ".swf") Then ' Imprime aqui a tag HTML para inserir um FLASH Else ' Imprime aqui a tag HTML para inserir uma IMAGEM End If rs.Close Set rs = Nothing %>
×
×
  • Create New...