Erros, bugs, perguntas - página 897

 
Rugyi_cool:
Por favor, diga-me como criar uma sondagem sobre o fórum?

Onde houver um novo tópico, clique sobre ele e saia"nova sondagem" escolher.


inquérito

 
Zeleniy:

Onde há um novo tópico, há uma pequena seta, clique sobre ele e"nova sondagem" aparece.



Muito obrigado pela dica!!!!!!!!!!!
 
Poderia dizer-me como mudar para ler dados numa nova linha, não consigo encontrar o comando para mover o cursor para uma nova linha, obrigado
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Символьные константы - Документация по MQL5
 
lazarev-d-m:
Pode dizer-me como mover para ler dados numa nova linha, não consigo encontrar o comando para mover o cursor para uma nova linha, obrigado
FileSeek().
 
tol64:
FileSeek().

Estou correcto ao assumir que esta função só pode mover o cursor através da leitura de caracteres desde o início do ficheiro? Como pode mover o cursor para uma nova linha num ficheiro como este

Sem ficheiro csv. Vou convertê-lo para txt.

fez parecer que estava a abrir um csv com um editor de texto.

Arquivos anexados:
News.txt  1 kb
 
lazarev-d-m:
mover o cursor para uma nova linha no ficheiro
O que é uma nova linha num ficheiro? Um ficheiro tem linhas? É linear.
 
sergeev: um ficheiro tem cordas?

FILE_LINE_END

Obter bandeiras de fim delinha

 
sergeev:
O que é uma nova linha num ficheiro? Um ficheiro tem linhas?

Assim, de acordo com o meu esquema de ficheiros, para passar da linha 95 para a linha 96, preciso de saber o número de ficheiros na linha e contar o número de variáveis =(95*(número de valores na linha)+1)

É assim que funciona? Parece fácil, se precisar de todos os valores em ficheiro, mas preciso de ficheiro csv para arquivo de notícias actuais e futuras, e preciso de pensar no mecanismo de pesquisa de linhas, que os dados correspondem a critérios, por exemplo, apenas a linha 95 tem todos os dados que satisfazem os meus requisitos (EURUSD;2012;12;15;12;30) - se esta linha foi encontrada, então o comércio é permitido, etc.

 
lazarev-d-m:

Assim, de acordo com o meu esquema de ficheiros, para passar da linha 95 para a linha 96, preciso de saber o número de ficheiros na linha e contar o número de variáveis =(95*(número de valores na linha)+1)

É assim que funciona? Parece fácil, se precisar de todos os valores em ficheiro, mas preciso de ficheiro csv para arquivo de notícias actuais e futuras, e preciso de pensar no mecanismo de pesquisa de linhas, que os dados corresponderão a critérios, por exemplo, apenas 95 linhas têm todos os dados que satisfazem os meus requisitos (EURUSD;2012;12;15;12;30) - se tal linha for encontrada, estou autorizado a negociar, etc.

Ler cuidadosamente todas as operações do ficheiro. Tem tudo o que precisa para navegar no ficheiro.

Tente fazer experiências com este exemplo:

void CountStrings()
  {
   int handle=-1;
   string txt_string="";
   ulong tell_seek=NULL;
//---
   string nm_file="Experiments\Hello.csv";
//---
   handle=FileOpen(nm_file,FILE_READ|FILE_CSV|FILE_ANSI);
//---
   if(handle!=INVALID_HANDLE)
     {
      string s="";
      ulong tseek=0;
      int cnt_Strings=0; // Счётчик строк
      //---
      // Читать пока текущее положение файлового указателя не окажется в конце файла
      while(!FileIsEnding(handle))
        {
         if(_StopFlag) { return; }
         //---
         while(!FileIsLineEnding(handle)) // Считаем всю строку
           {
            if(_StopFlag) { return; }
            //---
            FileReadString(handle);
            //s=FileReadString(handle); Print("s: ",s);
            //---
            tell_seek=FileTell(handle); // Получим положение указателя
            //---
            if(FileIsLineEnding(handle))
              {
               Print("Это конец строки! ",tell_seek);
               //---
               // Переход на другую строку, если это не конец файла
               if(!FileIsEnding(handle)) { tseek=tell_seek+1; }
               //---
               FileSeek(handle,tseek,SEEK_SET); cnt_Strings++;
               //---
               break;
              }
           }
         //---
         if(FileIsEnding(handle)) { Print("Это конец файла! Всего строк: ",cnt_Strings); break; }
        }
      //---
      FileClose(handle);
     }
  }

//---

Há vários exemplos na Ajuda, na base de códigos e também em artigos. Tudo o que precisa de fazer é tomá-lo e utilizá-lo. ))

 
Yedelkin:

FILE_LINE_END

Obtenção do sinal de fim delinha

Eu descobri mais ou menos, o terminal vê um 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, de um ponto de vista humano, por mais estranho que possa parecer, hoje / amanhã vou lançar o CodeBase, penso que muitos serão interessantes