Trabalhar com ficheiros. - página 8

 
Se precisar de copiar um ficheiro de uma pasta local para uma pasta partilhada ou vice-versa, utilize as funções de leitura e escrita com as bandeiras apropriadas. Que outra resposta gostaria de ouvir?
Документация по MQL5: Файловые операции / FileCopy
Документация по MQL5: Файловые операции / FileCopy
  • www.mql5.com
Файловые операции / FileCopy - Документация по MQL5
 
Rosh:

Se precisar de copiar um ficheiro de uma pasta local para uma pasta partilhada ou vice-versa, utilize as funções de leitura e escrita com as bandeiras apropriadas. Que outra resposta queria ouvir?
Mais uma vez. Utilizo, como se pode ver pela correspondência, a função FileCopy() e não as funções de leitura e escrita (neste caso). Esta função exige que seja especificada uma bandeira de localização do ficheiro como segundo parâmetro não predefinido. No entanto, não há nenhuma bandeira indicando a localização do ficheiro como "em pasta local". Também não há explicação para esta situação na secção de Ajuda relevante. Portanto, gostaria de ouvir uma resposta à minha pergunta: "o que devo especificar entre a primeira e a segunda vírgula ao preencher a lista de parâmetrosFileCopy() para o caso quando o ficheiro está localizado na pasta local" e porque é que não há informação sobre isto no Manual de Referência?
 
Yedelkin:
Mais uma vez. Estou a utilizar, como podem ver pela correspondência, a função FileCopy() e não as funções de leitura e escrita (neste caso). Esta função requer que seja especificada uma bandeira de localização do ficheiro como o segundo parâmetro não predefinido. No entanto, não há nenhuma bandeira indicando a localização do ficheiro como "em pasta local". Também não há explicação para esta situação na secção de Ajuda relevante. Portanto, gostaria de ouvir uma resposta à minha pergunta: "o que devo especificar entre a primeira e a segunda vírgula ao preencher a lista de parâmetrosFileCopy() para o caso quando o ficheiro está localizado na pasta local" e porque é que não há informação sobre isto no Manual?

Que tal isso? A ajuda declara explicitamente

[em] Bandeira que define a localização do ficheiro. Se common_flag=FILE_COMMON, então o ficheiro está na pasta comum de todos os terminais clientes. Caso contrário, o ficheiro encontra-se na pasta local.

"Caso contrário" significa qualquer outro valor que não contenha a bandeira de bits FILE_COMMON

 
stringo:

Que tal isso? O certificado declara claramente

Bem... Na verdade, não é muito justo. Eu não estaria muito familiarizado com este:

[em] A bandeira que especifica a localização do ficheiro. Se common_flag=FILE_COMMON, então o ficheiro está numa pasta partilhada de todos os terminais clientes. Caso contrário, o ficheiro encontra-se na pasta local.

pensariaque o ficheiro para FILE_COMMON estaria na pasta partilhada e para dizer FILE_COMMON + 1 na pasta local, embora não fosse este o caso.

Podemos realmente introduzir uma constante FILE_LOCAL == 0?

 
stringo:

Que tal isso? A ajuda declara explicitamente

[em] Bandeira que define a localização do ficheiro. Se common_flag=FILE_COMMON, então o ficheiro está na pasta comum de todos os terminais clientes. Caso contrário, o ficheiro encontra-se na pasta local.

"Caso contrário" significa qualquer outro valor que não contenha a bandeira de bits FILE_COMMON

Talvez seja claro para si e para os profissionais que aqui falaram do que se trata. Mas olhem para a mesma questão através dos olhos de um utilizador comum não profissional.

Para um utilizador medíocre como eu, há uma lógica simples:

  1. se um parâmetro não tiver valores por defeito, deve ser explicitamente especificado;
  2. a lista de bandeiras que se aplicam ao parâmetro common_flag é especificada explicitamente usando a ligação "Bandeira";
  3. não existe uma bandeira para a pasta local nesta lista;
  4. a frase "Caso contrário..." não é de todo clara. "Caso contrário" é quando a bandeira FILE_COMMON não é especificada. Isto significa que a bandeira não deve ser de todo especificada. Mas contradiz a cláusula 1. Quanto à possibilidade de especificar quaisquer outras bandeiras/valores, há um total em branco na descrição.

Assim, se algo é especificado "explicitamente" no Manual, é óbvio que não é para todos :)

 
Yedelkin:

Pode ficar claro para si e para os profissionais que aqui falaram do que se trata. Mas olhem para a mesma questão através dos olhos do utilizador não profissional médio.

Para um utilizador medíocre como eu, existe uma lógica simples:

  1. se um parâmetro não tiver valores por defeito, deve ser explicitamente especificado;
  2. a lista de bandeiras que se aplicam ao parâmetro common_flag é especificada explicitamente usando a ligação "Bandeira";
  3. não existe uma bandeira para a pasta local nesta lista;
  4. a frase "Caso contrário..." não é de todo clara. "Caso contrário" é quando a bandeiraFILE_COMMON não é especificada. Isto significa que a bandeira não deve ser de todo especificada. Mas contradiz a cláusula 1. Quanto à possibilidade de especificar quaisquer outras bandeiras/valores, há um total em branco na descrição.

Portanto, se algo é especificado "explicitamente" no Manual, obviamente não é para todos :)

A ausência de uma bandeira é um pouco 0. É como a "Oração do Pai Nosso", desculpem.

Porque não pede as regras de multiplicação na documentação, e a tabela de multiplicação ao mesmo tempo?

 
TheXpert:

Talvez devêssemos realmente introduzir a constante FILE_LOCAL == 0?

Há uma piada sobre um programador Pascal. O programador coloca um copo de água na mesa de cabeceira quando fica com sede à noite. Também coloca um copo vazio se não estiver com sede.
 
stringo:

A ausência de uma bandeira é um pouco 0. É como a "Oração do Pai Nosso", desculpem.

Porque não pede também as regras de multiplicação na documentação e na tabela de multiplicação?

Vejo que não se quer olhar para o problema através dos olhos de um utilizador medíocre. Obrigado a todos pela dica sobre zero. Como se costuma dizer, que o resto dos não-profissionais o descubram por si próprios quando se depararem com ele.
 
Yedelkin:
Vejo que não se quer olhar para o problema através dos olhos de um utilizador medíocre. Obrigado a todos pela dica sobre zero. Como se costuma dizer, que o resto dos não-profissionais o descubram por si próprios quando se depararem com ele.

É aqui que comunicamos para que aqueles "não-profissionais" possam aprender alguma coisa. Não é o caso?

E é pouco provável que introduzamos tais detalhes na documentação. Já vos falei disso uma vez. E eu apresentei as minhas razões.

 
stringo:

É aqui que comunicamos para que aqueles "não-profissionais" possam aprender alguma coisa. Não é o caso?

Absolutamente. E já sublinhei isso muitas vezes. Mas se a documentação tivesse uma frase curta e inequivocamente compreensível - não haveria comunicação :)

stringo:

E dificilmente iremos colocar tais detalhes na documentação. Já vos falei disso uma vez. E dei as minhas razões.

Tal tópico surgirá mais do que uma vez. Durante o tempo de discussão deste assunto em particular, consegui encontrar 20 segundos para fixar 2-3 palavras na documentação. Mas é uma questão de perspectiva, a meu ver :)

Razão: