//+--------------------------------------------------------------------------------------------------------------------------------------------------+
//| ZH_Global_Chart_Variable_Lib.mq4|
//| Copyright © Zhunko |
//|04.09.2008 - 10.09.2008 MF ZHUNKO vadim@zhunko.ru |
//+--------------------------------------------------------------------------------------------------------------------------------------------------+
//| Áèáëèîòåêà ïðåäíàçíà÷åíà äëÿ ðàáîòû ñ ãëîáàëüíûìè ãðàôè÷åñêèìè ïåðåìåííûìè. |
//| Ãëîáàëüíàÿ ãðàôè÷åñêàÿ ïåðåìåííàÿ (ãðàôè÷åñêèé îáúåêò), âèäèìàÿ äëÿ ïðîãðàìì òîëüêî îäíîãî îêíà. |
//| ÂÍÈÌÀÍÈÅ!!! Êîëè÷åñòâî çàïèñûâàåìûõ çíàêîâ ñ ó÷¸òîì ðàçäåëèòåëåé âî âñåõ ôóíêöèÿõ íå ìîæåò ïðåâûøàòü 62-õ. |
//+--------------------------------------------------------------------------------------------------------------------------------------------------+
//| 1. Ôóíêöèÿ âîçâðàùàåò ÷èñëîâîå çíà÷åíèå ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé. |
//| 2. Ôóíêöèÿ âîçâðàùàåò ñòðîêîâîå çíà÷åíèå ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé. |
//| 3. Ôóíêöèÿ óñòàíàâëèâàåò íîâîå ÷èñëîâîå çíà÷åíèÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé. |
//| 4. Ôóíêöèÿ óñòàíàâëèâàåò íîâîå ñòðîêîâîå çíà÷åíèÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé. |
//+--- Ôóíêöèè ñ ãðàôè÷åñêèìè ìàññèâàìè. ------------------------------------------------------------------------------------------------------------+
//| 5. Ôóíêöèÿ ìåíÿåò çíà÷åíèå âûáðàííîé ÿ÷åéêè â ãðàôè÷åñêîì ìàññèâå. |
//| 6. Ôóíêöèÿ ÷èòàåò âûáðàííóþ ÿ÷åéêó ãðàôè÷åñêîãî ìàññèâà ñ äàííûìè äâîéíîé òî÷íîñòè. |
//| 7. Ôóíêöèÿ âîçâðàùàåò ÷èñëî ýëåìåíòîâ â óêàçàííîì èçìåðåíèè ãðàôè÷åñêîãî ìàññèâà. |
//| 8. Ôóíêöèÿ ìåíÿåò ðàçìåð óêàçàííîãî èçìåðåíèÿ ãðàôè÷åñêîãî ìàññèâà. |
//+--- Ôóíêöèè ñ ãðàôè÷åñêèìè ôàéëàìè. --------------------------------------------------------------------------------------------------------------+
//| 9. Ôóíêöèÿ çàïèñûâàåò îäíîìåðíûé öåëî÷èñëåííûé ìàññèâ â ãðàôè÷åñêèé ôàéë. |
//|10. Ôóíêöèÿ çàïèñûâàåò äâóìåðíûé öåëî÷èñëåííûé ìàññèâ â ãðàôè÷åñêèé ôàéë. |
//|11. Ôóíêöèÿ çàïèñûâàåò îäíîìåðíûé ìàññèâ ñ äàííûìè äâîéíîé òî÷íîñòè â ãðàôè÷åñêèé ôàéë. |
//|12. Ôóíêöèÿ çàïîëíÿåò çíà÷åíèÿìè äâîéíîé òî÷íîñòè ãëîáàëüíûé ãðàôè÷åñêèé äâóìåðíûé ìàññèâ. |
//|13. Ôóíêöèÿ ÷èòàåò óêàçàííîå ÷èñëî ýëåìåíòîâ èç ãðàôè÷åñêîãî ôàéëà â îäíîìåðíûé öåëî÷èñëåííûé ìàññèâ. |
//|14. Ôóíêöèÿ ÷èòàåò âñå ýëåìåíòû èç ãðàôè÷åñêîãî ôàéëà â äâóìåðíûé öåëî÷èñëåííûé ìàññèâ. |
//|15. Ôóíêöèÿ ÷èòàåò óêàçàííîå ÷èñëî ýëåìåíòîâ èç ãðàôè÷åñêîãî ôàéëà â îäíîìåðíûé ìàññèâ äàííûõ äâîéíîé òî÷íîñòè. |
//|16. Ôóíêöèÿ ÷èòàåò âñå ýëåìåíòû èç ãðàôè÷åñêîãî ôàéëà â äâóìåðíûé öåëî÷èñëåííûé ìàññèâ äàííûõ äâîéíîé òî÷íîñòè. |
//+--- Ñëóæåáíûå ôóíêöèè ñ ãëîáàëüíûìè ãðàôè÷åñêèìè ïåðåìåííûìè, ìàññèâàìè è ôàéëàìè. ---------------------------------------------------------------+
//|17. Ôóíêöèÿ êîíòðîëÿ íàëè÷èÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé. |
//|18. Ôóíêöèÿ óäàëåíèÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé. |
//|19. Ôóíêöèÿ âîçâðàùàåò èìÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé ïî ïîðÿäêîâîìó íîìåðó â ñïèñêå ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ. |
//|20. Ôóíêöèÿ âîçâðàùàåò îáùåå êîëè÷åñòâî ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ. |
//|21. Ôóíêöèÿ óäàëÿåò ãëîáàëüíûå ãðàôè÷åñêèå ïåðåìåííûå. |
//|22. Ôóíêöèÿ ìåíÿåò íàçâàíèå ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé. |
//+--------------------------------------------------------------------------------------------------------------------------------------------------+
#property copyright "Copyright © 2008 Zhunko"
#property link "vadim@zhunko.ru"
#property library
//ææææ Ôóíêöèè ñ ãëîáàëüíûìè ãðàôè÷åñêèìè ïåðåìåííûìè. æææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// 1. Ôóíêöèÿ âîçâðàùàåò ÷èñëîâîå çíà÷åíèå ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.=========================================================================
// Âîçâðàùàåò ÷èñëîâå çíà÷åíèå ñóùåñòâóþùåé ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.
double GlobalChartVariableGetDouble (string& Name) // Èìÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.
{
return (StrToDouble (ObjectDescription (Name)));
}
//====================================================================================================================================================
// 2. Ôóíêöèÿ âîçâðàùàåò ñòðîêîâîå çíà÷åíèå ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.========================================================================
// Âîçâðàùàåò ñòðîêîâå çíà÷åíèå ñóùåñòâóþùåé ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.
string GlobalChartVariableGetStr (string& Name) // Èìÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.
{
return (ObjectDescription (Name));
}
//====================================================================================================================================================
// 3. Ôóíêöèÿ óñòàíàâëèâàåò íîâîå ÷èñëîâîå çíà÷åíèÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.================================================================
// Óñòàíàâëèâàåò íîâîå ÷èñëîâîå çíà÷åíèå ñóùåñòâóþùåé ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.
// Åñëè ïåðåìåííàÿ íå ñóùåñòâóåò, ñîçäà¸òñÿ íîâàÿ ãëîáàëüíàÿ ãðàôè÷åñêàÿ ïåðåìåííàÿ.
//  ñëó÷àå óñïåõà ôóíêöèÿ âîçâðàùàåò çíà÷åíèå TRUE, èíà÷å FALSE.
bool GlobalChartVariableSetDouble (string& Name, // Èìÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.
double& Value, // ×èñëîâîå çíà÷åíèå.
int& Precision) // Òî÷íîñòü çàïèñè â çíàêàõ ïîñëå çàïÿòîé.
{
int i;
//----
if (Name == "" || Name == "Label")
{
Print ("Îøèáêà â ôóíêöèè \"GlobalChartVariableSetDouble()\". Íåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîé ïåðåìåííîé.");
Comment ("Îøèáêà â ôóíêöèè \"GlobalChartVariableSetDouble()\".\nÍåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîé ïåðåìåííîé.");
return (false);
}
if (StringLen (Name) > 62)
{
Print ("Îøèáêà â ôóíêöèè \"GlobalChartVariableSetDouble()\". Ñëèøêîì äëèííîå èìÿ ïåðåìåííîé. Êîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
Comment ("Îøèáêà â ôóíêöèè \"GlobalChartVariableSetDouble()\".\nÑëèøêîì äëèííîå èìÿ ïåðåìåííîé.\nÊîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
return (false);
}
// Ñîçäà¸ì îáúåêò.
if (ObjectCreate (Name, OBJ_LABEL, 0, 0, 0, 0, 0) == true)
{
if (ObjectFind ("ListGlobalGraphicVariable_0") == -1) // Åñëè ñïèñêà ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ íåò, òî ñîçäà¸ì åãî è âíîñèì èìÿ ïåðåìåííîé.
{
ObjectCreate ("ListGlobalGraphicVariable_0", OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_0", OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_0", Name, 10, "Areal", EMPTY);
}
else // Åñëè ñïèñîê ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ åñòü, òî äîïîëíÿåì åãî.
{
for (i = 0; i < 100; i++) // Öèêë ïî ñïèñêó.
{// Èùåì ïåðâûé îòñóòñòâóþùèé îáúåêò èëè ïóñòóþ çàïèñü.
if (ObjectFind ("ListGlobalGraphicVariable_" + i) == -1 || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "" || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "Label")
{// Åñëè íàøëè íîìåð îòñóòñòâóþùåãî îáúåêòà, ñîçäà¸ì åãî è çàïèñûâàåì â í¸ì èìÿ ïåðåìåííîé.
ObjectCreate ("ListGlobalGraphicVariable_" + i, OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_" + i, OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_" + i, Name, 10, "Areal", EMPTY);
break; // Âûõîäèì èç öèêëà.
}
}
}
}
ObjectSet (Name, OBJPROP_TIMEFRAMES, EMPTY);
return (ObjectSetText (Name, DoubleToStr (Value, Precision), 10, "Areal", EMPTY));
}
//====================================================================================================================================================
// 4. Ôóíêöèÿ óñòàíàâëèâàåò íîâîå ñòðîêîâîå çíà÷åíèÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.===============================================================
// Óñòàíàâëèâàåò íîâîå ñòðîêîâîå çíà÷åíèå ñóùåñòâóþùåé ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.
// Åñëè ïåðåìåííàÿ íå ñóùåñòâóåò, ñîçäà¸òñÿ íîâàÿ ãëîáàëüíàÿ ãðàôè÷åñêàÿ ïåðåìåííàÿ.
//  ñëó÷àå óñïåõà ôóíêöèÿ âîçâðàùàåò çíà÷åíèå TRUE, èíà÷å FALSE.
bool GlobalChartVariableSetStr (string& Name, // Èìÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.
string& Value) // Ñòðîêîâîå çíà÷åíèå.
{
int i;
//----
if (Name == "" || Name == "Label")
{
Print ("Îøèáêà â ôóíêöèè \"GlobalChartVariableSetStr()\". Íåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîé ïåðåìåííîé.");
Comment ("Îøèáêà â ôóíêöèè \"GlobalChartVariableSetStr()\".\nÍåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîé ïåðåìåííîé.");
return (false);
}
if (StringLen (Name) > 62)
{
Print ("Îøèáêà â ôóíêöèè \"GlobalChartVariableSetStr()\". Ñëèøêîì äëèííîå èìÿ ïåðåìåííîé. Êîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
Comment ("Îøèáêà â ôóíêöèè \"GlobalChartVariableSetStr()\".\nÑëèøêîì äëèííîå èìÿ ïåðåìåííîé.\nÊîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
return (false);
}
// Ñîçäà¸ì îáúåêò.
if (ObjectCreate (Name, OBJ_LABEL, 0, 0, 0, 0, 0) == true)
{
if (ObjectFind ("ListGlobalGraphicVariable_0") == -1) // Åñëè ñïèñêà ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ íåò, òî ñîçäà¸ì åãî è âíîñèì èìÿ ïåðåìåííîé.
{
ObjectCreate ("ListGlobalGraphicVariable_0", OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_0", OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_0", Name, 10, "Areal", EMPTY);
}
else // Åñëè ñïèñîê ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ åñòü, òî äîïîëíÿåì åãî.
{
for (i = 0; i < 100; i++) // Öèêë ïî ñïèñêó.
{// Èùåì ïåðâûé îòñóòñòâóþùèé îáúåêò èëè ïóñòóþ çàïèñü.
if (ObjectFind ("ListGlobalGraphicVariable_" + i) == -1 || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "" || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "Label")
{// Åñëè íàøëè íîìåð îòñóòñòâóþùåãî îáúåêòà, ñîçäà¸ì åãî è çàïèñûâàåì â í¸ì èìÿ ïåðåìåííîé.
ObjectCreate ("ListGlobalGraphicVariable_" + i, OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_" + i, OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_" + i, Name, 10, "Areal", EMPTY);
break; // Âûõîäèì èç öèêëà.
}
}
}
}
ObjectSet (Name, OBJPROP_TIMEFRAMES, EMPTY);
return (ObjectSetText (Name, Value, 10, "Areal", EMPTY));
}
//====================================================================================================================================================
//ææææ Ôóíêöèè ñ ãðàôè÷åñêèìè ìàññèâàìè. æææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// 5. Ôóíêöèÿ ìåíÿåò çíà÷åíèå âûáðàííîé ÿ÷åéêè â ãðàôè÷åñêîì ìàññèâå.=================================================================================
// Åñëè ãðàôè÷åñêîãî ìàññèâà íå ñóùåñòâóåò, ñîçäà¸òñÿ íîâûé ãðàôè÷åñêèé ìàññèâ. Ìîæíî çàïèñûâàòü öåëûå è äâîéíîé òî÷íîñòè ÷èñëà.
// Âûáîð ïðîèçâîäèòñÿ ïàðàìåòðîì "Precision".  ñëó÷àå óñïåõà ôóíêöèÿ âîçâðàùàåò çíà÷åíèå TRUE, èíà÷å FALSE.
bool ChartArraySet (string& Name, // Èìÿ ãðàôè÷åñêîãî ìàññèâà.
double& Value, // ×èñëîâîå çíà÷åíèå äëÿ âíåñåíèÿ èçìåíåíèé â ìàññèâå.
int& Precision, // Òî÷íîñòü çàïèñè â çíàêàõ ïîñëå çàïÿòîé.
int& Size0, // Êîëè÷åñòâî ýëåìåíòîâ ïåðâîãî èçìåðåíèÿ.
int& Size1, // Êîëè÷åñòâî ýëåìåíòîâ âòîðîãî èçìåðåíèÿ.
int& Cell0, // Íîìåð ÿ÷åéêè ïåðâîãî èçìåðåíèÿ.
int& Cell1) // Íîìåð ÿ÷åéêè âòîðîãî èçìåðåíèÿ.
{
int i, j, k;
int EndStr1; // Íîìåð ïîçèöèè êîíöà ïåðâîé ñòðîêè äî ÷èñëà.
int Length; // Äëèíà âñåãî òåêñòà.
int StartStr2; // Íîìåð ïîçèöèè íà÷àëà âòîðîé ñòðîêè ïîñëå ÷èñëà.
string Text = ""; // Ìàññèâ â ñòðîêîâîì âèäå. Òåêñò.
string TextSymbol = ""; // Ñòðîêîâûé ñèìâîë.
//----
if (Name == "" || Name == "Label")
{
Print ("Îøèáêà â ôóíêöèè \"ChartArraySet()\". Íåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîãî ìàññèâà.");
Comment ("Îøèáêà â ôóíêöèè \"ChartArraySet()\".\nÍåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîãî ìàññèâà.");
return (false);
}
if (StringLen (Name) > 62)
{
Print ("Îøèáêà â ôóíêöèè \"ChartArraySet()\". Ñëèøêîì äëèííîå èìÿ ìàññèâà. Êîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
Comment ("Îøèáêà â ôóíêöèè \"ChartArraySet()\".\nÑëèøêîì äëèííîå èìÿ ìàññèâà.\nÊîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
return (false);
}
if ((2 * Size0 * Size1 - 1) > 62)
{
Print ("Îøèáêà â ôóíêöèè \"ChartArraySet()\". Ïîïûòêà ñîçäàòü ìàññèâ ñ êîëè÷åñòâîì çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
Comment ("Îøèáêà â ôóíêöèè \"ChartArraySet()\".\nÏîïûòêà ñîçäàòü ìàññèâ ñ êîëè÷åñòâîì çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
return (false);
}
if (Cell0 >= Size0)
{
Print ("Îøèáêà â ôóíêöèè \"ChartArraySet()\". Íîìåð ÿ÷åéêè ïåðâîé ðàçìåðíîñòè ïðåâûøàåò êîëè÷åñòâî ýëåìåíòîâ.");
Comment ("Îøèáêà â ôóíêöèè \"ChartArraySet()\".\nÍîìåð ÿ÷åéêè ïåðâîé ðàçìåðíîñòè ïðåâûøàåò êîëè÷åñòâî ýëåìåíòîâ.");
return (false);
}
if (Cell1 >= Size1)
{
Print ("Îøèáêà â ôóíêöèè \"ChartArraySet()\". Íîìåð ÿ÷åéêè âòîðîé ðàçìåðíîñòè ïðåâûøàåò êîëè÷åñòâî ýëåìåíòîâ.");
Comment ("Îøèáêà â ôóíêöèè \"ChartArraySet()\".\nÍîìåð ÿ÷åéêè âòîðîé ðàçìåðíîñòè ïðåâûøàåò êîëè÷åñòâî ýëåìåíòîâ.");
return (false);
}
if (ObjectFind (Name) == -1) // Åñëè ãðàôè÷åñêîãî ìàññèâà íå ñóùåñòâóåò, ñîçäà¸ì íîâûé ñ îäíîé çàïîëíåííîé ÿ÷åéêîé. Âñå îñòàëüíûå çàïîëíÿåì íóëÿìè.
{
for (i = 0; i < Size0; i++) // Öèêë ïåðâîãî èçìåðåíèÿ.
{
for (j = 0; j < Size1; j++) // Öèêë âòîðîãî èçìåðåíèÿ.
{
k++; // Ñ÷¸ò÷èê âñåõ ýëåìåíòîâ.
if (i == Cell0 && j == Cell1) Text = Text + DoubleToStr (Value, Precision); // Åñëè àäðåñ ñîâïàë, çàíîñèì íîâîå çíà÷åíèå.
else Text = Text + "0"; // Âî âñå îñòàëüíûå ÿ÷åéêè çàíîñèì íóëè.
if (j != (Size1 - 1)) Text = Text + ";"; // Óñòàíàâëèâàåì ðàçäåëèòåëè âòîðîãî èçìåðåíèÿ.
else if (k != Size0 * Size1) Text = Text + "|"; // Óñòàíàâëèâàåì ðàçäåëèòåëè ïåðâîãî èçìåðåíèÿ.
}
}
}
else
{// Åñëè ãðàôè÷åñêèé ìàññèâ ñóùåñòâóåò, ñíà÷àëà ïðîâåðÿåì íà ñîîòâåòñòâèå ðàçìåðîâ èçìåðåíèé.
Text = "|" + ObjectDescription (Name) + ";"; // Âåñü òåêñò.
Length = StringLen (Text); // Äëèíà òåêñòà.
for (i = 0, j = 0, k = 0; i < Length; i++) // Öèêë ïî ýëåìåíòàì òåêñòà.
{
TextSymbol = StringSubstr (Text, i, 1); // Ñèìâîë.
if (TextSymbol == "|") j++; // Ïðîâåðÿåì íà ðàçäåëèòåëü ïåðâîãî èçìåðåíèÿ.
if (TextSymbol == ";" || TextSymbol == "|") k++; // Ïðîâåðÿåì íà ðàçäåëèòåëü âòîðîãî èçìåðåíèÿ.
}
k--;
if (j != Size0) // Êîíòðîëü ðàçìåðíîñòè ìàññèâà è çàÿâëåííîãî ïàðàìåòðà ðàçìåðíîñòè â ïåðâîì èçìåðåíèè.
{
Print ("Îøèáêà â ôóíêöèè \"ChartArraySet()\". Ðàçìåð ñóùåñòâóþùåãî ìàññèâà â ïåðâîì èçìåðåíèè íå ñîîòâåòñòâóåò çàÿâëåííîìó ïàðàìåòðó \"Size0\".");
Comment ("Îøèáêà â ôóíêöèè \"ChartArraySet()\".\nÐàçìåð ñóùåñòâóþùåãî ìàññèâà â ïåðâîì èçìåðåíèè íå ñîîòâåòñòâóåò çàÿâëåííîìó ïàðàìåòðó \"Size0\".");
return (false);
}
if (k / j != Size1) // Êîíòðîëü ðàçìåðíîñòè ìàññèâà è çàÿâëåííîãî ïàðàìåòðà ðàçìåðíîñòè âî âòîðîì èçìåðåíèè.
{
Print ("Îøèáêà â ôóíêöèè \"ChartArraySet()\". Ðàçìåð ñóùåñòâóþùåãî ìàññèâà âî âòîðîì èçìåðåíèè íå ñîîòâåòñòâóåò çàÿâëåííîìó ïàðàìåòðó \"Size0\".");
Comment ("Îøèáêà â ôóíêöèè \"ChartArraySet()\".\nÐàçìåð ñóùåñòâóþùåãî ìàññèâà âî âòîðîì èçìåðåíèè íå ñîîòâåòñòâóåò çàÿâëåííîìó ïàðàìåòðó \"Size1\".");
return (false);
}
// Èùèì íîìåðà ïîçèöèé äî è ïîñëå ÷èñëà.
for (i = 0, k = 0; i < Length; i++) // Öèêë ïî ýëåìåíòàì òåêñòà.
{
TextSymbol = StringSubstr (Text, i, 1); // Òåêóùèé ñèìâîë.
if (TextSymbol == ";" || TextSymbol == "|") // Èùèì ðàçäåëèòåëè.
{
if (k == (Cell0 * Size1 + Cell1)) // Åñëè ñîâïàë íîìåð ðàçäåëèòåëÿ ñ íîìåðîì èñêîìîé ïîçèöèè.
{
EndStr1 = i; // Íîìåð ïîçèöèè êîíöà ïåðâîé ñòðîêè äî ÷èñëà âêëþ÷àÿ ðàçäåëèòåëü.
break; // Âûõîäèì èç öèêëà.
}
k++; // Íîìåð ðàçäåëèòåëÿ.
}
}
for (i++; i < Length; i++) // Ïðîäîëæàåì öèêë ïî ýëåìåíòàì òåêñòà.
{
TextSymbol = StringSubstr (Text, i, 1); // Òåêóùèé ñèìâîë.
if (TextSymbol == ";" || TextSymbol == "|") // Ñëåäóþùèé ðàçäåëèòåëü.
{
StartStr2 = i; // Íîìåð ïîçèöèè íà÷àëà âòîðîé ñòðîêè ïîñëå ÷èñëà âêëþ÷àÿ ðàçäåëèòåëü.
break; // Âûõîäèì èç öèêëà.
}
}
// Ñèíòåçèðóåì íîâóþ ñòðîêó.
Text = StringSubstr (Text, 0, EndStr1 + 1) + DoubleToStr (Value, Precision) + StringSubstr (Text, StartStr2, 0);
Text = StringSubstr (Text, 1, StringLen (Text) - 2); // Óáèðàåì ïåðâûé è ïîñëåäíèé ñëóæåáíûå ðàçäåëèòåëè.
if (StringLen (Text) > 62)
{
Print ("Îøèáêà ñèíòåçà ñòðîêè â ôóíêöèè \"ChartArraySet()\". Ïîïûòêà çàïèñàòü â ìàññèâ êîëè÷åñòâî çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
Comment ("Îøèáêà ñèíòåçà ñòðîêè â ôóíêöèè \"ChartArraySet()\". Ïîïûòêà çàïèñàòü â ìàññèâ êîëè÷åñòâî çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
return (false);
}
}
// Ñîçäà¸ì îáúåêò.
if (ObjectCreate (Name, OBJ_LABEL, 0, 0, 0, 0, 0) == true)
{
if (ObjectFind ("ListGlobalGraphicVariable_0") == -1) // Åñëè ñïèñêà ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ íåò, òî ñîçäà¸ì åãî è âíîñèì èìÿ ïåðåìåííîé.
{
ObjectCreate ("ListGlobalGraphicVariable_0", OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_0", OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_0", Name, 10, "Areal", EMPTY);
}
else // Åñëè ñïèñîê ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ åñòü, òî äîïîëíÿåì åãî.
{
for (i = 0; i < 100; i++) // Öèêë ïî ñïèñêó.
{// Èùåì ïåðâûé îòñóòñòâóþùèé îáúåêò èëè ïóñòóþ çàïèñü.
if (ObjectFind ("ListGlobalGraphicVariable_" + i) == -1 || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "" || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "Label")
{// Åñëè íàøëè íîìåð îòñóòñòâóþùåãî îáúåêòà, ñîçäà¸ì åãî è çàïèñûâàåì â í¸ì èìÿ ïåðåìåííîé.
ObjectCreate ("ListGlobalGraphicVariable_" + i, OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_" + i, OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_" + i, Name, 10, "Areal", EMPTY);
break; // Âûõîäèì èç öèêëà.
}
}
}
}
ObjectSet (Name, OBJPROP_TIMEFRAMES, EMPTY);
return (ObjectSetText (Name, Text, 10, "Areal", EMPTY));
}
//====================================================================================================================================================
// 6. Ôóíêöèÿ ÷èòàåò âûáðàííóþ ÿ÷åéêó ãðàôè÷åñêîãî ìàññèâà ñ äàííûìè äâîéíîé òî÷íîñòè.================================================================
// Ôóíêöèÿ âîçâðàùàåò çíà÷åíèå âûáðàííîé ÿ÷åéêè èëè "-1" â ñëó÷àå îøèáêè. Åñëè ìàññèâ îäíîìåðíûé, òî ïàðàìåòð "Cell0" äîëæåí áûòü ðàâåí íóëþ.
double ChartArrayGet (string& Name, // Èìÿ ãðàôè÷åñêîãî ìàññèâà.
int& Cell0, // Íîìåð ÿ÷åéêè ïåðâîãî èçìåðåíèÿ.
int& Cell1) // Íîìåð ÿ÷åéêè âòîðîãî èçìåðåíèÿ.
{
int i, j, k;
int Length; // Äëèíà âñåãî òåêñòà.
int LengthNumber; // Äëèíà èçâëåêàåìîãî ÷èñëà.
int Start; // Ñòàðòîâàÿ ïîçèöèÿ äëÿ èçâëå÷åíèÿ ÷èñëà.
string Text = "|" + ObjectDescription (Name) + ";";
string TextSymbol = ""; // Ñòðîêîâûé ñèìâîë.
//----
Length = StringLen (Text);
for (i = 0; i < Length; i++)
{
TextSymbol = StringSubstr (Text, i, 1); // Òåêóùèé ñèìâîë.
if (TextSymbol == "|") // Åñëè íàøëè â ñòðîêå ðàçäåëèòåëü ïåðâîé ðàçìåðíîñòè èëè ìàññèâ îäíîìåðíûé.
{
if (j == Cell0) // Åñëè íîìåð ðàçäåëèòåëÿ ñîâïàäàåò ñ íîìåðîì ÿ÷åéêè â ïåðâîé ðàçìåðíîñòè.
{
for (; i < Length; i++) // Ïðîäîëæàåì íà÷àòûé îñíîâíîé öèêë.
{
TextSymbol = StringSubstr (Text, i, 1); // Òåêóùèé ñèìâîë.
if (TextSymbol == ";") // Åñëè íàøëè â ñòðîêå ðàçäåëèòåëü âòîðîé ðàçìåðíîñòè.
{
if (k == Cell1) // Åñëè íîìåð ðàçäåëèòåëÿ ñîâïàäàåò ñ íîìåðîì ÿ÷åéêè âî âòîðîé ðàçìåðíîñòè.
{
LengthNumber = i; // Çàïîìèíàåì ïîçèöèþ êîíöà ÷èñëà. Ðàçäåëèòåëü ";" íàõîäèòñÿ ïîñëå èñêîìîãî ÷èñëà.
for (i--; i >= 0; i--) // Ïðîäîëæàåì íà÷àòûé îñíîâíîé öèêë â îáðàòíóþ ñòîðîíó ê íà÷àëó ñòðîêè.
{
TextSymbol = StringSubstr (Text, i, 1); // Òåêóùèé ñèìâîë.
if (TextSymbol == ";" || TextSymbol == "|") // Ïî ñëåäóþùåìó ðàçäåëèòåëþ îïðåäåëÿåì äëèíó ÷èñëà.
{
Start = i + 1;
LengthNumber = LengthNumber - Start;
break;
}
}
return (StrToDouble (StringSubstr (Text, Start, LengthNumber)));
}
k++;
}
}
}
j++;
}
}
return (-1);
}
//====================================================================================================================================================
// 7. Ôóíêöèÿ âîçâðàùàåò ÷èñëî ýëåìåíòîâ â óêàçàííîì èçìåðåíèè ãðàôè÷åñêîãî ìàññèâà.==================================================================
// Âîçâðàùàåò ÷èñëî ýëåìåíòîâ â óêàçàííîì èçìåðåíèè ãðàôè÷åñêîãî ìàññèâà, â ïðîòèâíîì ñëó÷àå "-1".
int ChartArrayRange (string& Name, // Èìÿ ãðàôè÷åñêîãî ìàññèâà.
int& RangeIndex) // Èíäåêñ èçìåðåíèÿ.
{
int i, j, k; // Íîìåð ïîçèöèè íà÷àëà âòîðîé ñòðîêè ïîñëå ÷èñëà.
int Length; // Äëèíà âñåãî òåêñòà.
string Text = "|" + ObjectDescription (Name) + ";"; // Ìàññèâ â ñòðîêîâîì âèäå. Òåêñò.
string TextSymbol = ""; // Ñòðîêîâûé ñèìâîë.
//----
Length = StringLen (Text); // Äëèíà òåêñòà.
for (i = 0, j = 0, k = 0; i < Length; i++) // Öèêë ïî ýëåìåíòàì òåêñòà.
{
TextSymbol = StringSubstr (Text, i, 1); // Ñèìâîë.
if (TextSymbol == "|") j++; // Ïðîâåðÿåì íà ðàçäåëèòåëü ïåðâîãî èçìåðåíèÿ.
if (TextSymbol == ";" || TextSymbol == "|") k++; // Ïðîâåðÿåì íà ðàçäåëèòåëü ïåðâîãî è âòîðîãî èçìåðåíèé.
}
if (RangeIndex == 0) return (j); // Âîçâðàùàåì êîëè÷åñòâî ýëåìåíòîâ â ïåðâîì èçìåðåíèè.
if (RangeIndex == 1) return ((k - 1) / j); // Âîçâðàùàåì êîëè÷åñòâî ýëåìåíòîâ âî âòîðîì èçìåðåíèè.
return (-1);
}
//====================================================================================================================================================
// 8. Ôóíêöèÿ ìåíÿåò ðàçìåð óêàçàííîãî èçìåðåíèÿ ãðàôè÷åñêîãî ìàññèâà.================================================================================
// Ïðè óñïåøíîì âûïîëíåíèè ôóíêöèÿ âîçâðàùàåò êîëè÷åñòâî âñåõ ýëåìåíòîâ, ñîäåðæàùèõñÿ â ìàññèâå ïîñëå èçìåíåíèÿ ðàçìåðà,
// â ïðîòèâíîì ñëó÷àå âîçâðàùàåò -1, è ìàññèâ íå ìåíÿåò ðàçìåðû.
int ChartArrayResize (string& Name, // Èìÿ ãðàôè÷åñêîãî ìàññèâà.
int& RangeIndex, // Èíäåêñ èçìåðåíèÿ.
int& NewSize) // Íîâûé ðàçìåð.
{
int i, j, k, l; // Íîìåð ïîçèöèè íà÷àëà âòîðîé ñòðîêè ïîñëå ÷èñëà.
int Length; // Äëèíà âñåãî òåêñòà.
int Size0; // Ðàçìåð ïåðâîãî èçìåðåíèÿ.
int Size1; // Ðàçìåð âòîðîãî èçìåðåíèÿ.
string StringSize1 = ""; // Ñòðîêà äîïîëíÿåìîãî âòîðîãî èçìåðåíèÿ.
string Text = "|" + ObjectDescription (Name) + ";"; // Ìàññèâ â ñòðîêîâîì âèäå. Òåêñò. Äîáàâëÿåì ñëóæåáíûå ñèìâîëû.
string TextSymbol = ""; // Ñòðîêîâûé ñèìâîë.
// Ìàññèâû.
string ArraySize0[]; // Òåõíè÷åñêèé ìàññèâ äëÿ ñòðîê âòîðîãî èçìåðåíèÿ.
//----Êîíòðîëü âõîäíûõ ïàðàìåòðîâ.------------------------------------------------------------------------------------------------------------------
if (RangeIndex < 0 || 1 < RangeIndex) // Êîíòðîëü ïàðàìåòðà "Èíäåêñ èçìåðåíèÿ".
{
Print ("Îøèáêà â ôóíêöèè \"ChartArrayResize()\". Èíäåêñ èçìåðåíèÿ âûõîäèò çà ïðåäåëû âîçìîæíûõ çíà÷åíèé. RangeIndex = ", RangeIndex);
Comment ("Îøèáêà â ôóíêöèè \"ChartArrayResize()\".\nÈíäåêñ èçìåðåíèÿ âûõîäèò çà ïðåäåëû âîçìîæíûõ çíà÷åíèé.\nRangeIndex = ", RangeIndex);
return (-1);
}
if (NewSize < 0) // Êîíòðîëü ïàðàìåòðà "Íîâûé ðàçìåð".
{
Print ("Îøèáêà â ôóíêöèè \"ChartArrayResize()\". Íîâûé ðàçìåð âûõîäèò çà ïðåäåëû âîçìîæíûõ çíà÷åíèé. NewSize = ", NewSize);
Comment ("Îøèáêà â ôóíêöèè \"ChartArrayResize()\".\nÍîâûé ðàçìåð âûõîäèò çà ïðåäåëû âîçìîæíûõ çíà÷åíèé.\nNewSize = ", NewSize);
return (-1);
}
// Âû÷èñëÿåì ðàçìåð ñóùåñòâóþùåãî ìàññèâà.
Length = StringLen (Text); // Äëèíà òåêñòà.
for (i = 0, j = 0, k = 0; i < Length; i++) // Öèêë ïî ýëåìåíòàì òåêñòà.
{
TextSymbol = StringSubstr (Text, i, 1); // Ñèìâîë.
if (TextSymbol == "|") j++; // Ïðîâåðÿåì íà ðàçäåëèòåëü ïåðâîãî èçìåðåíèÿ.
if (TextSymbol == ";" || TextSymbol == "|") k++; // Ïðîâåðÿåì íà ðàçäåëèòåëü ïåðâîãî è âòîðîãî èçìåðåíèé.
}
Size0 = j; // Ðàçìåð ïåðâîãî èçìåðåíèÿ.
Size1 = (k - 1) / j; // Ðàçìåð âòîðîãî èçìåðåíèÿ.
//----Åñëè òðåáóåòñÿ èçìåíèòü ïåðâîå èçìåðåíèå.-----------------------------------------------------------------------------------------------------
if (RangeIndex == 0)
{
if (NewSize < Size0) // Åñëè íîâûé ðàçìåð ìåíüøå, ÷åì ñóùåñòâóþùèé.
{
for (i = 0, j = -1; i < Length; i++) // Öèêë ïî ýëåìåíòàì òåêñòà.
{
TextSymbol = StringSubstr (Text, i, 1); // Ñèìâîë.
if (TextSymbol == "|") j++; // Ïðîâåðÿåì íà ðàçäåëèòåëü ïåðâîãî èçìåðåíèÿ. Ñ÷èòàåì ðàçäåëèòåëè.
// Åñëè ñîâïàë íîâûé ðàçìåð ñ òåêóùèì ðàçäåëèòåëåì. Îáðåçàåì ñòðîêó è ìåíÿåì ñâîéñòâà îáúåêòà. Âîçâðàùàåì íîâîå êîëè÷åñòâî ýëåìåíòîâ.
if (j == NewSize) if (ObjectSetText (Name, StringSubstr (Text, 1, i - 1), 10, "Areal", EMPTY) == true) return (j * Size1);
}
}
if (NewSize == Size0) return (k - 1); // Åñëè íîâûé ðàçìåð ðàâåí ñóùåñòâóþùåìó.
if (NewSize > Size0) // Åñëè íîâûé ðàçìåð áîëüøå, ÷åì ñóùåñòâóþùèé.
{
StringSize1 = "|"; // Èíèöèàëèçèðóåì ïåðåìåííóþ ñòðîêè äîïîëíÿåìîãî âòîðîãî èçìåðåíèÿ.
for (i = 0; i < Size1; i++) // Ñèíòåçèðóåì âñþ ñòðîêó îäíîãî íîâîãî ýëåìåíòà ïåðâîãî èçìåðåíèÿ.
{
if (i == (Size1 - 1)) StringSize1 = StringSize1 + "0"; // Ïîñëå ïîñëåäíåãî ýëåìåíòà ðàçäåëèòåëü íå ñòàâèì.
else StringSize1 = StringSize1 + "0;";
}
Text = ObjectDescription (Name);
for (i = 0; i < (NewSize - Size0); i++) Text = Text + StringSize1;
// Êîíòðîëü íà äëèíó çàïèñè ìàññèâà ñ íîâûì ðàçìåðîì.
if (StringLen (Text) > 62)
{
Print ("Îøèáêà â ôóíêöèè \"ChartArrayResize()\". Ïîïûòêà ñîçäàòü ìàññèâ ñ êîëè÷åñòâîì çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
Comment ("Îøèáêà â ôóíêöèè \"ChartArrayResize()\".\nÏîïûòêà ñîçäàòü ìàññèâ ñ êîëè÷åñòâîì çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
return (-1);
}
if (ObjectSetText (Name, Text, 10, "Areal", EMPTY) == true) return ((Size0 + i) * Size1); // Âîçâðàùàåì íîâîå êîëè÷åñòâî ýëåìåíòîâ.
}
}
//----Åñëè òðåáóåòñÿ èçìåíèòü âòîðîå èçìåðåíèå.-----------------------------------------------------------------------------------------------------
if (RangeIndex == 1)
{
if (NewSize < Size1) // Åñëè íîâûé ðàçìåð ìåíüøå, ÷åì ñóùåñòâóþùèé.
{
ArrayResize (ArraySize0, Size0); // Èçìåíÿåì ðàçìåð òåõíè÷åñêîãî ìàññèâà ïî ðàçìåð ãðàôè÷åñêîãî ìàññèâà â ïåðâîì èçìåðåíèè.
for (i = 0; i < Size0; i++) ArraySize0[i] = ""; // Èíèöèàëèçèðóåì òåõíè÷åñêèé ìàññèâ ïóñòûìè ñòðîêàìè.
for (i = 0, j = -1, l = 0; i < Length; i++) // Öèêë ïî ýëåìåíòàì òåêñòà.
{
TextSymbol = StringSubstr (Text, i, 1); // Ñèìâîë.
if (TextSymbol == "|") // Ïðîâåðÿåì íà ðàçäåëèòåëü ïåðâîãî èçìåðåíèÿ.
{
j++; // Ñ÷èòàåì ðàçäåëèòåëè ïåðâîãî èçìåðåíèÿ.
k = 0; // Îáíóëÿåì ñ÷¸ò÷èê ðàçäåëèòåëåé âòîðîãî èçìåðåíèÿ.
}
if (TextSymbol == ";" || TextSymbol == "|") // Ïðîâåðÿåì íà ðàçäåëèòåëü ïåðâîãî è âòîðîãî èçìåðåíèé.
{
k++; // Ñ÷èòàåì ðàçäåëèòåëè âòîðîãî èçìåðåíèÿ.
if (k <= NewSize) l++; // Ñ÷èòàåì âñå íîâûå ýëåìåíòû.
}
if (k <= NewSize) ArraySize0[j] = ArraySize0[j] + TextSymbol; // Ñèíòåçèðóåì ñòðîêó ïåðâîãî èçìåðåíèÿ â ïðåäåëàõ íîâîãî ðàçìåðà âòîðîãî èçìåðåíèÿ.
}
//  ïåðâîé ÿ÷åéêè òåõíè÷åñêîãî ìàññèâà ñèíòåçèðóåì âñþ íîâóþ ñòðîêó äëÿ íîâîãî ðàçìåðà ãðàôè÷åñêîãî ìàññèâà.
for (i = 1; i < Size0; i++) ArraySize0[0] = ArraySize0[0] + ArraySize0[i];
// Îòðåçàåì ñëóæåáíûé ñèìâîë ñïåðåäè. Ìåíÿåì ñâîéñòâà îáúåêòà. Âîçâðàùàåì íîâîå êîëè÷åñòâî ýëåìåíòîâ.
if (ObjectSetText (Name, StringSubstr (ArraySize0[0], 1, 0), 10, "Areal", EMPTY) == true) return (l);
}
if (NewSize == Size1) return (k - 1); // Åñëè íîâûé ðàçìåð ðàâåí ñóùåñòâóþùåìó.
if (NewSize > Size1) // Åñëè íîâûé ðàçìåð áîëüøå, ÷åì ñóùåñòâóþùèé.
{
ArrayResize (ArraySize0, Size0); // Èçìåíÿåì ðàçìåð òåõíè÷åñêîãî ìàññèâà ïî ðàçìåð ãðàôè÷åñêîãî ìàññèâà â ïåðâîì èçìåðåíèè.
for (i = 0; i < Size0; i++) ArraySize0[i] = ""; // Èíèöèàëèçèðóåì òåõíè÷åñêèé ìàññèâ ïóñòûìè ñòðîêàìè.
Text = "|" + ObjectDescription (Name); // Ìàññèâ â ñòðîêîâîì âèäå. Òåêñò. Äîáàâëÿåì ñëóæåáíûå ñèìâîëû.
Length = StringLen (Text); // Äëèíà òåêñòà.
for (i = 0, j = -1, k = 0; i < Length; i++) // Öèêë ïî ýëåìåíòàì òåêñòà.
{
TextSymbol = StringSubstr (Text, i, 1); // Ñèìâîë.
if (TextSymbol == "|") j++; // Ïðîâåðÿåì íà ðàçäåëèòåëü ïåðâîãî èçìåðåíèÿ. Ñ÷èòàåì ðàçäåëèòåëè ïåðâîãî èçìåðåíèÿ.
if (TextSymbol == ";" || TextSymbol == "|") k++; // Ïðîâåðÿåì íà ðàçäåëèòåëü ïåðâîãî è âòîðîãî èçìåðåíèé.
ArraySize0[j] = ArraySize0[j] + TextSymbol; // Ñèíòåçèðóåì ñòðîêó ïåðâîãî èçìåðåíèÿ â ïðåäåëàõ íîâîãî ðàçìåðà âòîðîãî èçìåðåíèÿ.
}
StringSize1 = ";"; // Èíèöèàëèçèðóåì ïåðåìåííóþ ñòðîêè äîïîëíÿåìîãî âòîðîãî èçìåðåíèÿ.
for (i = 0, l = 0; i < (NewSize - Size1); i++, l++) // Ñèíòåçèðóåì ÷àñòü ñòðîêè íîâîãî ýëåìåíòà ïåðâîãî èçìåðåíèÿ.
{
if (i == (NewSize - Size1 - 1)) StringSize1 = StringSize1 + "0"; // Ïîñëå ïîñëåäíåãî ýëåìåíòà ðàçäåëèòåëü íå ñòàâèì.
else StringSize1 = StringSize1 + "0;";
}
// Ñèíòåçèðóåì âñþ ñòðîêó îäíîãî ýëåìåíòà ïåðâîãî èçìåðåíèÿ.
for (i = 0; i < Size0; i++) ArraySize0[i] = ArraySize0[i] + StringSize1;
//  ïåðâîé ÿ÷åéêè òåõíè÷åñêîãî ìàññèâà ñèíòåçèðóåì âñþ íîâóþ ñòðîêó äëÿ íîâîãî ðàçìåðà ãðàôè÷åñêîãî ìàññèâà.
for (i = 1; i < Size0; i++) ArraySize0[0] = ArraySize0[0] + ArraySize0[i];
// Îòðåçàåì ñëóæåáíûé ñèìâîë ñïåðåäè.
Text = StringSubstr (ArraySize0[0], 1, 0);
if (StringLen (Text) > 62)
{
Print ("Îøèáêà â ôóíêöèè \"ChartArrayResize()\". Ïîïûòêà ñîçäàòü ìàññèâ ñ êîëè÷åñòâîì çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
Comment ("Îøèáêà â ôóíêöèè \"ChartArrayResize()\".\nÏîïûòêà ñîçäàòü ìàññèâ ñ êîëè÷åñòâîì çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
return (-1);
}
// Ìåíÿåì ñâîéñòâà îáúåêòà. Âîçâðàùàåì íîâîå êîëè÷åñòâî ýëåìåíòîâ.
if (ObjectSetText (Name, Text, 10, "Areal", EMPTY) == true) return (k + l * Size0);
}
}
return (-1);
}
//====================================================================================================================================================
//ææææ Ôóíêöèè ñ ãðàôè÷åñêèìè ôàéëàìè. æææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// 9. Ôóíêöèÿ çàïèñûâàåò îäíîìåðíûé öåëî÷èñëåííûé ìàññèâ â ãðàôè÷åñêèé ôàéë.==========================================================================
// Åñëè ãëîáàëüíîãî ãðàôè÷åñêîãî ôàéëà íå ñóùåñòâóåò, ñîçäà¸òñÿ íîâûé ãðàôè÷åñêèé ôàéë.
//  ñëó÷àå óñïåõà ôóíêöèÿ âîçâðàùàåò çíà÷åíèå êîëè÷åñòâî çàïèñàííûõ çíàêîâ.  ïðîòèâíîì ñëó÷àå "-1".
int FileChartWriteArray1Int (string& Name, // Èìÿ ãðàôè÷åñêîãî ôàéëà.
int& Array[], // Ìàññèâ äëÿ çàïèñè.
int& Start, // Íà÷àëüíûé èíäåêñ â ìàññèâå (íîìåð ïåðâîãî çàïèñûâàåìîãî ýëåìåíòà).
int& Count) // Êîëè÷åñòâî çàïèñûâàåìûõ ýëåìåíòîâ.
{
int i;
int Length;
string Text = "";
// Êîíòðîëü âõîäíûõ ïàðàìåòðîâ.
if (Name == "" || Name == "Label") // Êîíòðîëü èìåíè.
{
Print ("Îøèáêà â ôóíêöèè \"FileChartWriteArray1Int()\". Íåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîãî ôàéëà.");
Comment ("Îøèáêà â ôóíêöèè \"FileChartWriteArray1Int()\".\nÍåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîãî ôàéëà.");
return (-1);
}
if (StringLen (Name) > 62) // Êîíòðîëü äëèíû èìåíè.
{
Print ("Îøèáêà â ôóíêöèè \"FileChartWriteArray1Int()\". Ñëèøêîì äëèííîå èìÿ ãðàôè÷åñêîãî ôàéëà. Êîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
Comment ("Îøèáêà â ôóíêöèè \"FileChartWriteArray1Int()\".\nÑëèøêîì äëèííîå èìÿ ãðàôè÷åñêîãî ôàéëà.\nÊîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
return (-1);
}
// Ñèíòåç ñòðîêè äëÿ çàïèñè.
for (i = Start; i < (Start + Count); i++)
{
Text = Text + DoubleToStr (Array[i], 0) + ";";
Length = StringLen (Text) - 1;
if (Length > 62)
{
Print ("Îøèáêà â ôóíêöèè \"FileChartWriteArray1Int()\". Ïîïûòêà çàïèñàòü â ìàññèâ êîëè÷åñòâî çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
Comment ("Îøèáêà â ôóíêöèè \"FileChartWriteArray1Int()\". Ïîïûòêà çàïèñàòü â ìàññèâ êîëè÷åñòâî çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
return (-1);
}
}
Text = StringSubstr (Text, 0, Length);
// Ñîçäà¸ì îáúåêò.
if (ObjectCreate (Name, OBJ_LABEL, 0, 0, 0, 0, 0) == true)
{
if (ObjectFind ("ListGlobalGraphicVariable_0") == -1) // Åñëè ñïèñêà ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ íåò, òî ñîçäà¸ì åãî è âíîñèì èìÿ ïåðåìåííîé.
{
ObjectCreate ("ListGlobalGraphicVariable_0", OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_0", OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_0", Name, 10, "Areal", EMPTY);
}
else // Åñëè ñïèñîê ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ åñòü, òî äîïîëíÿåì åãî.
{
for (i = 0; i < 100; i++) // Öèêë ïî ñïèñêó.
{// Èùåì ïåðâûé îòñóòñòâóþùèé îáúåêò èëè ïóñòóþ çàïèñü.
if (ObjectFind ("ListGlobalGraphicVariable_" + i) == -1 || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "" || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "Label")
{// Åñëè íàøëè íîìåð îòñóòñòâóþùåãî îáúåêòà, ñîçäà¸ì åãî è çàïèñûâàåì â í¸ì èìÿ ïåðåìåííîé.
ObjectCreate ("ListGlobalGraphicVariable_" + i, OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_" + i, OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_" + i, Name, 10, "Areal", EMPTY);
break; // Âûõîäèì èç öèêëà.
}
}
}
}
ObjectSet (Name, OBJPROP_TIMEFRAMES, EMPTY);
if (ObjectSetText (Name, Text, 10, "Areal", EMPTY) == true) return (Length);
return (-1);
}
//====================================================================================================================================================
//10. Ôóíêöèÿ çàïèñûâàåò äâóìåðíûé öåëî÷èñëåííûé ìàññèâ â ãðàôè÷åñêèé ôàéë.===========================================================================
// Åñëè ãëîáàëüíîãî ãðàôè÷åñêîãî ôàéëà íå ñóùåñòâóåò, ñîçäà¸òñÿ íîâûé ãðàôè÷åñêèé ôàéë.
//  ñëó÷àå óñïåõà ôóíêöèÿ âîçâðàùàåò çíà÷åíèå êîëè÷åñòâî çàïèñàííûõ çíàêîâ.  ïðîòèâíîì ñëó÷àå "-1".
int FileChartWriteArray2Int (string& Name, // Èìÿ ãðàôè÷åñêîãî ôàéëà.
int& Array[][]) // Ìàññèâ äëÿ çàïèñè.
{
int Size0 = ArrayRange (Array, 0);
int Size1 = ArrayRange (Array, 1);
int i, j;
int Length;
string Text = "";
// Êîíòðîëü âõîäíûõ ïàðàìåòðîâ.
if (Name == "" || Name == "Label") // Êîíòðîëü èìåíè.
{
Print ("Îøèáêà â ôóíêöèè \"FileChartWriteArray2Int()\". Íåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîãî ôàéëà.");
Comment ("Îøèáêà â ôóíêöèè \"FileChartWriteArray2Int()\".\nÍåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîãî ôàéëà.");
return (-1);
}
if (StringLen (Name) > 62) // Êîíòðîëü äëèíû èìåíè.
{
Print ("Îøèáêà â ôóíêöèè \"FileChartWriteArray2Int()\". Ñëèøêîì äëèííîå èìÿ ôàéëà. Êîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
Comment ("Îøèáêà â ôóíêöèè \"FileChartWriteArray2Int()\".\nÑëèøêîì äëèííîå èìÿ ôàéëà.\nÊîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
return (-1);
}
// Ñèíòåç ñòðîêè äëÿ çàïèñè.
for (i = 0; i < Size0; i++)
{
for (j = 0; j < Size1; j++)
{
if (j == (Size1 - 1)) Text = Text + DoubleToStr (Array[i][j], 0) + "|";
else Text = Text + DoubleToStr (Array[i][j], 0) + ";";
Length = StringLen (Text) - 1;
if (Length > 62)
{
Print ("Îøèáêà â ôóíêöèè \"FileChartWriteArray2Int()\". Ïîïûòêà çàïèñàòü â ìàññèâ êîëè÷åñòâî çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
Comment ("Îøèáêà â ôóíêöèè \"FileChartWriteArray2Int()\". Ïîïûòêà çàïèñàòü â ìàññèâ êîëè÷åñòâî çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
return (-1);
}
}
}
Text = StringSubstr (Text, 0, Length);
// Ñîçäà¸ì îáúåêò.
if (ObjectCreate (Name, OBJ_LABEL, 0, 0, 0, 0, 0) == true)
{
if (ObjectFind ("ListGlobalGraphicVariable_0") == -1) // Åñëè ñïèñêà ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ íåò, òî ñîçäà¸ì åãî è âíîñèì èìÿ ïåðåìåííîé.
{
ObjectCreate ("ListGlobalGraphicVariable_0", OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_0", OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_0", Name, 10, "Areal", EMPTY);
}
else // Åñëè ñïèñîê ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ åñòü, òî äîïîëíÿåì åãî.
{
for (i = 0; i < 100; i++) // Öèêë ïî ñïèñêó.
{// Èùåì ïåðâûé îòñóòñòâóþùèé îáúåêò èëè ïóñòóþ çàïèñü.
if (ObjectFind ("ListGlobalGraphicVariable_" + i) == -1 || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "" || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "Label")
{// Åñëè íàøëè íîìåð îòñóòñòâóþùåãî îáúåêòà, ñîçäà¸ì åãî è çàïèñûâàåì â í¸ì èìÿ ïåðåìåííîé.
ObjectCreate ("ListGlobalGraphicVariable_" + i, OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_" + i, OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_" + i, Name, 10, "Areal", EMPTY);
break; // Âûõîäèì èç öèêëà.
}
}
}
}
ObjectSet (Name, OBJPROP_TIMEFRAMES, EMPTY);
if (ObjectSetText (Name, Text, 10, "Areal", EMPTY) == true) return (Length);
return (-1);
}
//====================================================================================================================================================
//11. Ôóíêöèÿ çàïèñûâàåò îäíîìåðíûé ìàññèâ ñ äàííûìè äâîéíîé òî÷íîñòè â ãðàôè÷åñêèé ôàéë.=============================================================
// Åñëè ãëîáàëüíîãî ãðàôè÷åñêîãî ìàññèâà íå ñóùåñòâóåò, ñîçäà¸òñÿ íîâàÿ ãëîáàëüíûé ãðàôè÷åñêèé îäíîìåðíûé ìàññèâ.
//  ñëó÷àå óñïåõà ôóíêöèÿ âîçâðàùàåò çíà÷åíèå êîëè÷åñòâî çàïèñàííûõ çíàêîâ.  ïðîòèâíîì ñëó÷àå "-1".
int FileChartWriteArray1Double (string& Name, // Èìÿ ãðàôè÷åñêîãî ôàéëà.
double& Array[], // Ìàññèâ äëÿ çàïèñè.
int& Precision, // Òî÷íîñòü çàïèñè â çíàêàõ ïîñëå çàïÿòîé.
int& Start, // Íà÷àëüíûé èíäåêñ â ìàññèâå (íîìåð ïåðâîãî çàïèñûâàåìîãî ýëåìåíòà).
int& Count) // Êîëè÷åñòâî çàïèñûâàåìûõ ýëåìåíòîâ.
{
int i;
int Length;
string Text = "";
// Êîíòðîëü âõîäíûõ ïàðàìåòðîâ.
if (Name == "" || Name == "Label") // Êîíòðîëü èìåíè.
{
Print ("Îøèáêà â ôóíêöèè \"FileChartWriteArray1Double()\". Íåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîãî ôàéëà.");
Comment ("Îøèáêà â ôóíêöèè \"FileChartWriteArray1Double()\".\nÍåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîãî ôàéëà.");
return (-1);
}
if (StringLen (Name) > 62) // Êîíòðîëü äëèíû èìåíè.
{
Print ("Îøèáêà â ôóíêöèè \"FileChartWriteArray1Double()\". Ñëèøêîì äëèííîå èìÿ ôàéëà. Êîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
Comment ("Îøèáêà â ôóíêöèè \"FileChartWriteArray1Double()\".\nÑëèøêîì äëèííîå èìÿ ôàéëà.\nÊîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
return (-1);
}
// Ñèíòåç ñòðîêè äëÿ çàïèñè.
for (i = Start; i < (Start + Count); i++)
{
Text = Text + DoubleToStr (Array[i], Precision) + ";";
Length = StringLen (Text) - 1;
if (Length > 62)
{
Print ("Îøèáêà â ôóíêöèè \"FileChartWriteArray1Double()\". Ïîïûòêà çàïèñàòü â ìàññèâ êîëè÷åñòâî çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
Comment ("Îøèáêà â ôóíêöèè \"FileChartWriteArray1Double()\". Ïîïûòêà çàïèñàòü â ìàññèâ êîëè÷åñòâî çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
return (-1);
}
}
Text = StringSubstr (Text, 0, Length);
// Ñîçäà¸ì îáúåêò.
if (ObjectCreate (Name, OBJ_LABEL, 0, 0, 0, 0, 0) == true)
{
if (ObjectFind ("ListGlobalGraphicVariable_0") == -1) // Åñëè ñïèñêà ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ íåò, òî ñîçäà¸ì åãî è âíîñèì èìÿ ïåðåìåííîé.
{
ObjectCreate ("ListGlobalGraphicVariable_0", OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_0", OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_0", Name, 10, "Areal", EMPTY);
}
else // Åñëè ñïèñîê ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ åñòü, òî äîïîëíÿåì åãî.
{
for (i = 0; i < 100; i++) // Öèêë ïî ñïèñêó.
{// Èùåì ïåðâûé îòñóòñòâóþùèé îáúåêò èëè ïóñòóþ çàïèñü.
if (ObjectFind ("ListGlobalGraphicVariable_" + i) == -1 || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "" || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "Label")
{// Åñëè íàøëè íîìåð îòñóòñòâóþùåãî îáúåêòà, ñîçäà¸ì åãî è çàïèñûâàåì â í¸ì èìÿ ïåðåìåííîé.
ObjectCreate ("ListGlobalGraphicVariable_" + i, OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_" + i, OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_" + i, Name, 10, "Areal", EMPTY);
break; // Âûõîäèì èç öèêëà.
}
}
}
}
ObjectSet (Name, OBJPROP_TIMEFRAMES, EMPTY);
if (ObjectSetText (Name, Text, 10, "Areal", EMPTY) == true) return (Length);
return (-1);
}
//====================================================================================================================================================
//12. Ôóíêöèÿ çàïîëíÿåò çíà÷åíèÿìè äâîéíîé òî÷íîñòè ãëîáàëüíûé ãðàôè÷åñêèé äâóìåðíûé ìàññèâ.==========================================================
// Çàïîëíÿåò íîâûìè ýëåìåíòàìè ñóùåñòâóþùåãî ãëîáàëüíîãî ãðàôè÷åñêîãî ìàññèâà.
// Åñëè ãëîáàëüíîãî ãðàôè÷åñêîãî ìàññèâà íå ñóùåñòâóåò, ñîçäà¸òñÿ íîâàÿ ãëîáàëüíûé ãðàôè÷åñêèé îäíîìåðíûé ìàññèâ.
//  ñëó÷àå óñïåõà ôóíêöèÿ âîçâðàùàåò çíà÷åíèå êîëè÷åñòâî çàïèñàííûõ çíàêîâ.  ïðîòèâíîì ñëó÷àå "-1".
int FileChartWriteArray2Double (string& Name, // Èìÿ ãðàôè÷åñêîãî ôàéëà.
double& Array[][], // Ìàññèâ äëÿ çàïèñè.
int& Precision) // Òî÷íîñòü çàïèñè â çíàêàõ ïîñëå çàïÿòîé.
{
int Size0 = ArrayRange (Array, 0);
int Size1 = ArrayRange (Array, 1);
int i, j;
int Length;
string Text = "";
// Êîíòðîëü âõîäíûõ ïàðàìåòðîâ.
if (Name == "" || Name == "Label") // Êîíòðîëü èìåíè.
{
Print ("Îøèáêà â ôóíêöèè \"FileChartWriteArray2Double()\". Íåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîãî ôàéëà.");
Comment ("Îøèáêà â ôóíêöèè \"FileChartWriteArray2Double()\".\nÍåäîïóñòèìîå íàçâàíèå ãðàôè÷åñêîãî ôàéëà.");
return (-1);
}
if (StringLen (Name) > 62) // Êîíòðîëü äëèíû èìåíè.
{
Print ("Îøèáêà â ôóíêöèè \"FileChartWriteArray2Double()\". Ñëèøêîì äëèííîå èìÿ ôàéëà. Êîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
Comment ("Îøèáêà â ôóíêöèè \"FileChartWriteArray2Double()\".\nÑëèøêîì äëèííîå èìÿ ôàéëà.\nÊîëè÷åñòâî çíàêîâ â èìåíè äîëæíî áûòü ìåíåå 62 çíàêîâ.");
return (-1);
}
// Ñèíòåç ñòðîêè äëÿ çàïèñè.
for (i = 0; i < Size0; i++)
{
for (j = 0; j < Size1; j++)
{
if (j == (Size1 - 1)) Text = Text + DoubleToStr (Array[i][j], Precision) + "|";
else Text = Text + DoubleToStr (Array[i][j], Precision) + ";";
Length = StringLen (Text) - 1;
if (Length > 62)
{
Print ("Îøèáêà â ôóíêöèè \"FileChartWriteArray2Double()\". Ïîïûòêà çàïèñàòü â ìàññèâ êîëè÷åñòâî çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
Comment ("Îøèáêà â ôóíêöèè \"FileChartWriteArray2Double()\". Ïîïûòêà çàïèñàòü â ìàññèâ êîëè÷åñòâî çíàêîâ áîëåå 62 ñ ó÷¸òîì ðàçäåëèòåëåé.");
return (-1);
}
}
}
Text = StringSubstr (Text, 0, Length);
// Ñîçäà¸ì îáúåêò.
if (ObjectCreate (Name, OBJ_LABEL, 0, 0, 0, 0, 0) == true)
{
if (ObjectFind ("ListGlobalGraphicVariable_0") == -1) // Åñëè ñïèñêà ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ íåò, òî ñîçäà¸ì åãî è âíîñèì èìÿ ïåðåìåííîé.
{
ObjectCreate ("ListGlobalGraphicVariable_0", OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_0", OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_0", Name, 10, "Areal", EMPTY);
}
else // Åñëè ñïèñîê ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ åñòü, òî äîïîëíÿåì åãî.
{
for (i = 0; i < 100; i++) // Öèêë ïî ñïèñêó.
{// Èùåì ïåðâûé îòñóòñòâóþùèé îáúåêò èëè ïóñòóþ çàïèñü.
if (ObjectFind ("ListGlobalGraphicVariable_" + i) == -1 || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "" || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "Label")
{// Åñëè íàøëè íîìåð îòñóòñòâóþùåãî îáúåêòà, ñîçäà¸ì åãî è çàïèñûâàåì â í¸ì èìÿ ïåðåìåííîé.
ObjectCreate ("ListGlobalGraphicVariable_" + i, OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet ("ListGlobalGraphicVariable_" + i, OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_" + i, Name, 10, "Areal", EMPTY);
break; // Âûõîäèì èç öèêëà.
}
}
}
}
ObjectSet (Name, OBJPROP_TIMEFRAMES, EMPTY);
if (ObjectSetText (Name, Text, 10, "Areal", EMPTY) == true) return (Length);
return (-1);
}
//====================================================================================================================================================
//13. Ôóíêöèÿ ÷èòàåò óêàçàííîå ÷èñëî ýëåìåíòîâ èç ãðàôè÷åñêîãî ôàéëà â îäíîìåðíûé öåëî÷èñëåííûé ìàññèâ.===============================================
// Ïåðåä ÷òåíèåì äàííûõ ìàññèâ äîëæåí áûòü äîñòàòî÷íîãî ðàçìåðà.
// Ôóíêöèÿ âîçâðàùàåò êîëè÷åñòâî ôàêòè÷åñêè ïðî÷èòàííûõ ýëåìåíòîâ.
int FileChartReadArray1Int (string& Name, // Èìÿ ãðàôè÷åñêîãî ôàéëà.
int& Array[], // Ìàññèâ, êóäà äàííûå áóäóò çàãðóæåíû.
int& Start, // Ñòàðòîâàÿ ïîçèöèÿ äëÿ çàïèñè â ìàññèâ.
int& Count) // Êîëè÷åñòâî ýëåìåíòîâ äëÿ ÷òåíèÿ.
{
int i;
int j = 0;
int Length;
string Text = ObjectDescription (Name) + ";";
string TextNumber = ""; // Ïðåîáðàçóåìîå ÷èñëî â ñòðîêîâîì âèäå.
string TextSymbol = ""; // Ñòðîêîâûé ñèìâîë.
//----
Length = StringLen (Text);
for (i = 0; i < Length; i++)
{
TextSymbol = StringSubstr (Text, i, 1);
if (TextSymbol == ";")
{
if (Count == j) break;
Array[Start + j] = StrToInteger (TextNumber);
TextNumber = ""; // Èíèöèàëèçèðóåì çàíîâî.
TextSymbol = ""; // Èíèöèàëèçèðóåì çàíîâî.
j++;
}
else TextNumber = TextNumber + TextSymbol;
}
return (j);
}
//====================================================================================================================================================
//14. Ôóíêöèÿ ÷èòàåò âñå ýëåìåíòû èç ãðàôè÷åñêîãî ôàéëà â äâóìåðíûé öåëî÷èñëåííûé ìàññèâ.=============================================================
// Ïåðåä ÷òåíèåì äàííûõ ìàññèâ äîëæåí áûòü äîñòàòî÷íîãî ðàçìåðà âî âòîðîì èçìåðåíèè.
// Åñëè ôàéë çàïèñàí áåç ðàçäåëèòåëÿ "|", êàê îäíîìåðíûé ìàññèâ, òî îí áóäåò ïðî÷èòàí ñîãëàñíî ðàçìåðà ïðèíèìàþùåãî ìàññèâà.
// Ðàçìåð ìàññèâà ìåíüøèé, ÷åì ðàññòàíîâêà ðàçäåëèòåëåé, ïðèâîäèò ê îøèáêàì ÷òåíèÿ. Ìàññèâ çàïîëíÿåòñÿ íå ïðàâèëüíî.
// Ôóíêöèÿ âîçâðàùàåò êîëè÷åñòâî ôàêòè÷åñêè ïðî÷èòàííûõ ýëåìåíòîâ.
int FileChartReadArray2Int (string& Name, // Èìÿ ãðàôè÷åñêîãî ôàéëà.
int& Array[][]) // Ìàññèâ, êóäà äàííûå áóäóò çàãðóæåíû.
{
int Size0 = ArrayRange (Array, 0); // Ðàçìåð ïåðâîãî èçìåðåíèÿ.
int Size1 = ArrayRange (Array, 1); // Ðàçìåð âòîðîãî èçìåðåíèÿ.
int i; // Íîìåð ïîçèöèè â ñòðîêå.
int j = 0; // Íîìåð ÿ÷åéêè ïåðâîãî èçìåðåíèÿ.
int k = 0; // Íîìåð ÿ÷åéêè âòîðîãî èçìåðåíèÿ.
int AmountElement = 0; // Êîëè÷åñòâî ýëåìåíòîâ.
int Length; // Äëèíà ñòðîêè.
string Text = ObjectDescription (Name) + ";"; // Âñÿ ñòðîêà.
string TextNumber = ""; // Ïðåîáðàçóåìîå ÷èñëî â ñòðîêîâîì âèäå.
string TextSymbol = ""; // Ñòðîêîâûé ñèìâîë.
//----
Length = StringLen (Text); // Äëèíà òåêñòîâîé ñòðîêè.
for (i = 0; i < Length; i++) // Öèêë ïî ýëåìåíòàì òåêñòîâîé ñòðîêè.
{
TextSymbol = StringSubstr (Text, i, 1); // Âûäåëÿåì ñèìâîë.
if (TextSymbol == ";" || TextSymbol == "|" || k == Size1) // Åñëè íàøëè ðàçäåîèòåëü.
{
Array[j][k] = StrToInteger (TextNumber); // Êëàä¸ì â ìàññèâ íàéäåííîå ÷èñëî.
k++; // Óâåëè÷èâàåò çíà÷åíèå ñ÷¸ò÷èêà ðàçäåëèòåëåé âòîðîé ðàçìåðíîñòè.
if (TextSymbol == "|" || k == Size1) // Åñëè ðàçäåëèòåëü ïåðâîé ðàçìåðíîñòè èëè ñ÷¸ò÷èê âòîðîé ðàçìåðíîñòè ñîâïàë ñ ðàçìåðîì âòîðîé ðàçìåðíîñòè.
{
j++; // Óâåëè÷èâàåò çíà÷åíèå ñ÷¸ò÷èêà ðàçäåëèòåëåé ïåðâîé ðàçìåðíîñòè.
k = 0; // Îáíóëÿåì ñ÷¸ò÷èê ðàçäåëèòåëåé âòîðîé ðàçìåðíîñòè.
}
AmountElement++; // Ñ÷¸ò÷èê êîëè÷åñòâà ýëåìåíòîâ.
if (j >= Size0) break; // Âûõîäèì èç öèêëà, åñëè ñ÷¸ò÷èê ïåðâîé ðàçìåðíîñòè ðàâåí êîëè÷åñòâó ýëåìåíòîâ ïåðâîé ðàçìåðíîñòè.
TextNumber = ""; // Èíèöèàëèçèðóåì çàíîâî.
TextSymbol = ""; // Èíèöèàëèçèðóåì çàíîâî.
}
else TextNumber = TextNumber + TextSymbol; // Ñèíòåçèðóåì ÷èñëî.
}
return (AmountElement);
}
//====================================================================================================================================================
//15. Ôóíêöèÿ ÷èòàåò óêàçàííîå ÷èñëî ýëåìåíòîâ èç ãðàôè÷åñêîãî ôàéëà â îäíîìåðíûé ìàññèâ äàííûõ äâîéíîé òî÷íîñòè.=====================================
// Ïåðåä ÷òåíèåì äàííûõ ìàññèâ äîëæåí áûòü äîñòàòî÷íîãî ðàçìåðà.
// Ôóíêöèÿ âîçâðàùàåò êîëè÷åñòâî ôàêòè÷åñêè ïðî÷èòàííûõ ýëåìåíòîâ.
int FileChartReadArray1Double (string& Name, // Èìÿ ãðàôè÷åñêîãî ôàéëà.
double& Array[], // Ìàññèâ, êóäà äàííûå áóäóò çàãðóæåíû.
int& Start, // Ñòàðòîâàÿ ïîçèöèÿ äëÿ çàïèñè â ìàññèâ.
int& Count) // Êîëè÷åñòâî ýëåìåíòîâ äëÿ ÷òåíèÿ.
{
int i;
int j = 0;
int Length;
string Text = ObjectDescription (Name) + ";";
string TextNumber = ""; // Ïðåîáðàçóåìîå ÷èñëî â ñòðîêîâîì âèäå.
string TextSymbol = ""; // Ñòðîêîâûé ñèìâîë.
//----
Length = StringLen (Text);
for (i = 0; i < Length; i++)
{
TextSymbol = StringSubstr (Text, i, 1);
if (TextSymbol == ";")
{
if (Count == j) break;
Array[Start + j] = StrToInteger (TextNumber);
TextNumber = ""; // Èíèöèàëèçèðóåì çàíîâî.
TextSymbol = ""; // Èíèöèàëèçèðóåì çàíîâî.
j++;
}
else TextNumber = TextNumber + TextSymbol;
}
return (j);
}
//====================================================================================================================================================
//16. Ôóíêöèÿ ÷èòàåò âñå ýëåìåíòû èç ãðàôè÷åñêîãî ôàéëà â äâóìåðíûé öåëî÷èñëåííûé ìàññèâ äàííûõ äâîéíîé òî÷íîñòè.=====================================
// Ïåðåä ÷òåíèåì äàííûõ ìàññèâ äîëæåí áûòü äîñòàòî÷íîãî ðàçìåðà âî âòîðîì èçìåðåíèè.
// Åñëè ôàéë çàïèñàí áåç ðàçäåëèòåëÿ "|", êàê îäíîìåðíûé ìàññèâ, òî îí áóäåò ïðî÷èòàí ñîãëàñíî ðàçìåðà ìàññèâà.
// Ðàçìåð ìàññèâà ìåíüøèé, ÷åì ðàññòàíîâêà ðàçäåëèòåëåé, ïðèâîäèò ê îøèáêàì ÷òåíèÿ. Ìàññèâ çàïîëíÿåòñÿ íå ïðàâèëüíî.
// Ôóíêöèÿ âîçâðàùàåò êîëè÷åñòâî ôàêòè÷åñêè ïðî÷èòàííûõ ýëåìåíòîâ.
int FileChartReadArray2double (string& Name, // Èìÿ ãðàôè÷åñêîãî ôàéëà.
double& Array[][]) // Ìàññèâ, êóäà äàííûå áóäóò çàãðóæåíû.
{
int Size0 = ArrayRange (Array, 0); // Ðàçìåð ïåðâîé ðàçìåðíîñòè.
int Size1 = ArrayRange (Array, 1); // Ðàçìåð âòîðîé ðàçìåðíîñòè.
int i; // Íîìåð ïîçèöèè â ñòðîêå.
int j = 0; // Íîìåð ÿ÷åéêè ïåðâîé ðàçìåðíîñòè.
int k = 0; // Íîìåð ÿ÷åéêè âòîðîé ðàçìåðíîñòè.
int AmountElement = 0; // Êîëè÷åñòâî ýëåìåíòîâ.
int Length; // Äëèíà ñòðîêè.
string Text = ObjectDescription (Name) + ";"; // Âñÿ ñòðîêà.
string TextNumber = ""; // Ïðåîáðàçóåìîå ÷èñëî â ñòðîêîâîì âèäå.
string TextSymbol = ""; // Ñòðîêîâûé ñèìâîë.
//----
Length = StringLen (Text);
for (i = 0; i < Length; i++)
{
TextSymbol = StringSubstr (Text, i, 1);
if (TextSymbol == ";" || TextSymbol == "|" || k == Size1)
{
Array[j][k] = StrToInteger (TextNumber);
k++;
if (TextSymbol == "|" || Size1 == k)
{
j++;
k = 0;
}
AmountElement++;
if (j >= Size0) break;
TextNumber = ""; // Èíèöèàëèçèðóåì çàíîâî.
TextSymbol = ""; // Èíèöèàëèçèðóåì çàíîâî.
}
else TextNumber = TextNumber + TextSymbol;
}
return (AmountElement);
}
//====================================================================================================================================================
//ææææ Ñëóæåáíûå ôóíêöèè ñ ãëîáàëüíûìè ãðàôè÷åñêèìè ïåðåìåííûìè, ìàññèâàìè è ôàéëàìè. ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//17. Ôóíêöèÿ êîíòðîëÿ íàëè÷èÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.=====================================================================================
// Âîçâðàùàåò çíà÷åíèå TRUE, åñëè ãëîáàëüíàÿ ãðàôè÷åñêàÿ ïåðåìåííàÿ ñóùåñòâóåò, èíà÷å âîçâðàùàåò FALSE.
bool GlobalChartVariableCheck (string& Name) // Èìÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.
{
if (ObjectFind (Name) == -1) return (false);
else return (true);
}
//====================================================================================================================================================
//18. Ôóíêöèÿ óäàëåíèÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.=============================================================================================
// Óäàëåíèå ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé ñ óêàçàííûì èìåíåì.
// Ïðè óñïåøíîì óäàëåíèè ôóíêöèÿ âîçâðàùàåò TRUE, èíà÷å FALSE.
bool GlobalChartVariableDel (string& Name) // Èìÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.
{
int i;
//----
for (i = 0; i < 100; i++) // Öèêë ïî ñïèñêó ïåðåìåííûõ.
{// Åñëè íàøëè óäàëÿåìóþ ïåðåìåííóþ.
if (ObjectDescription ("ListGlobalGraphicVariable_" + i) == Name)
{
for (; i < 100; i++) // Ïðîäîëæàåì íà÷àòûé öèêë ïî ñïèñêó ïåðåìåííûõ. Ñîðòèðîâêà.
{
if (ObjectFind ("ListGlobalGraphicVariable_" + i) == -1 || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "")
{// Óäàëÿåì ïîñëåäíèå ïóñòûå ñòðîêè â ñïèñêå ãðàôè÷åñêèõ ïåðåìåííûõ.
for (; ObjectDescription ("ListGlobalGraphicVariable_" + i) == "" || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "Label"; i--) ObjectDelete ("ListGlobalGraphicVariable_" + i);
// Âûõîäèì èç öèêëà, çàâåðøàåì ôóíêöèþ óäàëåíèåì ãðàôè÷åñêîé ïåðåìåííîé, åñëè ñëåäóþùåãî îáúåêòà íåò èëè îí íå èìååò îïèñàíèÿ.
return (ObjectDelete (Name));
}
// Ïåðåíîñèì ñëåäóþùèå çàïèñè íà îñâîáîäèâøååñÿ ìåñòî.
ObjectSetText ("ListGlobalGraphicVariable_" + i, ObjectDescription (StringConcatenate("ListGlobalGraphicVariable_", i + 1)), 10, "Areal", EMPTY);
}
}
}
return (ObjectDelete (Name));
}
//====================================================================================================================================================
//19. Ôóíêöèÿ âîçâðàùàåò èìÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé ïî ïîðÿäêîâîìó íîìåðó â ñïèñêå ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ.======================
// Êîëè÷åñòâî ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ íå ìîæåò áûòü áîëüøå 100. Ïåðâûé èíäåêñ ðàâåí íóëþ. Ïîñëåäíèé èíäåêñ ðàâåí 99.
// Åñëè ïîä èñêîìûì èíäåêñîì íåò ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé, òî ôóíêöèÿ âåðí¸ò ïóñòóþ ñòðîêó.
string GlobalChartVariableName (int& Index) // Ïîðÿäêîâûé íîìåð â ñïèñêå ãëîáàëüíûõ ïåðåìåííûõ. Äîëæåí áûòü áîëüøèì èëè ðàâíûì 0 è ìåíüøèì, ÷åì GlobalChartVariablesTotal().
{
return (ObjectDescription ("ListGlobalGraphicVariable_" + Index));
}
//====================================================================================================================================================
//20. Ôóíêöèÿ âîçâðàùàåò îáùåå êîëè÷åñòâî ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ.==========================================================================
//  ñëó÷àå îøèáêè âîçâðàùàåò "-1".
int GlobalChartVariablesTotal()
{
int i;
string Name;
//----
for (i = 0; i < 100; i++)
{
Name = "ListGlobalGraphicVariable_" + i;
if (ObjectFind (Name) == -1 || ObjectDescription (Name) == "" || ObjectDescription (Name) == "Label") return (i);
}
return (-1);
}
//====================================================================================================================================================
//21. Ôóíêöèÿ óäàëÿåò ãëîáàëüíûå ãðàôè÷åñêèå ïåðåìåííûå.==============================================================================================
// Óäàëÿåò ãëîáàëüíûå ãðàôè÷åñêèå ïåðåìåííûå. Åñëè ïðåôèêñ äëÿ èìåíè íå çàäàí, òî óäàëÿþòñÿ âñå ãëîáàëüíûå ãðàôè÷åñêèå ïåðåìåííûå.
//  ïðîòèâíîì ñëó÷àå óäàëÿþòñÿ òîëüêî òå ãëîáàëüíûå ãðàôè÷åñêèå ïåðåìåííûå, èìåíà êîòîðûõ íà÷èíàþòñÿ íà óêàçàííûé ïðåôèêñ.
// Ôóíêöèÿ âîçâðàùàåò êîëè÷åñòâî óäàëåííûõ ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ â ïðîòèâíîì ñëó÷àå âîçâðàùàåò "-1".
int GlobalChartVariablesDeleteAll (string& PrefixName) // Ïðåôèêñ èìåíè óäàëÿåìûõ ãëîáàëüíûõ ïåðåìåííûõ.
{
int AmountDelete; // Êîëè÷åñòâî óäàë¸ííûõ ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ.
int i, j;
int Length; // Äëèíà ñòðîêè.
//----
if (PrefixName == "") // Åñëè ïðåôèêñ íå çàäàí, òî óäàëÿåì âñå ãëîáàëüíûå ãðàôè÷åñêèå ïåðåìåííûå.
{
for (i = 0; i < 100; i++) // Öèêë ïî ñïèñêó ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ.
{
if (ObjectFind ("ListGlobalGraphicVariable_" + i) == -1) return (i); // Çàâåðøàåì ôóíêöèþ, åñëè ñëåäóþùåé çàïèñè íåò.
ObjectDelete (ObjectDescription ("ListGlobalGraphicVariable_" + i)); // Óäàëÿåì ãëîáàëüíóþ ãðàôè÷åñêóþ ïåðåìåííóþ.
ObjectDelete ("ListGlobalGraphicVariable_" + i); // Óäàëÿåì ÷àñòü ñïèñêà ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ.
}
}
else // Åñëè ïðåôèêñ çàäàí, òî óäàëÿåì ïî ìàñêå.
{// Óäàëÿåì íàéäåííûå ãðàôè÷åñêèå ïåðåìåííûå è îáíóëÿåì çàïèñè î íèõ â ñïèñêå.
Length = StringLen (PrefixName);
for (i = 0; i < 100; i++) // Öèêë ïî ñïèñêó ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ.
{
if (StringSubstr (ObjectDescription ("ListGlobalGraphicVariable_" + i), 0, Length) == PrefixName)
{
AmountDelete++; // Ñ÷¸ò÷èê óäàë¸ííûõ ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ.
ObjectDelete (ObjectDescription ("ListGlobalGraphicVariable_" + i)); // Óäàëÿåì ãëîáàëüíóþ ãðàôè÷åñêóþ ïåðåìåííóþ.
ObjectSetText ("ListGlobalGraphicVariable_" + i, "", 10, "Areal", EMPTY); // Óäàëÿåì èìÿ èç ñïèñêà.
}
}
// Ñîðòèðîâêà. Çàïèñè ñäâèãàåì â íà÷àëî íà ñâîáîäíûå ìåñòà.
for (i = 0; i < 100 && ObjectFind ("ListGlobalGraphicVariable_" + j) != -1; i++) // Öèêë ïî ñïèñêó ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ. Âûõîäèì èç öèêëà, åñëè ñëåäóþùåãî îáúåêòà (çàïèñè) íåò.
{
if (ObjectDescription ("ListGlobalGraphicVariable_" + i) == "" || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "Label") // Åñëè íàøëè ïóñòóþ ïîçèöèþ.
{
j = i; // Íîìåð ïåðâîé ïóñòîé ïîçèöèè â ñïèñêå.
// Ïðîäîëæàåì íà÷àòûé öèêë ïî ñïèñêó ïåðåìåííûõ. Âûõîäèì èç öèêëà, åñëè ñëåäóþùåãî îáúåêòà (çàïèñè) íåò.
for (j++; j < 100 && ObjectFind ("ListGlobalGraphicVariable_" + j) != -1; j++)
{// Èùåì ñëåäóþùóþ çàíÿòóþ ñòðîêó.
if (ObjectDescription ("ListGlobalGraphicVariable_" + j) != "" && ObjectDescription ("ListGlobalGraphicVariable_" + j) != "Label")
{// Ïåðåíîñèì ñëåäóþùèå çàïèñè íà îñâîáîäèâøååñÿ ìåñòî.
ObjectSetText ("ListGlobalGraphicVariable_" + i, ObjectDescription ("ListGlobalGraphicVariable_" + j), 10, "Areal", EMPTY);
ObjectSetText ("ListGlobalGraphicVariable_" + j, "", 10, "Areal", EMPTY); // Íàéäåííóþ çàïîëíåííóþ çàïèñü îñâîáîæäàåì.
break; // Âûõîäèì èç áëèæàéøåãî öèêëà.
}
}
}
}
// Óäàëÿåì ïîñëåäíèå ïóñòûå ñòðîêè â ñïèñêå ãðàôè÷åñêèõ ïåðåìåííûõ.
for (; ObjectDescription ("ListGlobalGraphicVariable_" + i) == "" || ObjectDescription ("ListGlobalGraphicVariable_" + i) == "Label"; i--) ObjectDelete ("ListGlobalGraphicVariable_" + i); // Óäàëÿåì ÷àñòü ñïèñêà ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ.
return (AmountDelete); // Çàâåðøàåì ôóíêöèþ.
}
return (-1);
}
//====================================================================================================================================================
//22. Ôóíêöèÿ ìåíÿåò íàçâàíèå ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé.======================================================================================
// Âîçâðàùàåò TRUE, åñëè ïåðåèìåíîâàíèå ïðîøëî óñïåøíî.  ïðîòèâíîì ñëó÷àå - FALSE.
bool RenamingGlobalChartVariable (string& Name1, // Èìÿ ãëîáàëüíîé ãðàôè÷åñêîé ïåðåìåííîé, êîòîðîå òðåáóåòñÿ èçìåíèòü.
string& Name2) // Èìÿ ãëîáàëüíîé ãðàôè÷åñêîé, íà êîòîðîå òðåáóåòñÿ èçìåíèòü.
{
int i;
// Ñîçäà¸ì íîâûé îáúåêò (íîâóþ ïåðåìåííóþ) ñî ñâîéñòâàìè ïåðåèìåííóåìîãî.
ObjectCreate (Name2, OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet (Name2, OBJPROP_TIMEFRAMES, EMPTY);
ObjectSetText (Name2, ObjectDescription (Name1), 10, "Areal", EMPTY); // Ïåðåíîñèì îïèñàíèå íà íîâûé îáúåêò.
// Çàìåíÿåì â ñïèñêå èìÿ ïåðåìåííîé íà íîâîå.
for (i = 0; i < 100; i++) // Öèêë ïî ñïèñêó ãëîáàëüíûõ ãðàôè÷åñêèõ ïåðåìåííûõ.
{
if (ObjectDescription ("ListGlobalGraphicVariable_" + i) == Name1)
{
ObjectSetText ("ListGlobalGraphicVariable_" + i, Name2, 10, "Areal", EMPTY); // Íàéäåííóþ çàïîëíåííóþ çàïèñü îñâîáîæäàåì.
break;
}
}
return (ObjectDelete (Name1)); // Óäàëÿåì ñòàðóþ ïåðåìåííóþ è âîçâðàùàåì ñîñòîÿíèå ïðîâåä¸ííîé îïåðàöèè.
}
//====================================================================================================================================================
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
Comments