Ну это (см. приложенное изображение) действительно дезинформация. Должно же быть “41мин”. Даже перезагрузка страницы с форумом не помогает. И так, видимо, везде, где должно быть x1мин (где x=2 или x=3 или x=4 или x=5 (но при x=5, видимо, я не смогу проверить, так как раньше этого “yмин” превращается в “1ч”)).
Что значит “->”? Это оператор?
Насчёт панели навигации по коду я понял, но в окне “Просмотр выражений” у меня всегда пусто, а “Окно дизассемблирования” для меня — тёмный лес. Так зачем тогда нужны окна “Просмотр выражений” и “Окно дизассемблирования”?
Не хочу долго тестировать, но, видимо, если full = true, то это значит “сообщение процитировано полностью, нет нужды в показе кнопки “показать полностью” справа сверху от цитаты.”
Значение full по умолчанию (если не указано) — false.
Судя по эксперименту, это утверждение неверно, т. е. всё зависит от значения переменной true в заголовке перед цитатой. Если кнопку оставить — просто будет легче сравнить и, следовательно, увидеть изменение, если слова в цитате изменены.
А надо именно много и долго. Так получите на много больше информации чем то, что вам могут пересказать, даже если бы кто то и знал ответы на все ваши интересные, но жесть какие многочисленные вопросы.
…при вводе в, как мне показалось, любую числовую переменную (даже типа BigInteger) в скомпилированной версии программы (в отличие от теста в самом паскале), максимальное количество цифр в числе = 254 (дальше просто не воспринимает нажатия клавиш с цифрами). Почему? (Как-то подозрительно близко к 2^8…)
За что отвечают опции “MainForm*”, “MainFormMaximized” и “Dock*Portion” в “C:\PABCWork.NET\PascalABCNET.ini”? Всё, что я выяснил: DockBottomPortion — высота нижней панели, DockLeftPortion — ширина панели с образцами кода (появляется слева). А что тогда появляется справа?
Задачи делают на много больше чем потоки. И правила обращения с ними немного отличаются.
К примеру у потоков такое не зависнет, а вот с задачами так нельзя:
begin
var ev := new System.Threading.ManualResetEvent(false);
var tsks := ArrGen(System.Environment.ProcessorCount+1,i->
System.Threading.Tasks.Task.Run(()->
begin
if i=System.Environment.ProcessorCount then
ev.Set else
ev.WaitOne;
lock output do Writeln(i);
end)
);
Readln;
end.
Всё дело в том, что задачи работают уже на заранее созданных потоках, вместо создания новых. Это позволяет экономить на времени создания потоков, зато это не полная мультизадачность, где выполнение всё время переключается между всеми задачами. Даже задачи, поток которых находится в состоянии ожидания, как при ожидание системного события (в том числе при lock), не могут отдать время процессора другим задачам.
Нет, это ужасно. Кроме того что вы загружается процессор непонятно чем (.GetAwaiter.GetResult и .Wait ставят ожидающий поток на паузу). Вы ещё и не учитываете ситуацию где во время выполнения задачи произошла ошибка.
Нужно составить текстовый файл Ф3 на четыре колонки, который содержит только те записи, у который совпадают значения первых колонок (ключ). В данном случае, это
Аааа 111 123 300
Пока что решаем в Exel, а вот какие средства .Net лучше подходят для простого решения ?
type
TableRow = class
items: array of string;
constructor(l: string) :=
self.items := l.ToWords;
static function ReadFile(fname: string) :=
ReadLines(fname).Select(l->new TableRow(l));
static function Compatible(r1,r2: TableRow) :=
r1.items[0] = r2.items[0];
end;
begin
var f2 := TableRow.ReadFile('2.txt').ToArray;
var f3 := System.IO.File.CreateText('3.txt');
foreach var r1 in TableRow.ReadFile('1.txt') do
begin
var r2 := f2.Find(r2->TableRow.Compatible(r1,r2));
if r2=nil then exit;
foreach var v in r1.items + r2.items.Skip(1) do
begin
f3.Write(v);
f3.Write(' ');
end;
f3.WriteLine;
end;
f3.Close;
end.