Skip to content

Commit 7c00900

Browse files
committed
Merge pull request #21 from RapidScada/develop
Merge Develop to Master
2 parents 57430b1 + 5923347 commit 7c00900

File tree

260 files changed

+225273
-947
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

260 files changed

+225273
-947
lines changed

Log/Log.cs

Lines changed: 68 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2015 Mikhail Shiryaev
2+
* Copyright 2016 Mikhail Shiryaev
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@
2020
*
2121
* Author : Mikhail Shiryaev
2222
* Created : 2005
23-
* Modified : 2015
23+
* Modified : 2016
2424
*/
2525

2626
using System;
@@ -43,21 +43,21 @@ public class Log
4343
public enum ActTypes
4444
{
4545
/// <summary>
46-
/// Исключение
47-
/// </summary>
48-
Exception,
49-
/// <summary>
50-
/// Ошибка
46+
/// Информация
5147
/// </summary>
52-
Error,
48+
Information,
5349
/// <summary>
5450
/// Действие
5551
/// </summary>
5652
Action,
5753
/// <summary>
58-
/// Информация
54+
/// Ошибка
5955
/// </summary>
60-
Information
56+
Error,
57+
/// <summary>
58+
/// Исключение
59+
/// </summary>
60+
Exception,
6161
}
6262

6363
/// <summary>
@@ -85,10 +85,10 @@ public enum Formats
8585
/// </summary>
8686
public const int DefCapacity = 1048576;
8787

88-
private Formats format; // формат
89-
private StreamWriter writer; // объект для записи в файл
90-
private FileInfo fileInfo; // информация о файле
91-
private Object writeLock; // объект для синхронизации обращения к журналу из разных потоков
88+
private readonly Formats format; // формат
89+
private readonly object writeLock; // объект для синхронизации обращения к журналу из разных потоков
90+
private StreamWriter writer; // объект для записи в файл
91+
private FileInfo fileInfo; // информация о файле
9292

9393

9494
/// <summary>
@@ -97,9 +97,9 @@ public enum Formats
9797
protected Log()
9898
{
9999
format = Formats.Simple;
100+
writeLock = new object();
100101
writer = null;
101102
fileInfo = null;
102-
writeLock = new object();
103103

104104
FileName = "";
105105
Encoding = Encoding.Default;
@@ -209,30 +209,73 @@ protected string ActTypeToStr(ActTypes actType)
209209

210210

211211
/// <summary>
212-
/// Записать действие типа информация в журнал
212+
/// Записать действие определённого типа в журнал
213213
/// </summary>
214-
public void WriteAction(string text)
214+
public void WriteAction(string text, ActTypes actType)
215+
{
216+
StringBuilder sb = new StringBuilder(DateTime.Now.ToString(DateTimeFormat));
217+
218+
if (format == Formats.Simple)
219+
{
220+
WriteLine(sb.Append(" ").Append(text).ToString());
221+
}
222+
else
223+
{
224+
WriteLine(sb.Append(" <")
225+
.Append(CompName).Append("><")
226+
.Append(UserName).Append("><")
227+
.Append(ActTypeToStr(actType)).Append("> ")
228+
.Append(text).ToString());
229+
}
230+
}
231+
232+
/// <summary>
233+
/// Записать информационное действие в журнал
234+
/// </summary>
235+
public void WriteInfo(string text)
215236
{
216237
WriteAction(text, ActTypes.Information);
217238
}
218239

219240
/// <summary>
220-
/// Записать действие определённого типа в журнал
241+
/// Записать обычное действие в журнал
221242
/// </summary>
222-
public void WriteAction(string text, ActTypes actType)
243+
public void WriteAction(string text)
223244
{
224-
string nowStr = DateTime.Now.ToString(DateTimeFormat);
225-
if (format == Formats.Simple)
226-
WriteLine(nowStr + " " + text);
245+
WriteAction(text, ActTypes.Action);
246+
}
247+
248+
/// <summary>
249+
/// Записать ошибку в журнал
250+
/// </summary>
251+
public void WriteError(string text)
252+
{
253+
WriteAction(text, ActTypes.Error);
254+
}
255+
256+
/// <summary>
257+
/// Записать исключение в журнал
258+
/// </summary>
259+
public void WriteException(Exception ex, string errMsg = "", params object[] args)
260+
{
261+
if (string.IsNullOrEmpty(errMsg))
262+
{
263+
WriteAction(ex.ToString(), ActTypes.Exception);
264+
}
227265
else
228-
WriteLine(new StringBuilder(nowStr).Append(" <").Append(CompName).Append("><").Append(UserName).
229-
Append("><").Append(ActTypeToStr(actType)).Append("> ").Append(text).ToString());
266+
{
267+
WriteAction(new StringBuilder()
268+
.Append(args == null || args.Length == 0 ? errMsg : string.Format(errMsg, args))
269+
.Append(":").Append(Environment.NewLine)
270+
.Append(ex.ToString()).ToString(),
271+
ActTypes.Exception);
272+
}
230273
}
231274

232275
/// <summary>
233276
/// Записать строку в журнал
234277
/// </summary>
235-
public void WriteLine(string text)
278+
public void WriteLine(string text = "")
236279
{
237280
try
238281
{
@@ -260,14 +303,6 @@ public void WriteLine(string text)
260303
}
261304
}
262305

263-
/// <summary>
264-
/// Записать пустую строку в журнал
265-
/// </summary>
266-
public void WriteLine()
267-
{
268-
WriteLine("");
269-
}
270-
271306
/// <summary>
272307
/// Записать разделитель в журнал
273308
/// </summary>

Report/RepBuilder/ExcelRepBuilder.cs

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2014 Mikhail Shiryaev
2+
* Copyright 2016 Mikhail Shiryaev
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@
2020
*
2121
* Author : Mikhail Shiryaev
2222
* Created : 2005
23-
* Modified : 2009
23+
* Modified : 2016
2424
*/
2525

2626
using System;
@@ -315,6 +315,7 @@ public Style(XmlNode xmlNode)
315315
id = xmlNode.Attributes["ss:ID"].Value;
316316
}
317317

