zigan:
Просто вписать название папки в filename функции FileOpen( string filename, int mode, int delimiter=';') чем не устраивает?
С записью в папку нет проблем.
Проблема создать эту папку с помощью эксперта или скрипта. Руками создавать не хочу, т.к. могу забыть это сделать и в результате записать 10000 файлов а потом выгрибать и разбарать что нужно что нет. А так в отдельной папке.
HIDDEN:
с помощью DLL создать, если её нет, папку по названию эксперта
или скрипта и потом научить эксперта складывать файлы в строго
назначенную папку.
Это можно сделать в данной корневой папке и в рамках MQL, функции все есть. Можно и банальным Windows vbs скриптом через COM объект FileSystemObject.
Пример работы с файлами ниже.
Option Explicit ' ------------------------------------------ ' Windows Script Host VBScript Run-time File ' Copy the new .avc AVP bases ' (C) Valeri Chesnokov, 2002 ' All Rights Reserved ' ------------------------------------------ Dim CS_SOUR_PATH Dim CS_DEST_PATH Dim CS_MASK CS_SOUR_PATH = "P:\AVIR\AVP\" CS_DEST_PATH = "C:\Program Files\Common Files\AVP Shared Files\Bases\" CS_MASK = "avc isu klb klc set vnd" Dim fso 'As Scripting.FileSystemObject Dim oSourFolder Dim oDestFolder Dim oFile Dim sName, sExt, sReport Dim s, sSour, sDest Dim lCount s = "Sour path: " & CS_SOUR_PATH & vbLf s = s & "Dest path: " & CS_DEST_PATH & vbLf s = s & "Mask: " & CS_MASK MsgBox s, vbInformation, "Starting [AVP .avc Update]" Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set oSourFolder = fso.GetFolder(CS_SOUR_PATH) Set oDestFolder = fso.GetFolder(CS_DEST_PATH) lCount = 0 For Each oFile In oSourFolder.Files sName = oFile.Name sExt = Right(sName, 3) If InStr(1, UCase(CS_MASK), UCase(sExt)) > 0 Then sSour = oFile.Path sDest = oDestFolder.Path & "\" & oFile.Name On Error Resume Next fso.CopyFile sSour, sDest, True On Error Goto 0 If Err.Number = 0 Then sReport = sReport & sName & vbLf lCount = lCount + 1 Else Err.Clear MsgBox sSour, vbExclamation, "Error copying" End If End If Next sReport = "Скопированы файлы (" & lCount & "):" & vbLf & sReport MsgBox sReport, vbInformation, "[AVP .avc Update]" ' Done Set oSourFolder = Nothing Set oDestFolder = Nothing Set fso = Nothing
// имя файла string fName = StringConcatenate( "Directory1\\", WindowExpertName(), "\\filename.csv" );
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем привет.
Подскажите как реализовать следующию мысль.
В папку experts\files могут писаться разные файлы от экспертов, скриптов. У меня таких файлов пишется и долгое время хранится очень много, порядка 2000 файлов, разного формата. Найти среди них нужный файл занимает некоторое время, которого как обычно нехватает. Подскажите способ как с помощью DLL создать, если её нет, папку по названию эксперта или скрипта и потом научить эксперта складывать файлы в строго назначенную папку.
Для этого как я думаю существуют библиотеки в Windows, но какая конкретно понятия не имею. Библиотек много но нету в сети нормального описания каждой из библиотек, что она делает.