Erros, bugs, perguntas - página 898

 

lazarev-d-m:

Yedelkin:

sergeev: o ficheiro tem linhas?

FILE_LINE_END

Obter indicação de fim delinha

Eu descobri mais ou menos, o terminal vê o ficheiro csv não como uma tabela, mas como um ficheiro normal onde todas as variáveis são alinhadas e separadas por um separador, e para me orientar nele como numa tabela, escrevi um pequeno guião de amostra para trabalhar com csv como com uma tabela, por mais estranho que possa parecer, hoje / amanhã vou lançar o CodeBase, penso que muitos serão interessantes

lazarev-d-m, a minha mensagem não é para si. É para Sergeyev pessoalmente.
 
Yedelkin:

FILE_LINE_END

Obter o indicador de fim delinha

Não lhe digo nada. Já é inteligente.

e compreende que o ficheiro tem caracteres de controlo no seu mapeamento de linhas. de modo a que alguns espectadores do seu conteúdo o mostrem de acordo com as regras geralmente aceites.

Управляющие символы — Википедия
  • ru.wikipedia.org
Управля́ющие си́мволы — элементы данной кодировки, которым не приписано графическое представление, но которые используются для управления устройствами, организации передачи данных и других целей. Сейчас для этих целей применяются форматы файлов, языки управления устройствами (такие как Postscript) и сетевые протоколы. Поэтому многие...
 
lazarev-d-m:

Já descobri mais ou menos, o terminal não vê o ficheiro csv como uma tabela, mas como um ficheiro normal onde todas as variáveis estão alinhadas e separadas por um separador

Não vê o csv assim, vê tudo como um ficheiro.
 

lazarev-d-m:

é necessário criar um mecanismo de procura de cordas,

o ficheiro tem linhas? como se marca uma nova linha? (sugestão a um símbolo especial :)

Imagine que o ficheiro é um conjunto unidimensional de caracteres.

como se encontra uma "nova linha" na matriz?

 

 

FILE_LINE_END

Obter carácter de fim de linha

sergeev: Não lhe direi nada. é suficientemente inteligente como é. compreende que um ficheiro tem caracteres de controlo na sua representação linear. para alguns espectadores exibir o seu conteúdo de acordo com as regras aceites.
:) Vamos supor que as respostas às perguntas "o que é uma nova linha num ficheiro? Um ficheiro tem linhas? Apanhou-os. A resposta não era esperada de si.
 
Yedelkin:
:) Vamos supor que as respostas às perguntas "O que é uma nova linha no ficheiro? Conseguiu-o. Não é suposto obter uma resposta.

tudo tem a ver com os conceitos utilizados e a percepção desses conceitos.

O que é uma"nova linha" no ficheiro? É isto que estou a tentar descobrir de lazarev-d-m. Se esperar por uma resposta, vou corrigir e explicar o conceito correctamente, se necessário. E depois irei direccionar-me para a solução do problema.

E embora não saiba o que lazarev-d-m imagina quando pergunta sobre uma "nova linha". E não posso dar uma resposta sobre como encontrá-la. Ele conhece FileSeek e FileIsLineEnding e FileRead. Mas não parece saber para que servem.

É evidente que no seu caso só se pode encontrar algum personagem procurando. Mas se ele entende que a nova corda é apenas um personagem - não sei.

 
sergeevвсе дело в Estou a tentar descobrir de lazarev-d-m o que é uma"nova cadeia" num ficheiro. Se espero uma resposta, vou corrigir e explicar correctamente o conceito. Entretanto, não sei em que pensa Lazarev-d-m quando pergunta sobre uma "nova linha". Ele conhece FileSeek e FileIsLineEnding e FileRead. Mas parece não saber para que servem. É evidente que no seu caso só se pode encontrar algum carácter através de uma busca.

A questão éque este fórum é um fórum para a comunidade MQL5. E a MQL5 implica uma noção tal como "sinal de fim de linha num ficheiro":

FILE_LINE_END.

Obtenção das bandeiras de fim de linha

Por conseguinte, a pergunta do Sr. Lazarev é absolutamente correcta. É absolutamente correcto dentro da comunidade MQL5.

 
Yedelkin:

A questão éque este fórum é um fórum para a comunidade MQL5. E a linguagem MQL5 implica uma noção tal como "sinal de fim de linha num ficheiro":

Pergunta - diga-me que números se dividem por dois?

A resposta é tudo.

Moral - não confunda o fim e o que você precisa lazarev-d-m

 
sergeev: Pergunta - diga-me, que números são divisíveis por dois? A resposta é tudo. Moral - não confundir o fim com o lazarev-d-mcerto
Sim. A resposta à sua pergunta "Um ficheiro tem cordas? Já o tem. Agora está a comparar o fim e o que Lazarev precisa. :)
 
sergeev:

Pergunta - pode dizer-me que números são divisíveis por dois?

A resposta é tudo.

Moral - não confunda o fim e o que você precisa lazarev-d-m

Compreendo que existem formas de identificar uma única linha, mas nenhum comando separado para aceder a ela, é necessário recalcular o número de caracteres nos separadores de linha, para chegar à linha certa (se souber o "número" de linhas).

Ou a minha variante para digitalizar linha a linha, que também é muito útil, especialmente com ficheiros grandes, onde pode haver centenas de linhas, e se de repente se deparar com isto no testador, então geralmente horrível.

Aqui está como o fiz, não está a funcionar bem, vou arranjá-lo quando estiver livre

MqlDateTime mqldt;
string qwerty="EURUSD";
int filehandle;

void OnStart()
  {
   filehandle=FileOpen("News.csv",FILE_READ|FILE_CSV|FILE_ANSI,';');
   uint column1=FileReadInteger(filehandle);//Code
   string column2=FileReadString(filehandle);//Symbol
   uint column3=FileReadInteger(filehandle);//Year
   uint column4=FileReadInteger(filehandle);//Month
   uint column5=FileReadInteger(filehandle);//Day
   uint column6=FileReadInteger(filehandle);//Hour
   uint column7=FileReadInteger(filehandle);//Minute
   while(column2!=qwerty&&column3!=mqldt.year&&column4!=mqldt.mon&&column5!=mqldt.day&&column6!=mqldt.hour)
     {
   column1=FileReadString(filehandle);//Code
   column2=FileReadString(filehandle);//Symbol
   column3=FileReadInteger(filehandle);//Year
   column4=FileReadInteger(filehandle);//Month
   column5=FileReadInteger(filehandle);//Day
   column6=FileReadInteger(filehandle);//Hour
   column7=FileReadInteger(filehandle);//Minute
     }
   Alert("Искомое находится в ",column1,"-й строчке");
  }
Agora devolve sempre a coluna1=Código, enquanto deve devolver o número da linha, que corresponde à hora com a hora actual, penso que é claro a partir do código