318+
318319
/// <summary>
319320
/// Клонировать стиль
320321
/// </summary>
@@ -413,6 +414,7 @@ public Worksheet(XmlNode xmlNode)
413414
table = null;
414415
}
415416

417+
416418
/// <summary>
417419
/// Клонировать лист
418420
/// </summary>
@@ -747,6 +749,7 @@ public Column(XmlNode xmlNode)
747749
parentTable = null;
748750
}
749751

752+
750753
/// <summary>
751754
/// Клонировать столбец
752755
/// </summary>
@@ -973,7 +976,7 @@ public XmlNode Node
973976
}
974977

975978
/// <summary>
976-
/// Получить ссылку на XML-узел, соответствующий данным ячейки
979+
/// Получить или установить ссылку на XML-узел, соответствующий данным ячейки
977980
/// </summary>
978981
public XmlNode DataNode
979982
{
@@ -1055,6 +1058,7 @@ public Cell(XmlNode xmlNode)
10551058
parentRow = null;
10561059
}
10571060

1061+
10581062
/// <summary>
10591063
/// Клонировать ячейку
10601064
/// </summary>
@@ -1077,6 +1081,23 @@ public Cell Clone()
10771081

10781082
return cellClone;
10791083
}
1084+
1085+
/// <summary>
1086+
/// Установить тип данных (формат) ячейки
1087+
/// </summary>
1088+
public void SetDataType(string dataTypeName)
1089+
{
1090+
if (dataNode != null)
1091+
dataNode.Attributes["ss:Type"].Value = dataTypeName;
1092+
}
1093+
1094+
/// <summary>
1095+
/// Установить числовой тип данных ячейки
1096+
/// </summary>
1097+
public void SetNumberType()
1098+
{
1099+
SetDataType("Number");
1100+
}
10801101
}
10811102

10821103

ScadaAdmin/ScadaAdmin/AppCode/Settings.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2015 Mikhail Shiryaev
2+
* Copyright 2016 Mikhail Shiryaev
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@
2020
*
2121
* Author : Mikhail Shiryaev
2222
* Created : 2010
23-
* Modified : 2015
23+
* Modified : 2016
2424
*/
2525

2626
using System;
@@ -351,7 +351,6 @@ public bool SaveFormState(out string errMsg)
351351
rootElem.AppendParamElem("Height", FormSt.Height);
352352
rootElem.AppendParamElem("Maximized", FormSt.Maximized);
353353
rootElem.AppendParamElem("ExplorerWidth", FormSt.ExplorerWidth);
354-
rootElem.AppendParamElem("Left", FormSt.Left);
355354

356355
// сохранение в файле
357356
xmlDoc.Save(AppData.ExeDir + FormStateFileName);

ScadaAdmin/ScadaAdmin/FrmAbout.Designer.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ScadaAdmin/ScadaAdmin/FrmAbout.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,15 @@ public static void ShowAbout()
6363
{
6464
if (frmAbout == null)
6565
frmAbout = new FrmAbout();
66+
frmAbout.Init();
6667
frmAbout.ShowDialog();
6768
}
6869

6970

70-
private void FrmAbout_Load(object sender, EventArgs e)
71+
/// <summary>
72+
/// Инициализировать форму
73+
/// </summary>
74+
private void Init()
7175
{
7276
// инициализация формы
7377
if (!inited)
@@ -95,7 +99,7 @@ private void FrmAbout_Load(object sender, EventArgs e)
9599
// загрузка изображения и гиперссылки из файлов, если они существуют
96100
bool imgLoaded;
97101
string errMsg;
98-
if (ScadaUiUtils.LoadAboutForm(AppData.ExeDir, this, activePictureBox, lblWebsite,
102+
if (ScadaUiUtils.LoadAboutForm(AppData.ExeDir, this, activePictureBox, lblWebsite,
99103
out imgLoaded, out linkUrl, out errMsg))
100104
{
101105
if (imgLoaded)
@@ -111,6 +115,7 @@ private void FrmAbout_Load(object sender, EventArgs e)
111115
}
112116
}
113117

118+
114119
private void FrmAbout_Click(object sender, EventArgs e)
115120
{
116121
Close();

ScadaComm/OpenKPs/KpModbus/Modbus.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1172,7 +1172,9 @@ public void CopyFrom(DeviceModel srcDeviceModel)
11721172
elemGroup.Elems.Add(new Elem()
11731173
{
11741174
Name = srcElem.Name,
1175-
ElemType = srcElem.ElemType
1175+
ElemType = srcElem.ElemType,
1176+
ByteOrder = srcElem.ByteOrder, // копируется ссылка на массив
1177+
ByteOrderStr = srcElem.ByteOrderStr
11761178
});
11771179
}
11781180

0 commit comments

Comments
 (0)