Quando si apre il file per la scrittura si specifica TXT o CSV. Questo è un file di testo. Leggilo come una stringa, seleziona StringSubstr e convertilo in ciò che vuoi
void Write_File()
{
int handle;
staticdouble BlueL,RedL;
string B_level= DoubleToStr(BlueLine, Digits);
string R_level= DoubleToStr(RedLine, Digits);
string f_name = " (" + Symbol() + ")\\" + TimeToStr( LocalTime(),TIME_DATE ) + ".txt";
if(BlueLine!=BlueL||RedLine!=RedL)
{
Sleep(10000);//подождем 10 сек, пока оператор меняет уровни// Открытие или создание файла и перемещение указателя в конец
handle= FileOpen(f_name,FILE_CSV|FILE_READ|FILE_WRITE," ");
if(handle == -1) { Alert("Ошибка при открытии файла ",handle); return; }
FileSeek(handle,0,SEEK_END);
// Если новый файл - записать имя файла и строку заголовков колонокif(FileSize(handle)==0)
{
FileWrite(handle,f_name);
FileWrite(handle,"Изменение Уровней BlueLine RedLine");
}
// Сбор информации и запись в файлFileWrite(handle,TimeToStr(TimeCurrent()), " ",B_level, " ",R_level);
FileClose(handle);
BlueL=BlueLine;RedL=RedLine;
}
return;
}
Questo è il modo di scrivere! TCT
Mi dispiace di non capire come ottenere esattamenteB_level eR_level ora.Non ho bisogno di data e ora! Però voglio scriverli)
Mi dispiace di non capire come ottenere esattamenteB_level eR_level ora.Non ho bisogno di data e ora! Ma voglio scriverlo)
Leggere come stringa, evidenziare StringSubstr e convertire in ciò che serve. Leggere come stringa, allocare StringSubstr e convertire in qualsiasi cosa sia necessario
Leggi come una stringa, alloca una StringSubstr e la converte in quello che ti serve. Leggere come una stringa, selezionare StringSubstr e convertire in qualsiasi
Ah ah ah ah ah ah, capito !!! Questo è tutto!!! Grazie@STARIJ! Farò un tentativo)
2018.02.26 12:49 1.24368 1.22581 Ora ... Evidenziate StringSubstr e convertite in ciò che vi serve. Tutto deve essere fatto passo dopo passo. La fretta è un nemico del programmatore.
2018.02.26 12:49 1.24368 1.22581 Ora ... allocare StringSubstr e convertire in quello che vi serve. Bisogna fare tutto passo dopo passo. La fretta è un nemico del programmatore.
Leggere come stringa, allocare StringSubstr e convertire in stringa. Leggere come stringa, allocare StringSubstr e convertire in una stringa
STARIJ: Grazie per la ripartizione!
Rielaborato! Ora i conti non tornano per qualche motivo!
I numeri nel file sono così:
2018.02.2617:441.249381.22771
E lo stesso Alert dà questi:
Dove ha preso gli zeri dopo 1,2? Ho provato a normalizzare. No!
Il codice è scritto così:
void Read_File()
{
int handle;
string str;
staticdouble BlueL;
staticdouble RedL;
string f_name = " (" + Symbol() + ")\\" + TimeToStr( LocalTime(),TIME_DATE ) + ".txt";
if(BlueL!=BlueLine||RedL!=RedLine)
{
// Открытие или создание файла и перемещение указателя в конец
handle= FileOpen(f_name,FILE_READ|FILE_TXT," ");
if(handle == -1) { Alert("Ошибка при открытии файла ",handle); return; }
while(!FileIsEnding(handle)) //Читаем последнюю строку
str=FileReadString(handle,60);//Чтение строки из файлаFileClose(handle);
BlueL=StrToDouble(StringSubstr(str,16,7));
RedL=StrToDouble(StringSubstr(str,23,7));
Alert(DoubleToStr(BlueL,5), " ", DoubleToStr(RedL,5));
ObjectSet("BlueLine",OBJPROP_PRICE1,BlueL);
ObjectSet("RedLine",OBJPROP_PRICE1,RedL);
}
return;
}
STARIJ: Grazie per la ripartizione! Rielaborato! Ora i conti non tornano per qualche motivo! I numeri nel file sono: Ma lo stesso Alert dà questi: Dove ha preso gli zeri dopo 1.2? Ho provato a normalizzare. No! Ho scritto il codice in questo modo:
Io avevo StringSubstr(str,20,7) e tu scrivi StringSubstr(str,16,7). Sottrai le ultime 4 cifre da 1,24938 e ottieni 1,2. Ti ho detto - fai tutto in sequenza. Avevo Alert(s); - stampare la stringa che avete letto per assicurarvi che sia corretta, mentre avete fretta di scrivere ObjectSet(. La programmazione è tutta una questione di pazienza, di piccoli passi in avanti - mentre si grida sul forum. Mentre aspettate una risposta - quanti piccoli passi fiduciosi potete fare!!!
Quando si apre il file per la scrittura si specifica TXT o CSV. Questo è un file di testo. Leggilo come una stringa, seleziona StringSubstr e convertilo in ciò che vuoi
Questo è il modo di scrivere! TCT
Mi dispiace di non capire come ottenere esattamenteB_level eR_level ora.Non ho bisogno di data e ora! Però voglio scriverli)
Questo è il modo di scrivere! TCT
Mi dispiace di non capire come ottenere esattamenteB_level eR_level ora.Non ho bisogno di data e ora! Ma voglio scriverlo)
Leggere come stringa, evidenziare StringSubstr e convertire in ciò che serve. Leggere come stringa, allocare StringSubstr e convertire in qualsiasi cosa sia necessario
Leggi come una stringa, alloca una StringSubstr e la converte in quello che ti serve. Leggere come una stringa, selezionare StringSubstr e convertire in qualsiasi
Ah ah ah ah ah ah, capito !!! Questo è tutto!!! Grazie@STARIJ! Farò un tentativo)
@STARIJ non funziona, non riesco ancora a capire dove sbaglio! Aiuto!
Perché non gli piace?
Perché non è così?
Guardate quali parametri passate alla funzione, e quanti, e cosa restituisce.
cliccare su f1, mettere prima il cursore su questa funzione
@STARIJ non funziona, non riesco ancora a capire dove sbaglio! Aiuto!
Errore qui, ma cosa ho fatto di male?2018.02.26 12:49 1.24368 1.22581 Ora ... Evidenziate StringSubstr e convertite in ciò che vi serve. Tutto deve essere fatto passo dopo passo. La fretta è un nemico del programmatore.
Leggere come stringa, allocare StringSubstr e convertire in stringa. Leggere come stringa, allocare StringSubstr e convertire in ciò che serve.
Prima leggiamo l'ultima stringa
2018.02.26 12:49 1.24368 1.22581 Ora ... allocare StringSubstr e convertire in quello che vi serve. Bisogna fare tutto passo dopo passo. La fretta è un nemico del programmatore.
Leggere come stringa, allocare StringSubstr e convertire in stringa. Leggere come stringa, allocare StringSubstr e convertire in una stringa
STARIJ: Grazie per la ripartizione!
Rielaborato! Ora i conti non tornano per qualche motivo!
I numeri nel file sono così:
E lo stesso Alert dà questi:
Dove ha preso gli zeri dopo 1,2? Ho provato a normalizzare. No!
Il codice è scritto così:
STARIJ : Grazie per la ripartizione!
Rielaborato! Ora i conti non tornano per qualche motivo!
I numeri nel file sono:
Ma lo stesso Alert dà questi:
Dove ha preso gli zeri dopo 1.2? Ho provato a normalizzare. No!
Ho scritto il codice in questo modo:
STARIJ: Grazie per la ripartizione!
Rielaborato! Ora i conti non tornano per qualche motivo!
I numeri nel file sono così:
E lo stesso Alert dà questi:
Dove ha preso gli zeri dopo 1,2? Ho provato a normalizzare. No!
Ho scritto il codice in questo modo:
Prova questo.