Veuillez m'aider à afficher les données d'un fichier sous forme d'histogramme.
Dans le fichier "file.txt", une date correspond à un numéro, comme ceci :
29.03.2017. 574391
30.03.2017. 741308
31.03.2017. 614367
Je récupère les données du fichier et les imprime, comme ceci :
Histogramme par taille de barre pour le faire ressembler à un indicateur )
Vous mettez donc les données dans le tampon graphique, et non sur l'impression. Déterminez la date à partir de laquelle l'histogramme doit être établi et placez-y les données.
-Aleks-: Ainsi, vous mettez les données dans le tampon graphique, pas sur l'impression. Déterminez la date à partir de laquelle vous souhaitez que l'histogramme soit tracé et placez-y les données.
C'est là toute la difficulté.
Je l'ai imprimé pour qu'il soit clair que je récupère les données du fichier en général.
Je n'arrive pas à trouver comment les affecter aux dates correspondantes.
Utilisez les fonctions de chaîne de caractères. En particulier
stringStringSubstr(
string string_value, // строкаint start_pos, // с какой позиции начатьint length=0// длина извлекаемой строки
);
extrait 10 caractères de la position zéro et convertit la chaîne en date.
Mais s'il n'y a pas d'heure d'ouverture de barre dans la chaîne, les histogrammes ne seront pas sur chaque barre si nous l'exécutons sur un graphique autre que D1.
Utilisez les fonctions de chaîne de caractères. En particulier
extrait 10 caractères de la position zéro et convertit la chaîne en date.
Mais s'il n'y a pas d'heure d'ouverture de barre dans la chaîne, l'histogramme ne sera pas sur chaque barre si je l'exécute sur un graphique autre que D1.
Merci, j'extrais la date et la valeur séparément.
Maintenant, comment je remplis le tampon avec ça ?
for(int i=0; i<limit;i++){
string InpFileName="file.txt";
ResetLastError();
int file_handle=FileOpen(InpFileName,FILE_TXT|FILE_READ);
if(file_handle!=INVALID_HANDLE)
{
PrintFormat("Файл %s открыт для чтения",InpFileName);
PrintFormat("Путь к файлу: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH));
//--- вспомогательные переменные int str_size;
string str,str_b1,str_dat1;
//--- прочитаем данные из файла while(!FileIsEnding(file_handle))
{
//--- узнаем сколько символов использовано для записи времени
str_size=FileReadInteger(file_handle,INT_VALUE);
//--- прочитаем строку
str=FileReadString(file_handle,str_size);
str_dat1= StringSubstr(str,0,10);
str_b1= StringSubstr(str,12,6);
//--- распечатаем строку PrintFormat(str_dat1);
PrintFormat(str_b1);
}
//--- закроем файл FileClose(file_handle);
PrintFormat("Данные прочитаны, файл %s закрыт",InpFileName);
}
elsePrintFormat("Не удалось открыть файл %s, Код ошибки = %d",InpFileName,GetLastError());
//}
Range_Buffer[i]=//???
}
Maintenant, comment je remplis le tampon avec ça ?
Range_Buffer[i]=значение//???
Il faut que ce soit en boucle. La boucle while dans la boucle for est une perte de temps. Nous devons lire une ligne, en extraire la date et la valeur et travailler avec elles. Trouver le nombre de barres par heure et y mettre la valeur. Et seulement après cela, passez à l'entrée suivante.
Bonjour.
Veuillez m'aider à afficher les données d'un fichier sous forme d'histogramme.
Dans le fichier "file.txt", une date correspond à un numéro, comme ceci :
29.03.2017. 574391
30.03.2017. 741308
31.03.2017. 614367
Je récupère les données du fichier et les imprime, comme ceci :
Histogramme par taille de barre pour le faire ressembler à un indicateur )
Ainsi, vous mettez les données dans le tampon graphique, pas sur l'impression. Déterminez la date à partir de laquelle vous souhaitez que l'histogramme soit tracé et placez-y les données.
C'est là toute la difficulté.
Je l'ai imprimé pour qu'il soit clair que je récupère les données du fichier en général.
Je n'arrive pas à trouver comment les affecter aux dates correspondantes.
C'est là toute la difficulté.
Je l'ai imprimé pour qu'il soit clair que je récupère les données du fichier en général.
Je n'arrive pas à trouver comment les affecter aux dates correspondantes.
Prenez la date du dossier, trouvez le numéro de barre de la date et dessinez dessus...
Comment faites-vous exactement ?
Montrez-moi s'il vous plaît.
Comment faites-vous exactement ?
Montrez-moi, s'il vous plaît.
Utilisez les fonctions de chaîne de caractères. En particulier
extrait 10 caractères de la position zéro et convertit la chaîne en date.
Mais s'il n'y a pas d'heure d'ouverture de barre dans la chaîne, les histogrammes ne seront pas sur chaque barre si nous l'exécutons sur un graphique autre que D1.
Mes amis, s'il vous plaît aidez-moi à écrire une fonction pour calculer le nombre de barres à partir de la barre où l'ordre a été ouvert.
Par exemple : si nous avons un ordre ouvert sur la barre 5, la fonction doit retourner 5.
Veuillez m'aider à écrire une fonction permettant de calculer le nombre de barres à partir de la barre où l'ordre a été ouvert.
Par exemple : si nous avons un ordre ouvert sur la barre 5, la fonction doit retourner 5.
Utilisez les fonctions de chaîne de caractères. En particulier
extrait 10 caractères de la position zéro et convertit la chaîne en date.
Mais s'il n'y a pas d'heure d'ouverture de barre dans la chaîne, l'histogramme ne sera pas sur chaque barre si je l'exécute sur un graphique autre que D1.
Merci, j'extrais la date et la valeur séparément.
Maintenant, comment je remplis le tampon avec ça ?
Merci, j'extrais la date et la valeur séparément.
Maintenant, comment je remplis le tampon avec ça ?
Range_Buffer[i]=значение//???Il faut que ce soit en boucle. La boucle while dans la boucle for est une perte de temps. Nous devons lire une ligne, en extraire la date et la valeur et travailler avec elles. Trouver le nombre de barres par heure et y mettre la valeur. Et seulement après cela, passez à l'entrée suivante.
C'est là toute la difficulté.
Je l'ai imprimé pour qu'il soit clair que je récupère les données du fichier en général.
Je n'arrive pas à trouver comment les affecter aux dates correspondantes.