Небольшие упрощения в LightPT и TeacherControlPlugin.cs - теперь только при открытии щелчком по pas-файлу
This commit is contained in:
parent
1d28d5030b
commit
2a3a77d0f4
|
|
@ -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 = "3307";
|
||||
public const string Revision = "3308";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%MINOR%=9
|
||||
%REVISION%=3307
|
||||
%COREVERSION%=0
|
||||
%REVISION%=3308
|
||||
%MINOR%=9
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
3.9.0.3307
|
||||
3.9.0.3308
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.9.0.3307'
|
||||
!define VERSION '3.9.0.3308'
|
||||
|
|
|
|||
|
|
@ -199,16 +199,17 @@ namespace VisualPascalABCPlugins
|
|||
// InitItems(MenuItems, ToolBarItems);
|
||||
//else // это мехмат
|
||||
|
||||
// SSM 20/06/22 Решил включить плагин в инсталлят и показывать кнопки только если есть lightpt.dat в текущем или auth.dat в корне сетевого
|
||||
// SSM 20/06/22 Решил включить плагин в инсталлят и показывать кнопки только если есть lightpt.dat в текущем
|
||||
// или auth.dat в корне сетевого - убрал это 11.07.23 - только если при запуске lightpt.dat в текущем!!!
|
||||
{
|
||||
if (IsLightPTInWorkingDirectiry()) // если lightpt.dat существует в текущем
|
||||
InitItems(MenuItems, ToolBarItems);
|
||||
else
|
||||
/*else
|
||||
{
|
||||
var AuthFileFullName = FullAuthNameFromNETDisk();
|
||||
if (AuthFileFullName != "") // если auth.dat существует в корне сетевого диска
|
||||
InitItems(MenuItems, ToolBarItems);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -235,6 +236,7 @@ namespace VisualPascalABCPlugins
|
|||
{
|
||||
// Попытка автоматического входа
|
||||
// AuthFileFullName для мехмата был запомнен в GetGUI
|
||||
// SSM 11/07/23 - нет, AuthFileFullName для мехмата отдельно теперь не перевычисляется для простоты!!!
|
||||
// Нет - только на мехмате. Заполнить если дома!!!
|
||||
// Думаю, здесь всё надо перевычислить. Начать с текущего, потом на уровень выше и потом в корень сетевого диска
|
||||
|
||||
|
|
@ -242,10 +244,10 @@ namespace VisualPascalABCPlugins
|
|||
var AuthFileFullName = "";
|
||||
if (IsLightPTInWorkingDirectiry()) // Только если lightPT.dat в текущем, ищем auth.dat в текущем или выше
|
||||
AuthFileFullName = FullAuthNameFromWorkingDirOrParent();
|
||||
if (AuthFileFullName == "" && IsMechmath)
|
||||
/*if (AuthFileFullName == "" && IsMechmath)
|
||||
{
|
||||
AuthFileFullName = FullAuthNameFromNETDisk();
|
||||
}
|
||||
}*/
|
||||
|
||||
if (AuthFileFullName != "")
|
||||
{
|
||||
|
|
@ -272,18 +274,19 @@ namespace VisualPascalABCPlugins
|
|||
|
||||
private void ChangeArgsBeforeRunHandler(ref string args)
|
||||
{
|
||||
args += " " + loginForm.Authorized.ToString();
|
||||
var FileName = Workbench.ServiceContainer.DocumentService.CurrentCodeFileDocument.FileName;
|
||||
// Ладно - это текст
|
||||
var text = Workbench.VisualEnvironmentCompiler.StandartCompiler.GetSourceFileText(FileName);
|
||||
//text = System.Text.RegularExpressions.Regex.Replace(text, "\"", "\\\"");
|
||||
if (text.Length > 5000)
|
||||
text = text.Substring(0, 5000);
|
||||
text = text.Replace("\\\"", "\\ \"");
|
||||
text = text.Replace("\"", "\\\"");
|
||||
//text = System.Text.RegularExpressions.Regex.Unescape(text);
|
||||
args += " " + "\""+ text + "\"";
|
||||
//args += " HelloBye23";
|
||||
if (Item == null) // если нет кнопок с человечком, то в глобальную базу писаться не будет в принципе!
|
||||
return;
|
||||
args += " " + loginForm.Authorized.ToString();
|
||||
if (loginForm.Authorized) // Параметр Текст программы добавляется только если зарегистрирован
|
||||
{
|
||||
var FileName = Workbench.ServiceContainer.DocumentService.CurrentCodeFileDocument.FileName;
|
||||
var text = Workbench.VisualEnvironmentCompiler.StandartCompiler.GetSourceFileText(FileName);
|
||||
if (text.Length > 5000)
|
||||
text = text.Substring(0, 5000);
|
||||
text = text.Replace("\\\"", "\\ \"");
|
||||
text = text.Replace("\"", "\\\"");
|
||||
args += " " + "\"" + text + "\"";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2159,12 +2159,18 @@ procedure WriteInfoToDatabases(LessonName,TaskName,TaskPlatform: string; TaskRes
|
|||
begin
|
||||
try
|
||||
System.IO.File.AppendAllText('db.txt', $'{LessonName} {TaskName} {dateTime.Now.ToString(''u'')} {TaskResult.ToString} {AdditionalInfo}' + #10);
|
||||
var auth := FindAuthDat();
|
||||
except
|
||||
on e: Exception do
|
||||
ColoredMessage('Ошибка записи в файл db.txt. Обратитесь к преподавателю',MsgColorGray);
|
||||
end;
|
||||
// Разделили ошибки записи в локальную и глобальную базу
|
||||
try
|
||||
var auth := FindAuthDat(); // файл авторизации ищется либо в текущей папке либо в папке на уровень выше
|
||||
var args := System.Environment.GetCommandLineArgs;
|
||||
if (auth <> '') and (args.Length >= 3) and (args[2].ToLower = 'true') then
|
||||
begin
|
||||
var text := '';
|
||||
if TaskResult <> InitialTask then
|
||||
if (TaskResult <> InitialTask) and (args.Length >= 4) then
|
||||
text := args[3];
|
||||
// Есть проблема паузы при плохой сети
|
||||
WriteInfoToRemoteDatabase(auth,LessonName,TaskName,TaskPlatform,TaskResult.ToString, text, AdditionalInfo);
|
||||
|
|
|
|||
Loading…
Reference in a new issue