Примеры - устранил неточности
LightPT - имя сервера вынес в публичную секцию
This commit is contained in:
parent
b68b8da970
commit
c2347e604b
|
|
@ -1064,7 +1064,7 @@ namespace CodeCompletion
|
|||
description = description.Replace("!#", "");
|
||||
// Пусть здесь делаем все замены
|
||||
// Для рекурсивных <<>> нужно писать собственный парсер
|
||||
description = System.Text.RegularExpressions.Regex.Replace(description, @"NewSet<\s*(.*)\s*>", "set of $1");
|
||||
//description = System.Text.RegularExpressions.Regex.Replace(description, @"NewSet<\s*(.*)\s*>", "set of $1");
|
||||
}
|
||||
return description;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
Writeln('Простые числа < ',n,':');
|
||||
Writeln(primes);
|
||||
Writeln;
|
||||
Writeln('Время вычисления: ',Milliseconds/1000);
|
||||
Println('Простые числа <',n,':');
|
||||
Println(primes);
|
||||
Println;
|
||||
Println('Время вычисления:',Milliseconds/1000);
|
||||
end.
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ const n = 20;
|
|||
begin
|
||||
var a := ArrRandom(n);
|
||||
Println('До сортировки: ');
|
||||
Writeln(a);
|
||||
Println(a);
|
||||
QuickSort(a,0,a.Length-1);
|
||||
Println('После сортировки: ');
|
||||
Println(a);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// Вывод английских согласных
|
||||
var vowel: string := 'aeiouy';
|
||||
|
||||
begin
|
||||
var all := Range('a','z').JoinIntoString('');
|
||||
var vowel: string := 'aeiouy';
|
||||
|
||||
var all := ('a'..'z').JoinToString;
|
||||
all.Except(vowel).Println;
|
||||
end.
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
// Первые 3 минимума
|
||||
begin
|
||||
ArrRandom(20).Println.Sorted.Distinct.Take(3).Println;
|
||||
ArrRandom(20).Println.Distinct.Order.Take(3).Println;
|
||||
end.
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
// Вывод таблицы значений функции sin
|
||||
// Вывод таблицы значений функции sin
|
||||
|
||||
##
|
||||
PartitionPoints(0,Pi,20).Select(x->$'({x:f4}, {sin(x):f7})').PrintLines;
|
||||
|
||||
begin
|
||||
PartitionPoints(0,Pi,20).Select(x->Format('({0:f4}, {1:f7})',x,sin(x))).Println(NewLine);
|
||||
end.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// Вычисление числа Pi методом Монте-Карло
|
||||
// Вычисление числа Pi методом Монте-Карло
|
||||
|
||||
begin
|
||||
var n := 10000000;
|
||||
var pp := Range(1,n).Select(x->Rec(Random(),Random())).Where(p->sqr(p.Item1)+sqr(p.Item2)<1).Count/n*4;
|
||||
var pp := (1..n).Select(x->(Random(),Random())).Where(p->sqr(p[0])+sqr(p[1])<1).Count/n*4;
|
||||
Print(pp);
|
||||
end.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
begin
|
||||
begin
|
||||
var d := new Dictionary<string,integer>;
|
||||
foreach var s in ReadLines('TextFileCount.pas') do
|
||||
foreach var word in s.ToWords(' ',':',')','(',';','''',',','.','=','<','>','[',']','+','-') do
|
||||
foreach var word in s.ToWords(AllDelimiters) do
|
||||
d[word] := d.Get(word) + 1;
|
||||
d.Print(NewLine);
|
||||
d.PrintLines;
|
||||
end.
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
begin
|
||||
var d := Dict('begin' => 0);
|
||||
var delims := Seq(' ',')','(',';','''',',','.','[',']',#10,#13);
|
||||
var words := ReadAllText('TextFileCount1.pas').ToWords(delims);
|
||||
begin
|
||||
var d := Dict('begin' to 0);
|
||||
var words := ReadAllText('TextFileCount1.pas').ToWords(AllDelimiters);
|
||||
foreach var word in words do
|
||||
d[word] := d.Get(word) + 1;
|
||||
d.Print(NewLine);
|
||||
|
|
|
|||
|
|
@ -1,12 +1,9 @@
|
|||
// Использование длинных целых. Вычисление 100!
|
||||
{$reference 'System.Numerics.dll'}
|
||||
uses System.Numerics;
|
||||
|
||||
var n := 100;
|
||||
// Использование длинных целых. Вычисление 100!
|
||||
|
||||
begin
|
||||
var f := new BigInteger(1);
|
||||
var n := 100;
|
||||
var f: BigInteger := 1;
|
||||
for var i:=2 to n do
|
||||
f := f * i;
|
||||
writelnFormat('{0}! = {1}',n,f);
|
||||
Print($'{n}! = {f}');
|
||||
end.
|
||||
|
|
@ -1,17 +1,14 @@
|
|||
// Использование комплексных чисел
|
||||
{$reference 'System.Numerics.dll'}
|
||||
uses System.Numerics;
|
||||
|
||||
// Использование комплексных чисел
|
||||
begin
|
||||
var a := new Complex(0,1);
|
||||
writeln('Мнимая единица: ', a);
|
||||
Println('Мнимая единица: ', a);
|
||||
|
||||
var b := Complex.Sqrt(a);
|
||||
writeln('Главный корень из мнимой единицы: ', b);
|
||||
var b := Sqrt(a);
|
||||
Println('Главный корень из мнимой единицы: ', b);
|
||||
|
||||
var c := a*a;
|
||||
writeln('Квадрат мнимой единицы: ', c);
|
||||
Println('Квадрат мнимой единицы: ', c);
|
||||
|
||||
var d := new Complex(1,2);
|
||||
writelnFormat('Модуль {0} равен {1}', d,d.Magnitude);
|
||||
var d := Cplx(1,2);
|
||||
Println($'Модуль {ObjectToString(d)} равен {d.Magnitude}');
|
||||
end.
|
||||
|
|
@ -1,10 +1,7 @@
|
|||
// Создание кортежей
|
||||
uses System;
|
||||
|
||||
begin
|
||||
var a := Tuple.Create('Иванов',24);
|
||||
writeln(a.Item1,' ',a.Item2);
|
||||
begin
|
||||
var a := ('Иванов',24);
|
||||
Println(a[0],a[1]);
|
||||
|
||||
var b := Tuple.Create('Петров',17,1,11);
|
||||
writeln(b.Item1,' ',b.Item2,' ',b.Item3,' ',b.Item4);
|
||||
var b := ('Петров',17,1,11);
|
||||
Println(b.Item1,b.Item2,b.Item3,b.Item4);
|
||||
end.
|
||||
|
|
@ -1,37 +1,24 @@
|
|||
Uses System, PABCSystem;
|
||||
|
||||
const Size = 10;
|
||||
|
||||
procedure PrintArray<T>(a: array of T);
|
||||
begin
|
||||
foreach v: T in a do
|
||||
Write(v, ' ');
|
||||
Writeln;
|
||||
end;
|
||||
|
||||
var a: array of integer;
|
||||
const Size = 10;
|
||||
|
||||
begin
|
||||
SetLength(a, Size);
|
||||
// Заполнение массива
|
||||
for var i:=0 to a.Length-1 do
|
||||
a[i] := Random(100);
|
||||
|
||||
var a := ArrRandomInteger(Size);
|
||||
|
||||
// Вывод всех элементов массива
|
||||
PrintArray(a);
|
||||
a.Println;
|
||||
|
||||
// Сортировка массива (знак & используется для того,
|
||||
// чтобы воспользоваться ключевым словом array при обозначении класса Array)
|
||||
&Array.Sort(a);
|
||||
Sort(a);
|
||||
|
||||
PrintArray(a);
|
||||
a.Println;
|
||||
|
||||
// Обращение массива
|
||||
&Array.Reverse(a);
|
||||
Reverse(a);
|
||||
|
||||
PrintArray(a);
|
||||
a.Println;
|
||||
|
||||
// Поиск вхождения элемента в массив
|
||||
var i := &Array.IndexOf(a, 99);
|
||||
Writeln(i);
|
||||
var i := a.IndexOf(99);
|
||||
Println(i);
|
||||
end.
|
||||
|
|
@ -1,32 +1,26 @@
|
|||
Uses System;
|
||||
|
||||
var
|
||||
d1, d2, d3: DateTime; // Объекты для хранения даты и времени
|
||||
ts: TimeSpan; // Объект для хранения промежутков времени
|
||||
|
||||
begin
|
||||
begin
|
||||
// Получение текущей даты - вызов статического метода
|
||||
d1 := DateTime.Now;
|
||||
Writeln(d1);
|
||||
var d1 := DateTime.Now;
|
||||
Println(d1);
|
||||
|
||||
// Дата и время через один месяц
|
||||
d2 := d1.AddMonths(1);
|
||||
Writeln(d2);
|
||||
var d2 := d1.AddMonths(1);
|
||||
Println(d2);
|
||||
|
||||
// Дата и время на 12 часов раньше
|
||||
d2 := d1.AddHours(-12);
|
||||
Writeln(d2);
|
||||
Println(d2);
|
||||
|
||||
// Формирование даты - вызов конструктора объекта (год, месяц,число)
|
||||
d3 := new DateTime(2001, 1, 1);
|
||||
Writeln(d3);
|
||||
var d3 := new DateTime(2001, 1, 1);
|
||||
Println(d3);
|
||||
|
||||
// Определение времени, прошедшего с начала тысячелетия (разность дат)
|
||||
ts := d1.Subtract(d3);
|
||||
var ts: System.TimeSpan := d1.Subtract(d3);
|
||||
|
||||
// Промежуток времени в днях (результат - вещественное число)
|
||||
Writeln(ts.TotalDays);
|
||||
Println(ts.TotalDays);
|
||||
|
||||
// Промежуток времени в днях, часах, минутах и секундах
|
||||
WritelnFormat('{0} {1}:{2}:{3}',ts.Days,ts.Hours,ts.Minutes,ts.Seconds);
|
||||
Println($'{ts.Days} {ts.Hours}:{ts.Minutes}:{ts.Seconds}');
|
||||
end.
|
||||
|
|
@ -1,34 +1,30 @@
|
|||
Uses System;
|
||||
|
||||
var
|
||||
d: DateTime;
|
||||
s: string;
|
||||
Uses System;
|
||||
|
||||
begin
|
||||
s := '27.03.2008 9:58:17';
|
||||
var s := '03.27.2008 9:58:17';
|
||||
//Попытка преобразования строки в объект DateTime
|
||||
var d: DateTime;
|
||||
if not DateTime.TryParse(s, d) then
|
||||
begin
|
||||
Writeln('Строка не содержит значение даты и времени');
|
||||
Println('Строка не содержит значение даты и времени');
|
||||
Exit;
|
||||
end;
|
||||
|
||||
// Проверка високосности заданного года с помощью статического метода
|
||||
if DateTime.IsLeapYear(d.Year) then
|
||||
Writeln('Год високосный')
|
||||
Println('Год високосный')
|
||||
else
|
||||
Writeln('Год невисокосный');
|
||||
Println('Год невисокосный');
|
||||
|
||||
// Преобразование даты и времени в строковое представление
|
||||
s := d.ToString;
|
||||
Writeln(s);
|
||||
Println(s);
|
||||
|
||||
// Преобразование даты в строковое представление
|
||||
s := d.ToShortDateString;
|
||||
Writeln(s);
|
||||
Println(s);
|
||||
|
||||
// Преобразование времени в строковое представление
|
||||
s := d.ToShortTimeString;
|
||||
Writeln(s);
|
||||
|
||||
Println(s);
|
||||
end.
|
||||
|
|
@ -1,16 +1,14 @@
|
|||
// Работа с классом System.DateTime
|
||||
// Работа с классом System.DateTime
|
||||
// Вычисление времени выполнения фрагмента кода
|
||||
|
||||
uses System, PABCSystem;
|
||||
|
||||
var dt: DateTime := DateTime.Now;
|
||||
|
||||
begin
|
||||
var dt: DateTime := DateTime.Now;
|
||||
|
||||
// Делаем случайную паузу
|
||||
var ms := Random(1000);
|
||||
Writeln('Sleep','(',ms,')');
|
||||
Sleep(ms);
|
||||
|
||||
// Сравниваем с показаниями DateTime.Now
|
||||
Writeln((DateTime.Now-dt).TotalMilliseconds,'ms');
|
||||
Println((DateTime.Now-dt).TotalMilliseconds,'ms');
|
||||
end.
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
uses
|
||||
uses
|
||||
System, System.Net, System.Threading.Tasks, System.Collections.Generic;
|
||||
|
||||
type
|
||||
ListSimple = class
|
||||
l := new List<int64>();
|
||||
procedure AddSimple(N: int64);
|
||||
procedure AddPrime(N: int64);
|
||||
begin
|
||||
var Result := True;
|
||||
for var i: int64 := 2 to round(sqrt(N)) do
|
||||
|
|
@ -29,29 +29,29 @@ begin
|
|||
|
||||
var ii: int64 := 1265713689181;
|
||||
|
||||
Parallel.For(ii,ii+hh,ls.AddSimple);
|
||||
Parallel.For(ii,ii+hh,ls.AddPrime);
|
||||
|
||||
writeln(ls.l.Count);
|
||||
Println(ls.l.Count);
|
||||
// ls.l := ls.l.OrderBy(x->x).ToList(); - это можно включить для проверки того, что в обоих списках - одинаковые простые числа
|
||||
for var i:=0 to ls.l.Count-1 do
|
||||
write(ls.l[i],' ');
|
||||
Print(ls.l[i]);
|
||||
// Надо обратить внимание, что выводится неупорядоченная последовательность простых чисел !
|
||||
|
||||
writeln;
|
||||
writeln('Время выполнения = ',Milliseconds);
|
||||
Println;
|
||||
Println('Время выполнения =',Milliseconds);
|
||||
|
||||
// То же, но непараллельно
|
||||
var ls1 := new ListSimple;
|
||||
|
||||
var t := Milliseconds;
|
||||
for var i:=ii to ii+hh-1 do
|
||||
ls1.AddSimple(i);
|
||||
writeln(ls1.l.Count);
|
||||
ls1.AddPrime(i);
|
||||
Println(ls1.l.Count);
|
||||
for var i:=0 to ls1.l.Count-1 do
|
||||
write(ls1.l[i],' ');
|
||||
writeln;
|
||||
writeln('Время выполнения = ',Milliseconds-t);
|
||||
Println;
|
||||
Println('Время выполнения =',Milliseconds-t);
|
||||
|
||||
// Проверка того, что списки простых как множества совпадают
|
||||
writeln('Количество элементов в разности множеств = ',ls.l.Except(ls1.l).Count());
|
||||
Println('Количество элементов в разности множеств = ',ls.l.Except(ls1.l).Count());
|
||||
end.
|
||||
|
|
@ -1,15 +1,13 @@
|
|||
var
|
||||
s: string;
|
||||
i: integer;
|
||||
r: real;
|
||||
|
||||
|
||||
begin
|
||||
// Преобразование строки в число
|
||||
s := '123,3443'; // Дробная часть отделяется запятой - настройки Windows
|
||||
var s := '123,3443'; // Дробная часть отделяется запятой - настройки Windows
|
||||
var r: real;
|
||||
if not real.TryParse(s, r) then
|
||||
Writeln('Строка s не является строковым представлением вещественного числа')
|
||||
else Writeln(r);
|
||||
|
||||
var i: integer;
|
||||
if not integer.TryParse(s, i) then
|
||||
Writeln('Строка s не является строковым представлением целого числа');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,11 @@
|
|||
var s1,s2: string;
|
||||
|
||||
begin
|
||||
begin
|
||||
// Определение длины строки
|
||||
s1 := 'ABCDEFGH';
|
||||
var s1 := 'ABCDEFGH';
|
||||
Writeln(s1.Length);
|
||||
|
||||
// Сравнение строк без учета регистра символов
|
||||
s1 := 'AAA';
|
||||
s2 := 'aaa';
|
||||
var s2 := 'aaa';
|
||||
if String.Compare(s1, s2, {ignoreCase - без учета регистра} true) = 0 then
|
||||
Writeln('Строки совпадают с точностью до регистра букв');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
var s1,s2: string;
|
||||
|
||||
begin
|
||||
begin
|
||||
// Извлечение подстрок
|
||||
s1 := 'ABCDEFGH';
|
||||
s2 := s1.Substring( {начальная_позиция = } 3);
|
||||
var s1 := 'ABCDEFGH';
|
||||
var s2 := s1.Substring( {начальная_позиция = } 3);
|
||||
Writeln(s2);
|
||||
|
||||
s2 := s1.Substring(3, {длина_подстроки = } 2);
|
||||
|
|
|
|||
|
|
@ -1,26 +1,20 @@
|
|||
uses System;
|
||||
|
||||
var
|
||||
str_arr: array of string;
|
||||
int_arr: array of integer;
|
||||
s: string := '12 765 765 76';
|
||||
|
||||
begin
|
||||
begin
|
||||
var s: string := '12 765 765 76';
|
||||
// Разбиение строки на массив подстрок с заданным разелителем
|
||||
str_arr := s.Split(' ');
|
||||
var str_arr: array of string := s.Split;
|
||||
|
||||
// Соединение массива подстрок с новым разделителем
|
||||
s := string.Join('+', str_arr);
|
||||
Write(s, '=');
|
||||
s := str_arr.JoinToString(' + ');
|
||||
Write(s, ' = ');
|
||||
|
||||
// Формирование целочисленного массива по массиву подстрок
|
||||
SetLength(int_arr, str_arr.Length);
|
||||
var int_arr := new integer[str_arr.Length];
|
||||
for var i:=0 to int_arr.Length-1 do
|
||||
integer.TryParse(str_arr[i], int_arr[i]);
|
||||
|
||||
// Вычисление суммы элементов целочисленного массива
|
||||
var sum := 0;
|
||||
foreach v: integer in int_arr do
|
||||
foreach var v: integer in int_arr do
|
||||
sum += v;
|
||||
Writeln(sum);
|
||||
end.
|
||||
|
|
@ -1,30 +1,32 @@
|
|||
//События, +=, -=, демонстрация работы таймера System.Timers.Timer
|
||||
//События, +=, -=, демонстрация работы таймера System.Timers.Timer
|
||||
uses System;
|
||||
|
||||
var Timer:System.Timers.Timer;
|
||||
x:integer;
|
||||
exit:boolean;
|
||||
var
|
||||
Timer: System.Timers.Timer;
|
||||
x: integer;
|
||||
exit: boolean;
|
||||
|
||||
procedure OnTimer2(sender:object; e:System.Timers.ElapsedEventArgs);
|
||||
procedure OnTimer2(sender: object; e: System.Timers.ElapsedEventArgs);
|
||||
begin
|
||||
Writeln(x);
|
||||
x:=x+1;
|
||||
exit:=x>=10;
|
||||
x := x + 1;
|
||||
exit := x >= 10;
|
||||
end;
|
||||
procedure OnTimer1(sender:object; e:System.Timers.ElapsedEventArgs);
|
||||
|
||||
procedure OnTimer1(sender: object; e: System.Timers.ElapsedEventArgs);
|
||||
begin
|
||||
Writeln(e.SignalTime);
|
||||
x:=x+1;
|
||||
if x>=5 then begin
|
||||
Timer.Elapsed-=OnTimer1;
|
||||
Timer.Elapsed+=OnTimer2;
|
||||
x := x + 1;
|
||||
if x >= 5 then begin
|
||||
Timer.Elapsed -= OnTimer1;
|
||||
Timer.Elapsed += OnTimer2;
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
Exit:=false;
|
||||
Timer:=System.Timers.Timer.Create(1000);
|
||||
Timer.Elapsed+=OnTimer1;
|
||||
Exit := false;
|
||||
Timer := System.Timers.Timer.Create(1000);
|
||||
Timer.Elapsed += OnTimer1;
|
||||
Timer.Start;
|
||||
while not exit do
|
||||
Sleep(Round(Timer.Interval));
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
uses Turtle,GraphWPF;
|
||||
uses Turtle;
|
||||
|
||||
var
|
||||
Atom,FStr,XStr,YStr: string;
|
||||
|
|
@ -8,7 +8,7 @@ var
|
|||
procedure Init1; // Dragon
|
||||
begin
|
||||
(Atom,FStr,XStr,YStr) := ('fx','f','x+yf+','-fx-y');
|
||||
(angle,len,n,x0,y0) := (90,3,15,300,450);
|
||||
(angle,len,n,x0,y0) := (90,0.1,15,7,0);
|
||||
end;
|
||||
|
||||
procedure Init2; // Koch curve
|
||||
|
|
@ -43,6 +43,7 @@ begin
|
|||
end;
|
||||
|
||||
begin
|
||||
Sleep(100);
|
||||
Init1;
|
||||
ToPoint(x0,y0);
|
||||
SetWidth(0.5);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
uses Turtle,GraphWPF;
|
||||
uses Turtle;
|
||||
|
||||
var
|
||||
Atom,FStr,XStr,YStr: string;
|
||||
|
|
@ -8,13 +8,13 @@ var
|
|||
procedure Init1; // Dragon
|
||||
begin
|
||||
(Atom,FStr,XStr,YStr) := ('fx','f','x+yf+','-fx-y');
|
||||
(angle,len,n,x0,y0) := (90,3,15,300,450);
|
||||
(angle,len,n,x0,y0) := (90,0.1,15,7,0);
|
||||
end;
|
||||
|
||||
procedure Init2; // Koch curve
|
||||
begin
|
||||
(Atom,FStr,XStr,YStr) := ('F', 'F-F++F-F', '', '');
|
||||
(angle,len,n,x0,y0) := (60,5,7,10,550);
|
||||
(angle,len,n,x0,y0) := (60,0.012,7,-13,0);
|
||||
end;
|
||||
|
||||
procedure Init3; // Quadratic Koch Island
|
||||
|
|
@ -48,6 +48,7 @@ begin
|
|||
SetWidth(0.5);
|
||||
//SetColor(Colors.Red);
|
||||
Down;
|
||||
Turn(90);
|
||||
RunStr(Atom,n);
|
||||
Up;
|
||||
end.
|
||||
|
|
@ -20,7 +20,7 @@ end;
|
|||
procedure Init3; // Quadratic Koch Island
|
||||
begin
|
||||
(Atom,FStr,XStr,YStr) := ('F+F+F+F', 'F+F-FF+F+F-F', '', '');
|
||||
(angle,len,n,x0,y0) := (90,4,4,250,450);
|
||||
(angle,len,n,x0,y0) := (90,0.15,4,8,-1);
|
||||
end;
|
||||
|
||||
procedure Init4; // Gosper hexagonal curve
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ end;
|
|||
procedure Init4; // Gosper hexagonal curve
|
||||
begin
|
||||
(Atom,FStr,XStr,YStr) := ('XF', 'F', 'X+YF++YF-FX--FXFX-YF+','-FX+YFYF++YF+FX--FX-Y');
|
||||
(angle,len,n,x0,y0) := (60,4,5,580,56);
|
||||
(angle,len,n,x0,y0) := (60,0.13,5,-8,6);
|
||||
end;
|
||||
|
||||
procedure RunStr(s: string; n: integer);
|
||||
|
|
|
|||
|
|
@ -7,6 +7,9 @@ interface
|
|||
|
||||
uses System.Runtime.InteropServices;
|
||||
|
||||
var
|
||||
ServerAddr := 'https://air.mmcs.sfedu.ru/pascalabc';
|
||||
|
||||
{==============================================================}
|
||||
{ Класс для формирования вывода }
|
||||
{==============================================================}
|
||||
|
|
@ -646,8 +649,6 @@ var
|
|||
LessonName: string := '';
|
||||
TaskNamesMap := new Dictionary<string,string>;
|
||||
|
||||
ServerAddr := 'https://air.mmcs.sfedu.ru/pascalabc';
|
||||
|
||||
// Дополнительные сообщения о записи в удаленную базу данных
|
||||
additionalMessages := False;
|
||||
|
||||
|
|
|
|||
|
|
@ -288,7 +288,7 @@ end;
|
|||
procedure InitOnce; // Это тоже относится к Черепахе
|
||||
begin
|
||||
Window.Title := 'Исполнитель Черепаха';
|
||||
Font.Size := 12;
|
||||
Font.Size := 14;
|
||||
Pen.RoundCap := True;
|
||||
end;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue