Eu uso a função Kim - abrir arquivo - escrever uma linha - fechar o arquivo e depois dar a volta.
//+------------------------------------------------------------------+ //| Запись строки в файл | //+------------------------------------------------------------------+ void WritingLineInFile(string FileName, string text) { int file_handle=FileOpen(FileName, FILE_READ|FILE_WRITE, " "); if (file_handle>0) { FileSeek(file_handle, 0, SEEK_END); FileWrite(file_handle, text); FileClose(file_handle); } }
edição ao vivo...
Obrigado, funcionou.
Também corri o Kim's, mas o cabo era diferente = FileOpen("Summa.txt", FILE_CSV|FILE_WRITE, '\t');
Eu uso a função de Kim - abrir arquivo - escrever cadeia - fechar arquivo e depois ao redor.
não quero verificar, mas acho que FileFlush() https://docs.mql4.com/ru/files/FileFlush deve ajudar a não fechar o arquivo sempre, se FileFlush() corrigir a situação, é melhor abrir o arquivo no init(), e fechar no deinit(), eu fiz algo semelhante, parece acrescentar mais uma vez FileWrite(file_handle, ""); irá escrever uma nova linha - ou seja, cada FileWrite() é escrito com uma nova linha - verifique
ZS: Sempre escrevo gráficos offline não padronizados sem fechá-los, usando FileFlush()
S)+";"+Do Você também pode fazer uma matriz vazia :) de 1 ou 2 elementos :) ou adicionar... +DoubleToStr(AccountEquity(),1)+"\r\n"; FileWrite(path, Symbol(), TimeToStr(TimeCurrent(),TIME_DATE),DoubleToStr(AccountBalance(),1), DoubleToStr(AccountEquity(),1),TimeToStr(TimeCurrent(),TIME_SECONDS)+"\r\n"); |
Olá a todos. Estou tentando escrever cada novo pedido em uma nova linha, você poderia me dizer o que estou fazendo de errado? Resta apenas a última ordem em aberto.
nulo OnTick()
- AM2
- www.forexsystems.biz
Olá a todos. Estou tentando escrever cada novo pedido em uma nova linha, você poderia me dizer o que estou fazendo de errado? Apenas o último aberto permanece escrito.
O arquivo continua sendo sobregravado por causa de bandeiras erradas. Você não deve abrir o arquivo apenas para escrever, mas também para ler. Então, não será recriado:
int h=FileOpen("Copy.txt",FILE_WRITE | FILE_READ,";");
O arquivo está sendo constantemente sobrescrito devido a bandeiras incorretas. Você não deve abrir o arquivo apenas para escrever, mas também para ler. Então, não será recriado:
Muito obrigado. Muito obrigado!
A própria descrição da função contém estas informações, por alguma razão eu não sabia qual o caminho a seguir... Pensei que havia selecionado um tipo de arquivo errado, txt em vez de csv, mas acabou sendo muito simples. )))
Você pode me dizer como apagar uma linha depois de lê-la, existe alguma maneira simples de fazê-lo?
- www.mql5.com
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Ajude-me a descobrir como escrever para um arquivo.
Aqui está a função:
Eu preciso que novos dados sejam escritos em uma nova linha em Excell, eu procurei em todo o código no fórum, incluindo o tutorial e a documentação, mas nenhum resultado :(((