Fehler, Irrtümer, Fragen - Seite 897

 
Rugyi_cool:
Bitte sagen Sie mir, wie ich eine Umfrage im Forum erstellen kann?

Wo ein neues Thema ist, gibt es einen kleinen Pfeil, klicken Sie darauf und es kommt"neue Umfrage" wählen.


Umfrage

 
Zeleniy:

An der Stelle, an der sich ein neues Thema befindet, ist ein kleiner Pfeil zu sehen, auf den Sie klicken müssen, damit"neue Umfrage" erscheint.



Vielen Dank für den Tipp!!!!!!!!!!!
 
Könnten Sie mir bitte sagen, wie ich die Daten in einer neuen Zeile lesen kann, ich kann den Befehl zum Bewegen des Cursors in eine neue Zeile nicht finden, danke
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Символьные константы - Документация по MQL5
 
lazarev-d-m:
Können Sie mir bitte sagen, wie ich den Cursor in eine neue Zeile bewegen kann, um Daten zu lesen? Ich kann den Befehl zum Bewegen des Cursors in eine neue Zeile nicht finden.
FileSeek().
 
tol64:
FileSeek().

Gehe ich recht in der Annahme, dass diese Funktion den Cursor nur durch das Lesen von Zeichen am Anfang der Datei bewegen kann? Wie kann der Cursor auf eine neue Zeile in einer Datei wie dieser bewegt werden?

Ähm... keine csv-Datei. Ich werde sie in txt umwandeln.

dass es so aussieht, als würde eine csv-Datei mit einem Texteditor geöffnet.

Dateien:
News.txt  1 kb
 
lazarev-d-m:
den Cursor auf eine neue Zeile in der Datei setzen
Was ist eine neue Zeile in einer Datei? Hat eine Datei Zeilen? Sie ist linear.
 
sergeev: Enthält eine Datei Zeichenketten?

FILE_LINE_END

Zeilenende-Flags abrufen

 
sergeev:
Was ist eine neue Zeile in einer Datei? Hat eine Datei Zeilen?

Um also von Zeile 95 nach Zeile 96 zu gelangen, muss ich die Anzahl der Dateien in der Zeile kennen und die Anzahl der Variablen zählen =(95*(Anzahl der Werte in der Zeile)+1)

Funktioniert das so? Es sieht einfach aus, wenn ich alle Werte in der Datei benötige, aber ich brauche eine csv-Datei für die Archivierung von aktuellen und zukünftigen Nachrichten, und ich muss über den Mechanismus der Zeilensuche nachdenken, dass die Daten den Kriterien entsprechen, z. B. nur 95 Zeilen haben alle Daten, die meine Anforderungen erfüllen (EURUSD;2012;12;15;12;30) - wenn diese Zeile gefunden wird, dann ist der Handel erlaubt, usw.

 
lazarev-d-m:

Um also von Zeile 95 nach Zeile 96 zu gelangen, muss ich die Anzahl der Dateien in der Zeile kennen und die Anzahl der Variablen zählen =(95*(Anzahl der Werte in der Zeile)+1)

Funktioniert das so? Es sieht einfach aus, wenn ich alle Werte in der Datei benötige, aber ich brauche eine csv-Datei für das Archiv der aktuellen und zukünftigen Nachrichten, und ich muss über den Mechanismus der Zeilensuche nachdenken, dass die Daten den Kriterien entsprechen, z.B. nur 95 Zeilen haben alle Daten, die meine Anforderungen erfüllen (EURUSD;2012;12;15;12;30) - wenn eine solche Zeile gefunden wird, darf ich handeln, usw.

Bitte lesen Sie alle Vorgänge in der Datei sorgfältig durch. Sie enthält alles, was Sie zum Navigieren in der Datei benötigen.

Versuchen Sie, mit diesem Beispiel zu experimentieren:

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);
     }
  }

//---

In der Hilfe, in der Codebasis und in den Artikeln sind zahlreiche Beispiele zu finden. Alles, was Sie tun müssen, ist, es zu nehmen und zu nutzen. ))

 
Yedelkin:

FILE_LINE_END

Zeichen für das Ende derLinie erhalten

Ich mehr oder weniger herausgefunden, das Terminal sieht eine csv-Datei nicht als Tabelle, sondern als eine gewöhnliche Datei, wo alle Variablen aufgereiht sind und durch ein Trennzeichen getrennt, und in ihm wie in einer Tabelle zu orientieren, schrieb ich ein kleines Beispiel-Skript mit csv wie mit einer Tabelle zu arbeiten, aus menschlicher Sicht, so seltsam es klingen mag, heute / morgen werde ich in CodeBase werfen, ich denke, viele werden interessant sein