err 0540 0541 поправил

This commit is contained in:
Mikhalkovich Stanislav 2024-07-08 12:27:44 +03:00
parent acfce9b4f7
commit b086568133
12 changed files with 52 additions and 45 deletions

View file

@ -15,7 +15,7 @@ internal static class RevisionClass
public const string Major = "3";
public const string Minor = "9";
public const string Build = "0";
public const string Revision = "3500";
public const string Revision = "3502";
public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

View file

@ -1,4 +1,4 @@
%COREVERSION%=0
%REVISION%=3500
%REVISION%=3502
%MINOR%=9
%MAJOR%=3

Binary file not shown.

View file

@ -1 +1 @@
3.9.0.3500
3.9.0.3502

View file

@ -1 +1 @@
!define VERSION '3.9.0.3500'
!define VERSION '3.9.0.3502'

View file

@ -193,20 +193,21 @@ function ToObjArray(a: sequence of boolean): array of object;
{ Основные процедуры для проверки правильности ввода-вывода }
{=========================================================================}
// Самые часто используемые: CheckInput, CheckOutput, CheckOutputSeq
// Самые часто используемые: CheckOutput
// CheckInput заменено на CheckData
/// Проверить типы вводимых данных
/// Проверить типы вводимых данных. Пользуйтесь CheckData(Input := cInt * 2)
procedure CheckInput(a: array of System.Type);
/// Проверить значения при выводе
/// Проверить значения при выводе. Основной способ проверки
procedure CheckOutput(params arr: array of object);
/// Проверить значения при выводе. Сообщения ColoredMessage гасить. Нужно для повторных вызовов CheckOutput
procedure CheckOutputSilent(params arr: array of object);
/// Проверить значения при выводе
/// Проверить значения при выводе. Основной способ проверки
procedure CheckOutput(a: ObjectList);
/// Проверить значения при выводе. Сообщения ColoredMessage гасить. Нужно для повторных вызовов CheckOutput
procedure CheckOutputSilent(a: ObjectList);
/// Проверить, что данные не вводились
/// Проверить, что данные не вводились. Пользуйтесь CheckData(Empty)
procedure CheckInputIsEmpty;
/// Проверить, что помимо начального ввода других данных не вводилось
@ -253,9 +254,11 @@ procedure CheckOutputSeqSilent(a: sequence of boolean);
procedure CheckOutputSeqSilent(a: sequence of object);
/// Проверить последовательность значений при выводе. Не выводить сообщения ColoredMessages
procedure CheckOutputSeqSilent(a: sequence of word);
/// Проверить последовательность значений при выводе. Не выводить сообщения ColoredMessages
procedure CheckOutputSeqSilent(a: ObjectList);
/// Проверить вывод в виде строки
procedure CheckOutputString(str: string);
@ -271,17 +274,6 @@ function CompareArrValues(a,lst: array of object): boolean;
/// Сравнить значения с выводом
function CompareValuesWithOutput(params a: array of object): boolean;
// Для совместимости
procedure CheckOutputNew(params arr: array of object);
procedure CheckOutputSeqNew(a: sequence of integer);
procedure CheckOutputSeqNew(a: sequence of real);
procedure CheckOutputSeqNew(a: sequence of string);
procedure CheckOutputSeqNew(a: sequence of char);
procedure CheckOutputSeqNew(a: sequence of boolean);
procedure CheckOutputSeqNew(a: sequence of object);
procedure CheckOutputSeqNew(a: sequence of word);
procedure CheckOutputSeqNew(a: ObjectList);
{============================================================================================}
{ Подпрограммы для проверки начального ввода-вывода, представленного в заготовке задания }
{============================================================================================}
@ -559,7 +551,7 @@ procedure GenerateTests<T1,T2,T3>(params a: array of (T1,T2,T3));
procedure ConvertStringsToNumbersInOutputList;
/// Если в OutputList массивы, вытянуть их в единый список
procedure FlattenOutput;
/// Очистить выходной список от пробелов
/// Очистить выходной список от пробелов, возникающих в методах расширения типа a.Print. Очень редко очищать не надо при решении задач на символы с пробелами
procedure ClearOutputListFromSpaces;
/// Отфильтровать в выходном списке только числа
procedure FilterOnlyNumbers;
@ -2220,11 +2212,14 @@ procedure CheckOutputAfterInitialSeqSilent(seq: sequence of char); begin Silent
procedure CheckOutputAfterInitialSeqSilent(seq: sequence of object); begin Silent := True; CheckOutputAfterInitialSeq(seq); Silent := False; end;
procedure CheckOutputAfterInitialSeqSilent(seq: ObjectList); begin Silent := True; CheckOutputAfterInitialSeq(seq); Silent := False; end;
var OutputListIsClearedFromSpaces := False;
procedure ClearOutputListFromSpaces;
begin
if OutputListIsClearedFromSpaces then exit;
OutputList := OutputList.Where(s -> (not (s is string)) or ((s as string) <> ' ')).ToList;
OutputList := OutputList.Where(s -> (not (s is char)) or ((char(s)) <> ' ')).ToList;
OutputListIsClearedFromSpaces := True;
end;
procedure FilterOnlyNumbers;

