Jump to content
Fórum Script Brasil

anabon

Membros
  • Content Count

    57
  • Joined

  • Last visited

Community Reputation

0 Neutro

About anabon

Recent Profile Visitors

1130 profile views
  1. Bom dia Caros, Primeiro quero pedir desculpas caso este poste esteja no lugar errado, primeira vez postando linguagem web aqui. Então ... preciso desenvolver um playlist onde o usuário escolha o gênero que deseja e este play percorra a pasta tocando as músicas em sequencia até o ultimo áudio da pasta ou até que o usuário interrompa esta execução. O que consegui até agora foi um play onde ele executa uma sequencia automática, porém as músicas executadas são todas setadas no HTML, queria uma maneira de fazer um "WHILE" ou algo parecido para que ele leia e execute até que termine. Desde já agradeço imensamente que puder me ajudar!!!! Segue abaixo o que consegui até agora!!! Estou usando HTML, JS e CSS ... Obs: este loop pode ser em js ou php <!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="css/estilo.css"> </head> <body> <div class="example"> <audio id="audio" preload="auto" tabindex="0" controls="" type="audio/mpeg"> <source type="audio/mp3" src="Music/01.mp3"> Sorry, your browser does not support HTML5 audio. </audio> <ul id="playlist"> <li class="active"><a href="Music/02.mp3">Ravel Bolero</a></li> <li><a href="Music/03.mp3">Moonlight Sonata - Beethoven</a></li> <li><a href="Music/04.mp3">Canon in D Pachabel</a></li> <li><a href="Music/05.zip">patrikbkarl chamber symph</a></li> </ul> <script type="text/javascript"> var audio; var playlist; var tracks; var current; init(); function init(){ current = 0; audio = $('audio'); playlist = $('#playlist'); tracks = playlist.find('li a'); len = tracks.length - 1; audio[0].volume = .10; audio[0].play(); playlist.find('a').click(function(e){ e.preventDefault(); link = $(this); current = link.parent().index(); run(link, audio[0]); }); audio[0].addEventListener('ended',function(e){ current++; if(current == len){ current = 0; link = playlist.find('a')[0]; }else{ link = playlist.find('a')[current]; } run($(link),audio[0]); }); } function run(link, player){ player.src = link.attr('href'); par = link.parent(); par.addClass('active').siblings().removeClass('active'); audio[0].load(); audio[0].play(); } </script> </body> </body> </body> </html>
  2. anabon

    ACBr SAT

    Boa tarde, Obrigada Jhonas por me responder, realmente estou com dificuldade nesse laços de repetição, corrigi o codigo em parte deu certo, Esse while not com o filter do data set utilizo em varias partes e sempre me deu o resultado que busco. Porém nesta parte do codigo ele só me retorna o ultimo registro . Ex: x- salada X - Bacon ele me retorna X_ Bacon X-Bacon Já tentei utilizar um clientdataset.firts antes do EOF, porém não obtive resultado .... Agradeço imensamente que puder me ajudar Obrigada.. COdigo que estou utilizando: Loops := 1; For A := 0 to loops do // Ajuste aqui para vender mais itens begin with Det.Add do begin nItem := A; Frmfinalizar_Venda.ClientDataSet2.Open; Frmfinalizar_Venda.ClientDataSet2.Filter := '[n_pedido] = ' + QuotedStr(FrmVenda_Balcao.lblpedido.Caption); Frmfinalizar_Venda. ClientDataSet2.Filtered := True; // ativa o filtro Frmfinalizar_Venda.ClientDataSet2.First; while not Frmfinalizar_Venda.ClientDataSet2.Eof do BEGIN Prod.cProd := Frmfinalizar_Venda.ClientDataSet2.FieldByName('COD_PRODUTO').AsString; Prod.cEAN := '6291041500213'; Prod.xProd := Frmfinalizar_Venda.ClientDataSet2.FieldByName('PRODUTO').AsString; Frmfinalizar_Venda.ClientDataSet2.Next; END; Frmfinalizar_Venda.ClientDataSet3.Open; Frmfinalizar_Venda.ClientDataSet3.Filter := '[cod_produto] = ' + QuotedStr(Frmfinalizar_Venda.ClientDataSet2.FieldByName('cod_produto').AsString); Frmfinalizar_Venda.ClientDataSet3.Filtered := True; // ativa o filtro while not Frmfinalizar_Venda.ClientDataSet3.Eof do begin prod.NCM := Frmfinalizar_Venda.ClientDataSet3.FieldByName('NCM').AsString; Prod.CFOP := Frmfinalizar_Venda.ClientDataSet3.FieldByName('cfop').AsString; Prod.uCom := Frmfinalizar_Venda.ClientDataSet3.FieldByName('unidade_medida').AsString; Frmfinalizar_Venda.ClientDataSet3.Next; end; while not Frmfinalizar_Venda.ClientDataSet2.Eof do BEGIN Prod.qCom := Frmfinalizar_Venda.ClientDataSet2.FieldByName('QUANTIDADE').AsInteger; Prod.vUnCom := Frmfinalizar_Venda.ClientDataSet2.FieldByName('VALOR_UN').AsFloat; Prod.indRegra := irTruncamento; Prod.vDesc := StrToCurr(Frmfinalizar_Venda.txtdesconto.text); Frmfinalizar_Venda.ClientDataSet2.Next; END;
  3. anabon

    ACBr SAT

    Boa noite, Consegui em partes com o seguinte código: For A := 0 to loops do // Ajuste aqui para vender mais itens Loops := Loops + A; begin with Det.Add do begin nItem := A + (A * 0); WHILE NOT Frmfinalizar_Venda.ClientDataSet2.Eof DO BEGIN Prod.cProd := Frmfinalizar_Venda.ClientDataSet2.FieldByName('COD_PRODUTO').AsString; Prod.cEAN := '6291041500213'; Prod.xProd := Frmfinalizar_Venda.ClientDataSet2.FieldByName('PRODUTO').AsString; Frmfinalizar_Venda.ClientDataSet3.Open; Frmfinalizar_Venda.ClientDataSet3.Filter := '[cod_produto] = ' + QuotedStr(Frmfinalizar_Venda.ClientDataSet2.FieldByName('cod_produto').AsString); Frmfinalizar_Venda.ClientDataSet3.Filtered := True; // ativa o filtro while not Frmfinalizar_Venda.ClientDataSet3.Eof do begin prod.NCM := Frmfinalizar_Venda.ClientDataSet3.FieldByName('NCM').AsString; Prod.CFOP := Frmfinalizar_Venda.ClientDataSet3.FieldByName('cfop').AsString; Prod.uCom := Frmfinalizar_Venda.ClientDataSet3.FieldByName('unidade_medida').AsString; Frmfinalizar_Venda.ClientDataSet3.Next; end; Mas ele só me traz o ultimo item ... por exemplo: X - Salada 15,00 X - Bacon 20,00 --------------------------------------------------------------------- Ele só emite o X-Bacon .... Mas uma vez agradeço muito quem puder me ajudar
  4. anabon

    ACBr SAT

    Boa noite Jhonas, Obrigada pela atenção. Já usei o black point ... dessa maneira como esta ele sai apenas um item, o que quero é Emitir mais que um ... Tentei da seguinte maneira Loops := 0; For A := 0 to loops do // Ajuste aqui para vender mais itens Loops := Loops + A; begin with Det.Add do begin nItem := A + (A * 3); WHILE NOT Frmfinalizar_Venda.ClientDataSet2.Eof DO BEGIN Prod.cProd := Frmfinalizar_Venda.ClientDataSet2.FieldByName('COD_PRODUTO').AsString; Prod.cEAN := '6291041500213'; Prod.xProd := Frmfinalizar_Venda.ClientDataSet2.FieldByName('PRODUTO').AsString; Frmfinalizar_Venda.ClientDataSet3.Open; Frmfinalizar_Venda.ClientDataSet3.Filter := '[cod_produto] = ' + QuotedStr(Frmfinalizar_Venda.ClientDataSet2.FieldByName('cod_produto').AsString); Frmfinalizar_Venda.ClientDataSet3.Filtered := True; // ativa o filtro while not Frmfinalizar_Venda.ClientDataSet3.Eof do begin prod.NCM := Frmfinalizar_Venda.ClientDataSet3.FieldByName('NCM').AsString; Prod.CFOP := Frmfinalizar_Venda.ClientDataSet3.FieldByName('cfop').AsString; Prod.uCom := Frmfinalizar_Venda.ClientDataSet3.FieldByName('unidade_medida').AsString; Frmfinalizar_Venda.ClientDataSet3.Next; end; Mas o retorno que tenho no xml é o seguinte: </dest> <det nItem="4"> <prod> <cProd>3</cProd> <cEAN>6291041500213</cEAN> <xProd>X BACON</xProd> <NCM>19022000</NCM> <CFOP>5405</CFOP> <uCom>UN</uCom> <qCom>1.0000</qCom> <vUnCom>20.00</vUnCom> <indRegra>A</indRegra> <obsFiscoDet xCampoDet="campo"> <xTextoDet>texto</xTextoDet> </obsFiscoDet> </prod> <imposto> <vItem12741>2.40</vItem12741> <ICMS> <ICMSSN102> <Orig>0</Orig> <CSOSN>102</CSOSN> </ICMSSN102> </ICMS> <PIS> <PISSN> <CST>49</CST> </PISSN> </PIS> <COFINS> <COFINSSN> <CST>49</CST> </COFINSSN> </COFINS> </imposto> <infAdProd>Informacoes adicionais</infAdProd> </det> <total> <vCFeLei12741>1.23</vCFeLei12741> </total> <pgto> <MP> <cMP>01</cMP> <vMP>50.00</vMP> </MP> </pgto> </infCFe> </CFe> ) 27/02/18 00:32:41:600 - Gravando XML Venda enviado: C:\tdbfastfood\Win32\Debug\Enviado\29299698000170\CFe\2018\02\27\AD20180227003241-663874-env.xml 27/02/18 00:32:42:328 - NumeroSessao: 663874 - Resposta:663874|06010|1019|Numeração dos itens não é sequencial crescente|| 27/02/18 00:32:42:331 - EACBrSATErro - Nenhum CFe carregado na memória Desde já agradeço muito que puder me ajudar...
  5. anabon

    ACBr SAT

    Boa noite pessoal, Mais um vez peço a ajuda de vocês.... Estou adaptando o SAT em meu sistema, utilizando DELPHI + ACBr SAT tudo lindo maravilhoso, até tentar emitir mais de um item. Na parte mais simples do código não sei o que fazer .... já tentei de tudo ... quando não pega somente o ultimo item, da erro de somatória de item ... aparece na tag nitem uma contagem tipo 34. Desde já peço desculpas se for muito iniciante a solução, mas realmente estou batendo a cabeça... Uso Delphi RAD 10.2, banco firebirb. Segue abaixo parte do codigo que acredito que esteja o erro. Desde já agradeço imensamente quem puder me ajudar Loops := max(Trunc(FrmConfig_SAT.seItensVenda.Value / 3)-1, 0); ClientDataSet2.Open; ClientDataSet2.Filter := '[n_pedido] = ' + QuotedStr(FrmVenda_Balcao.lblpedido.Caption); ClientDataSet2.Filtered := True; // ativa o filtro For A := 0 to loops do // Ajuste aqui para vender mais itens begin with Det.Add do begin nItem := 1 + (A * 3); WHILE NOT ClientDataSet2.Eof DO BEGIN Prod.cProd := ClientDataSet2.FieldByName('COD_PRODUTO').AsString; Prod.cEAN := '6291041500213'; Prod.xProd := ClientDataSet2.FieldByName('PRODUTO').AsString; ClientDataSet3.Open; ClientDataSet3.Filter := '[cod_produto] = ' + QuotedStr(ClientDataSet2.FieldByName('cod_produto').AsString); ClientDataSet3.Filtered := True; // ativa o filtro while not ClientDataSet3.Eof do
  6. anabon

    Delphi/Android

    Boa tarde Jhonatas Obrigada pela pronta vontade em responder, mas não estou usando o servidor iis, criei um servidor datasnap Rest 1 -New - outrs - DatasnapReset application - stalone alone application 2- VCL application 3- Escolho a porta 4 - opções escolhidas( Servs Methos Class, Saple WEB Fils, Mobile Conectores) 5 - TDataModule (para conectar o banco firebird utilizo (FDConection, FDQuery, FDMemtable1, FDPhysFBDriverLink)) * Assim que crio o servidor/ único código que coloquei function TServerMethods1.ListarCliente(Cod: String): TFDJsonDatasets; begin FDQuery1.Close; FDQuery1.SQL.Clear; FDQuery1.SQL.Add('select *from cadastro'); FDQuery1.Open(); Result := TFDJsonDatasets.create(); TFDJSONDataSetsWriter.ListAdd(Result, FDQuery1); end; *** Para criar o app cliente ****** 1 - News - outrs - DatasnapReset Client Modulo 2 - Remote Server 3 - Datasnap Alone Server 4 - Hostname - Ip minha maquina 5 -coloco a mesma porta do servidor Já no mobiel utilizo (FDMemTable, FDStanStorageBinLink) codigo em apena um button procedure TForm1.SB_REFRESHClick(Sender: TObject); var RetCliente : TFDJsonDataSets; ItemAdd : TListViewItem; begin ShowMessage('OLÁ MUNDO'); if ClientRest = nil then ClientRest := TServerMethods1Client.Create(ClientModule1.DSRestConnection1); RetCliente := ClientRest.ListarCliente (''); Assert (TFDJSONDatasetsReader.GetListCount(RetCliente) = 1); FDMemTable.Close; FDMemTable.AppendData(TFDJSONDataSetsReader.GetListValue(RetCliente, 0)); FDMemTable.First; ListView1.Items.Clear; while not FDMemTable.Eof do begin ItemAdd := ListView1.Items.Add; ItemAdd.Text := FDMemTable.FieldByname ('nome').AsString; ItemAdd.Detail := FDMemTable.FieldByname('cod').Asstring; FDMemTable.Next; End; FDMemTable.Close; end; Grata quem puder me ajudar Ana Bon
  7. anabon

    Delphi/Android

    Bom dia Galera Estou fazendo um sistema delphi - android de teste ... Acompanhei um tutorial e criei um servidor datasnapREST e conectei o banco firebird nele, criei uma nova aplicação desta x android e na hora de conectar o app ao servidor ... ele me da o erro. HTTP/ 1.1 500 INTERNAL SERVER ERROR Já pesquisei diversas vez na internet mas não consigo solucionar este erro .... Se aguem poder me ajudar, desde já agradeço Grata Ana Bon
  8. Boa tarde amigo.... Obrigada pela resposta, é só uma determinada pasta, o componente TOpenDialog também não funcionou, pois a rede é externa, acontece a mesma coisa do codigo que postei acima. Grata
  9. Boa tarde pessoal, Mais uma vez necessito do auxilio de vocês. Estou desenvolvendo um pequeno sistema de sincronização em delphi 10.2, tudo lindo e maravilhoso se estou em rede local. Porém o caso é que preciso localizar um diretório em uma rede externa. EX: estou no ip: 191.x.xx.xxx e a pasta está no ip :164.x.xx.xxx, para abrir o diretorio utilizo o seguinte codigo: if SelectDirectory('Selecione uma pasta', 'xxx.x.xx.xxx' , selDir) then txtorigem.Text := selDir; onde os "x" representam o IP da maquina a qual tenho que acessar o diretorio. Quando abro o diretorio e vou em rede não me aparece nada.Alguém teria uma ideia de como sanar esta questão... Desde de já agradeço quem puder me ajudar Grata
  10. Gratidão amigo resolvido.... Liberei o arquivo . sac que eu precisava copia e verifiquei se o programa estava aberto por um exe principal ... Muito obrigada!!!!!!! O Adm pode finalizar..
  11. Obrigada, mais uma vez .... deu certinho ... menos para um determinado arquivo .... no inicio do código verifico se o arquivo principal esta sendo utilizado para isso uso if NOT FileOpen('C:\viennas\PARS.SAC',fmOpenReadWrite) = 0 then porém mesmo com ele fechado quando a copia se inicializa a mensagem que recebo do windows é que ele esta aberto pelo meu exe (do delphi). Já tentei diversas formar de fechar o mesmo, e até da um free e refresh no form, mas de nada me adianto segue em anexo a menssagem recebida pelo windows... Mas uma vez desde já agradeço!!!!
  12. Muito obrigada Leo_Cj, deu certo...... Agora tenho outras duas duvidas.... 1) alguns dos arquivos que estou copiando tem attrib, coloquei uma linha chamando um arquivo .bat que tira o attrib para copia (attrib -a *.*), mas de nada adiantou, tem alguma forma de verificar e tirar estes atrrib antes da copia? 2) Quando a copia começa o windows avisa que preciso de permissão para copiar os arquivos e também que estes arquivos já existem, existe uma maneira em que eu possa transformar isso para mais automático sem a interação do usuário? Desde já agradeço imensamente
  13. Olá boa tarde galera .... Estou trabalhando em um pequeno projeto de sincronização no delphi rad 10.2, para copiar os arquivos estou utilizando o comando PChar, porém tenho três extensões diferente que desejo copiar, mas meu código copia apenas um... não sei mais o que fazer para sanar esta questão. Se alguém puder ajudar, desde já agradeço. Segue abaixo o código que estou utilizando para fazer as copias... FillChar(Dados,SizeOf(Dados), 0); with Dados do begin wFunc := FO_COPY; pFrom := PChar('C:\PASTA_ORIGEM\*.CON'); pFrom := PChar('C:\PASTA_ORIGEM\*.SAC'); pFrom := PChar('C:\PASTA_ORIGEM\*.VIX'); pTo := PChar(Edit1.Text); fFlags:= FOF_ALLOWUNDO; mmoAlterados.Text; END; end; SHFileOperation(Dados); mmoAlterados.Clear;
  14. Boa noite pessoal, Em pesquisa na internet sobre meu dilema que já se leva dois dias, observei varias soluções a qual nenhuma se encaixou em meu dilema. Estou fazendo um pequena sistema em PHP com mysql onde é possível o cadastro do produto com foto. Porem as informações todas estão sendo salvas no banco, menos o nome da foto. Peço a ajuda de vocês pois já revirei e não encontro o erro. Conexão com o banco: <?php // Conexão com o banco de dados $conn = @mysql_connect("localhost", "root", "root") or die ("Problemas na conexão."); $db = @mysql_select_db("gerenciador", $conn) or die ("Problemas na conexão"); ?> <form action="" method="post" enctype="multipart/form-data" name="cadastro" > Descrição:<br /> <input type="text" name="descricao" size="100" /><br /><br /> R$ Valor:<br /> <input type="text" name="valor" size="100"/><br /><br /> Categoria:<br /> <input type="text" name="categoria"size="100" /><br /><br /> Foto de exibição:<br /> <input type="file" name="foto" size="100" /><br /><br /> <input type="submit" name="cadastrar" value="Cadastrar" /> <?php // Se o usuário clicou no botão cadastrar efetua as ações if (isset($_POST['cadastrar'])){ // Recupera os dados dos campos $descricao = $_POST['descricao']; $valor = $_POST['valor']; $categoria = $_POST ['categoria']; $foto = $_FILES["foto"]; $nome_imagem = ""; $error = array(); if(isset($_FILES['foto'])){ $foto = $_FILES['foto']; } // Se a foto estiver sido selecionada if (!empty($_FILES['foto'])) { // Largura máxima em pixels $largura = 150; // Altura máxima em pixels $altura = 180; // Tamanho máximo do arquivo em bytes $tamanho = 1000; // Verifica se o arquivo é uma imagem if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto["type"])){ $error[1] = "Isso não é uma imagem."; } // Pega as dimensões da imagem $dimensoes = getimagesize($foto["tmp_name"]); // Verifica se a largura da imagem é maior que a largura permitida if($dimensoes[0] > $largura) { $error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels"; } // Verifica se a altura da imagem é maior que a altura permitida if($dimensoes[1] > $altura) { $error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels"; } // Verifica se o tamanho da imagem é maior que o tamanho permitido if($foto["size"] > $tamanho) { $error[4] = "A imagem deve ter no máximo ".$tamanho." bytes"; } // Se não houver nenhum erro if (count($error) == 0) { // Pega extensão da imagem preg_match("/.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext); // Gera um nome único para a imagem $nome_imagem = md5(uniqid(time())) . "." . $ext[1]; // Caminho de onde ficará a imagem $caminho_imagem = ".../gerenciador galaxy/Fotos/" . $nome_imagem; $nome_imagem = $nome_imagem; // Faz o upload da imagem para seu respectivo caminho move_uploaded_file($foto["tmp_name"], $caminho_imagem); } if (count($error) != 0) { foreach ($error as $erro) { echo $erro . "<br />"; } } } $result = mysql_query ("INSERT INTO produtos(descricao, valor, categoria, foto)VALUE('$descricao', '$valor', '$categoria', '$nome_imagem')")or die("Erro no query ".mysql_error()); } ?> Desde já agradeço que puder me ajudar!!!!
×
×
  • Create New...