MQLArticles/Utils/FA/StringToArray.mqh

64 lines
5.4 KiB
MQL5

2025-09-22 09:08:13 -05:00
<EFBFBD><EFBFBD>//+------------------------------------------------------------------+
//| StringToArray.mqh |
//| Copyright 2025, Niquel Mendoza. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
2025-11-10 09:33:53 -05:00
#property copyright "Copyright 2025, Niquel Mendoza."
2025-09-22 09:08:13 -05:00
#property link "https://www.mql5.com"
2025-11-22 08:27:30 -05:00
2025-09-22 09:08:13 -05:00
#property strict
2025-12-28 18:28:41 -05:00
2025-09-22 09:08:13 -05:00
2025-12-28 18:28:41 -05:00
2025-09-22 09:08:13 -05:00
#ifndef MQLARTICLES_UTILS_FA_STRINGTOARRAY_MQH
2025-12-28 18:28:41 -05:00
2025-09-22 09:08:13 -05:00
#define MQLARTICLES_UTILS_FA_STRINGTOARRAY_MQH
//+------------------------------------------------------------------+
//| Macro para generar funciones dentro del namespace |
//+------------------------------------------------------------------+
class StrTo
2026-01-02 10:22:09 -05:00
{
public:
#define DEFINE_STRING_TO_ARRAY(TYPE, CONVERT_FUNC) \
2025-09-22 09:08:13 -05:00
static bool CstArray(TYPE &array_receptor[], const string &cadena, ushort cadena_separator = ',', bool trim = false) \
{ \
string result[]; \
ResetLastError(); \
2026-01-02 10:22:09 -05:00
int num = StringSplit(cadena, cadena_separator, result); \
if(num == -1) \
return false; \
\
if(ArrayResize(array_receptor, ArraySize(result)) == -1) \
return false; \
\
2025-09-22 09:08:13 -05:00
for(int i = 0; i < ArraySize(array_receptor); i++) \
2025-12-28 18:28:41 -05:00
2025-09-22 09:08:13 -05:00
{ \
2025-11-10 09:33:53 -05:00