View file

@ -387,7 +387,11 @@ begin
CheckData(Input := Empty);
CheckOutput(ArrGen(10,1,i->i*2).Sum);
end;
'ЗаполнениеСумма3_add': begin
CheckData(Input := |cInt|*1);
var n := Int;
CheckOutput(ArrGen(n,i -> (i+1)*(i+1)).Sum);
end;
// 'Arr_Transf1' 'Arr_Transf1a' 'Arr_Transf2' 'Arr_Transf3' 'Arr_Transf4' 'Arr_Transf5' 'Arr_Transf7' 'Arr_Transf8' 'Arr_Transf9'- задачник
'Arr_Transf6': begin
FilterOnlyNumbersAndBools;

View file

@ -44,7 +44,7 @@ begin
end;
'CharRange1': begin
CheckData(Input := Empty);
CheckOutput('0'..'9', 'a'..'z', 'а'..');
CheckOutput('0'..'9', 'a'..'z', 'А'..');
end;
'CharRange2': begin
CheckData(Input := |cChar|);
@ -283,7 +283,7 @@ begin
end;
'StrSlice2': begin
CheckData(Input := Empty);
CheckOutputSeq(Arr('клад зарыт на юго западе', 'зашифрованное сообщение'));
CheckOutput('клад зарыт на юго западе', 'зашифрованное сообщение');
end;
'StrSlice4': begin
CheckData(Input := Empty);
@ -293,6 +293,14 @@ begin
CheckData(Input := Empty);
CheckOutput('оценка1', 'балл2', 'окно3');
end;
'Str_Number01': begin
CheckData(Input := Empty);
CheckOutput('25', '476', '2296');
end;
'Str_Number02': begin
CheckData(Input := Empty);
CheckOutput(25,476,3.1415,2.8);
end;
'Str_Number03': begin
CheckData(Input := Empty);
CheckOutput(386);
@ -326,6 +334,6 @@ initialization
'Pos1','Pos2','Delete1','Delete2','Delete3','Insert1','Insert2',
'StrChange1','StrChange2','StrBorder0','StrBorder1',
'StrSlice1','StrSlice2','StrSlice4',
'Str_Number0','Str_Number03','Str_Number04','Str_Number05','Str_Number06' );
'Str_Number0','Str_Number01','Str_Number02','Str_Number03','Str_Number04','Str_Number05','Str_Number06' );
finalization
end.

View file

