Pesquisar na Comunidade
Mostrando resultados para as tags ''fileexists''.
Encontrado 2 registros
-
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 respostas
-
- socket
- stringlist
-
(e %d mais)
Tags:
-
Ola desenvolvedores. Estou tentando passar um local definido anteriormente em uma variável para o comando FILEEXISTS e só está retornando como False, mesmo o arquivo em questão estando no local. Segue função. function TMenu.LE_TXT(LE_TXT: string): string; Var LocalArq : string; begin LocalArq := Edit_Arquivo_TXT.Text+'\Config.txt'; { O edit, recebe o endereço do local do arquivo na rede, testei de duas maneiras: } { \\Server\f\Sistema\Maquina1 } { S:\Sistema\Maquina1 } if not FileExists(LocalArq) then Begin Application.Messagebox('Aquivo de configuração não encontrado ! - Finalizando Aplicação.....','AVISO', mb_ok+MB_ICONSTOP); Application.Terminate; { Ele não retorna o valor True nem quando existe o arquivo } End Else Begin { Não entra aqui NUNCA } End ; Espero que tenha sido claro e Obrigado pela atenção. Att: Fabio