Ir para conteúdo
Fórum Script Brasil

guga123

Membros
  • Total de itens

    8
  • Registro em

  • Última visita

Posts postados por guga123

  1. Pessoal, não sei se alguém já teve esse problema que eu fou descrever aqui:

     

    procedure TBinaSismaster.cskBinaRead(Sender: TObject; Socket: TCustomWinSocket);
    Var
    	vEventoBina: AnsiString;
    	vArrayBina: TStringDynArray;
      vNome : string;
      vBina:TStringList;
      i: Integer;
    begin
      try
        vEventoBina :=  Socket.ReceiveText;
    
        if (Length(vEventoBina) >= Length(#13#10)) and
           (Copy(vEventoBina, Length(vEventoBina) - Length(#13#10) + 1,Length(#13#10)) = String(#13#10)) then
          vEventoBina := Copy(vEventoBina,1,Length(vEventoBina) - Length(#13#10));//Retira LineEnd
    
        vArrayBina := SplitString(String(vEventoBina),',');
    
        if vArrayBina[0] = '00' then
        begin
          vNome := '';
          if LowerCase(dmUtils.getFromConfig('CONEXAO','Caminho dos dados')) = 'localhost' then
            vNome := '\\'+dmUtils.pubNomeComputador + '\Arquivos\Bina.xml'
          else
            vNome := '\\'+dmUtils.getFromConfig('CONEXAO','Caminho dos dados') + '\Arquivos\Bina.xml';
    
          vBina := TStringList.Create;
    
          if not FileExists(vNome) then
          begin
            vBina.Add('<?xml version="1.0" encoding="ISO-8859-1"?>');
            vBina.Add('<TAG>');
          end else
          begin
            vBina.LoadFromFile(vNome);
    
            for I := 0 to vBina.Count-1 do
            begin
              if vBina[i] = '</TAG>' then
              begin
                vBina.Delete(i);
                Break;
              end;
            end;
          end;
    
          vBina.Add('  <BINA>');
          vBina.Add('    <FONE>nº telefone</FONE>');
          vBina.Add('    <DATA>data e hora da ligação</DATA>');
          vBina.Add('    <ATEND>0</ATEND>');
          vBina.Add('  </BINA>');
          vBina.Add('</TAG>');
          vBina.SaveToFile(vNome);
        end;
      except
    
      end;
    end;

    Essa rotina faz parte de um SERVIÇO que eu criei.

    Resumindo o que o serviço faz:

    - ele pode ser instalado em qualquer máquina da rede

    - ele vai ficar monitorando um socket com ip e porta predefinidos

    - ele socket recebe informação de um aparelho de bina.

    - quando ele detectar uma ligação, ele deverá inserir a ligação em um arquivo XML (que obrigatoriamente vai estar no servidor), para que qualquer máquina da rede consiga obter essa informação em qualquer momento e utilizá-la da forma que necessita (por motivo de projeto eu não posso guarda essa informação no banco de dados)

     

    quando eu rodo essa rotina criando/manipulando o arquivo na mesma máquina em que o serviço está instalado funciona perfeitamente

    mas seu eu tentar criar o arquivo em rede, a parte do fileExists nunca encontra arquivo, mesmo ele já existindo na máquina e na hora de salvar a alteração fica dando "File Access Denied".

     

    Já tentei literalmente tudo que veio na cabeça:

    - compratilhamento de pasta

    - permissões de segurança

    - mapeamento de rede

    - trocar o tipo do arquivo

     

    mas nada funciona.

     

    Alguém consegue me ajudar?

     

    Obrigado

     

     

    AVISO:  Coloque o seu Tópico sobre dúvidas, no Forum de Delphi

    o Forum Tutoriais e Dicas deve ser usado somente para códigos prontos ou dicas de Delphi

    abraço

  2. Em 24/08/2017 at 16:38, Jhonas disse:

    qual o erro ?

    qual a versão do seu FastReport5 ?  dependendo da versão pode ser bug

    OBS: voce pode testar se é bug...   crie um relatório com somente um campo editável

    abra o editor em modo de execução e tente digitar

    se ocorrer erro logo de cara é bug da versão. 

    se não ocorrer erro, então o erro esta no layout do seu relatório

    abraço

    Jonas... testei essa ideia sua e se não utilizar query não da problema, se usar query volta o erro.

    mas consegui achar uma solução (pelo menos resolvou meu problema por enquanto)

    apesar da função do fast se chamar DesignReportInPanel (COM DESTAQUE PARA A PALAVRA PANEL), se usar panel a problema.

    colocando um notebook ou um pagecontrol, por enquanto não deu problema nenhum.

  3. 15 horas atrás, Jhonas disse:

    qual o erro ?

    qual a versão do seu FastReport5 ?  dependendo da versão pode ser bug

    OBS: voce pode testar se é bug...   crie um relatório com somente um campo editável

    abra o editor em modo de execução e tente digitar

    se ocorrer erro logo de cara é bug da versão. 

    se não ocorrer erro, então o erro esta no layout do seu relatório

    abraço

    beleza cara, vlw, vou testar aki q e depois coloco a resposta

  4. Em meu sistema eu tenho um modelo para que o usuário possa personalizar alguns relatório.

    estou usando o FastReport5

    o Fast me dá 2 opções de editores

    frpLayout.DesignReport -> ele abre a interface do fastReport completa 

    frpLayout.DesignReportInPanel(pnlLayout) -> ele carrega uma interface do fast um pouco mais simples em um panel.

    no meu caso, preciso utilizar a segunda opção.

    - os relatórios estão sendo carregados sem o menor problema, mas quando o usuário começar a usar, e a clicar nos componentes do relatório, fica dando access violation sem motivo algum

    não tem evento, não tem nada associado aos componentes.

     

    alguém sabe como resolver isso? já chamei o suporte tecnico do fast e nem eles conseguem uma solução

    já estou ficando sem idéias pra tentar resolver

  5. Em 20/04/2017 at 21:17, Jhonas disse:

    no momento de trocar a hora, aponta o erro seguinte erro: "30/12/1899 07:19:00' is not a valid time".

    30/12/1899 refere-se a uma data em branco

    se o seu campo na tabela for Not Null significa que voce tem que atribuir uma data

    se não é digitada data alguma, o sistema coloca essa data 30/12/1899

    e consequentemente ocorre erro

    voce pode testar se o campo data esta vazio e no código voce não deixa salvar esse campo

    ou melhor ainda ... tire o Not Null desse campo

    abraço

    vlw, cara

    vou testar aqui

  6. Bom tarde, 

    (me desculpem se criei em lugar errado)

    estou utilizando o novo Delphi 10 Seattle e estou com um problema utilizando o DateTimePicker. 

    Tenho um campo em minha tabela (banco MySQL) do tipo "TIME NOT NULL DEFAULT '00:00:00'". Esse campo sempre trabalhei sendo somente time, nunca datetime. 

    Em meu antigo projeto com esse mesmo banco de dados, onde utilizava Delphi 7, eu utilizava um componente de terceiro com um DBDateTimePicker e funcionava perfeitamente. 

    Porém, com a migração do meu projeto para o D10 Seattle, não tenho mais componentes de terceiros e estou usando tudo nativo. Para campos de data e hora, estou utilizando o DateTimePicker e linkando eles com Bind nos campos de minha tabela, "transformando" eles em DBWare já que (infelizmente) não existe um DBDateTimePicker nativo (mancada antiga da Embarcadero). 

    Para os campos de data, funciona perfeitamente. Mas para os campos de hora, não funciona. Alterei a propriedade Kind para dtkTime, linkei o componente no Bind com minha query e simplesmente, no momento de trocar a hora, aponta o erro seguinte erro: "30/12/1899 07:19:00' is not a valid time". Já tentei colocar no Format "HH:mm:ss" mas não adiantou. 

    Existe alguma propriedade ou algo que eu possa fazer sem que tenha que alterar o campo do meu banco de dados para datetime? 

    Quem puder colaborar, agradeço 

    Abraço a todos

×
×
  • Criar Novo...