@ -17,12 +17,12 @@ uses System.Windows.Markup;
type
TControl = Control;
Panel = Panel;
Grid = Grid;
Panel = System.Windows.Controls.Panel;
Grid = System.Windows.Controls.Grid;
Canvas = System.Windows.Controls.Canvas;
StackPanel = StackPanel;
DockPanel = DockPanel;
WrapPanel = WrapPanel;
StackPanel = System.Windows.Controls.StackPanel;
DockPanel = System.Windows.Controls.DockPanel;
WrapPanel = System.Windows.Controls.WrapPanel;
TPanel = Panel;
TGrid = Grid;
@ -39,7 +39,7 @@ type
TextBox = TextBox;
Slider = Slider;
ComboBox = ComboBox;
TextBlock = TextBlock;
TextBlock = System.Windows.Controls.TextBlock;
Border = System.Windows.Controls.Border;
Rectangle = Rectangle;
@ -111,6 +111,8 @@ function EmptyColor: Color := ARGB(0,0,0,0);
function Pnt(x,y: real) := new Point(x,y);
function Rect(x,y,w,h: real) := new System.Windows.Rect(x,y,w,h);
function MainPanel: Panel := MainWindow.Content as Panel;
function CreateDrawing := Drawing.Create;
function operator implicit(n: integer): Thickness; extensionmethod;
@ -148,7 +150,6 @@ begin
Result := new FontFamily(name);
end;
procedure SetPosition(Self: Control; Left,Top: real); extensionmethod;
begin
Canvas.SetLeft(Self,Left);
@ -494,8 +495,7 @@ initialization
MainWindow.Left := w/2;
MainWindow.Top := h/2;
var gr := new Grid;
MainWindow.Content := gr;
MainWindow.Content := new WrapPanel;
CurrentParent := MainWindow;
finalization
Application.Run(MainWindow);

View file

@ -1,4 +1,4 @@
//!Только динамический массив может описываться с ключевым словом params
//!Только одномерный динамический массив может описываться с ключевым словом params
procedure pr1(params par1: array[,] of integer);
begin end;

View file

@ -1,4 +1,4 @@
//!Только динамический массив может описываться с ключевым словом params
//!Только одномерный динамический массив может описываться с ключевым словом params
type TClass = class
end;

View file

@ -17,12 +17,12 @@ uses System.Windows.Markup;
type
TControl = Control;
Panel = Panel;
Grid = Grid;
Panel = System.Windows.Controls.Panel;
Grid = System.Windows.Controls.Grid;
Canvas = System.Windows.Controls.Canvas;
StackPanel = StackPanel;
DockPanel = DockPanel;
WrapPanel = WrapPanel;
StackPanel = System.Windows.Controls.StackPanel;
DockPanel = System.Windows.Controls.DockPanel;
WrapPanel = System.Windows.Controls.WrapPanel;
TPanel = Panel;
TGrid = Grid;
@ -39,7 +39,7 @@ type
TextBox = TextBox;
Slider = Slider;
ComboBox = ComboBox;
TextBlock = TextBlock;
TextBlock = System.Windows.Controls.TextBlock;
Border = System.Windows.Controls.Border;
Rectangle = Rectangle;
@ -111,6 +111,8 @@ function EmptyColor: Color := ARGB(0,0,0,0);
function Pnt(x,y: real) := new Point(x,y);
function Rect(x,y,w,h: real) := new System.Windows.Rect(x,y,w,h);
function MainPanel: Panel := MainWindow.Content as Panel;
function CreateDrawing := Drawing.Create;
function operator implicit(n: integer): Thickness; extensionmethod;
@ -148,7 +150,6 @@ begin
Result := new FontFamily(name);
end;
procedure SetPosition(Self: Control; Left,Top: real); extensionmethod;
begin
Canvas.SetLeft(Self,Left);
@ -494,8 +495,7 @@ initialization
MainWindow.Left := w/2;
MainWindow.Top := h/2;
var gr := new Grid;
MainWindow.Content := gr;
MainWindow.Content := new WrapPanel;
CurrentParent := MainWindow;
finalization
Application.Run(MainWindow);