Вам пишет что нет ;Как правильно выполнить запрос C#
В переменной лежит код, я ставлю в кубик C# вот так
Посмотреть вложение 143997
И на любой код выполнение с ошибкой
Посмотреть вложение 143998
Подскажите что делаю не так. Поиск не помог, может плохо искал.
Здравствуйте,Как правильно выполнить запрос C#
В переменной лежит код, я ставлю в кубик C# вот так
Посмотреть вложение 143997
И на любой код выполнение с ошибкой
Посмотреть вложение 143998
Подскажите что делаю не так. Поиск не помог, может плохо искал.
; в конце строки.Думаю, что вопрос не в пропущенной точке с запятой. У него в переменной проекта лежит снипет на c#, который он хочет налету передать в кубик c# и выполнить его.Здравствуйте,
Если вы работаете с C#-кодом и в нем есть ошибка компиляции, выполнение других кубиков будет невозможно, пока ошибка не будет исправлена.
В вашем случае вы забыли поставить;в конце строки.
Чтобы быстро найти проблемный кубик, дважды кликните по ошибке в логе. PM автоматически перейдет к нему и подсветит его.
Если очень надо - варианты есть.Думаю, что вопрос не в пропущенной точке с запятой. У него в переменной проекта лежит снипет на c#, который он хочет налету передать в кубик c# и выполнить его.
@Axel Скорее всего никак, т.к. после первичного запуска шаблона код уже не будет компилироваться на лету. Он компилируется один раз после нажатия на кнопку Старт.
https://zenno.club/discussion/threads/kak-ya-podruzhil-zennoposter-s-lokal-nym-ii-i-on-sam-nachal-chinit-moi-skripty.131970/
Спасибо за ссылку. Идея интересная у автора, но сам принцип напиши 2000 строк кода в кубике и потом пытайся найти ошибки с помощью ИИ - не очень)Если очень надо - варианты есть.
Вот к примеру была тема, в которой показано как компилировать код внутри шаблона, но это определенные сложности, из-за которого автору скорее всего такой вариант не подойдет:
Код:https://zenno.club/discussion/threads/kak-ya-podruzhil-zennoposter-s-lokal-nym-ii-i-on-sam-nachal-chinit-moi-skripty.131970/
string csFile = @"C:\AI Code Sherlock\zp_scripts\signal_handler.cs";
string methodName = "ReadRequest"; // ← меняй: ReadRequest / QueryOllama / WriteResponse
// Читаем исходник
string sourceCode = System.IO.File.ReadAllText(csFile, System.Text.Encoding.UTF8);
// Компилируем
var provider = new Microsoft.CSharp.CSharpCodeProvider();
var compParams = new System.CodeDom.Compiler.CompilerParameters();
compParams.GenerateInMemory = true;
compParams.ReferencedAssemblies.Add("System.dll");
compParams.ReferencedAssemblies.Add("System.Net.dll");
compParams.ReferencedAssemblies.Add("System.Core.dll");
// Путь к ZennoPoster DLL — обычно здесь:
compParams.ReferencedAssemblies.Add(@"C:\Program Files\ZennoLab\RU\ZennoPoster Pro V7\7.8.15.0\Progs\ZennoLab.InterfacesLibrary.dll");
var result = provider.CompileAssemblyFromSource(compParams, sourceCode);
if (result.Errors.HasErrors)
{
string errors = "";
foreach (System.CodeDom.Compiler.CompilerError e in result.Errors)
errors += "Строка " + e.Line + ": " + e.ErrorText + "\n";
System.IO.File.AppendAllText(
@"C:\AI Code Sherlock\zp_scripts\signal_handler.log",
"[" + DateTime.Now + "] COMPILE ERROR:\n" + errors,
System.Text.Encoding.UTF8
);
throw new Exception("compile_error: " + errors);
}
// Запускаем нужный метод
var assembly = result.CompiledAssembly;
var type = assembly.GetType("SignalHandler");
var method = type.GetMethod(methodName);
method.Invoke(null, new object[] { project });
Анализ ошибок через AI, в данном конкретном случае - второстепенное.Спасибо за ссылку. Идея интересная у автора, но сам принцип напиши 2000 строк кода в кубике и потом пытайся найти ошибки с помощью ИИ - не очень)
Можно, почему нельзя?Ясно, значит код в переменной нельзя хранить.
Поясните, не совсем понял. Допустим код сишарп хранится в файле txt , верно? Как его тогда запустить кубиком. Сейчас пробую. ошибка всего проекта, не запускает в случае когда кубик сишарп указывает только переменную.Код нужно держать в Общем Коде или там же привязывать его к файлу
Так работать не будет.Поясните, не совсем понял. Допустим код сишарп хранится в файле txt , верно? Как его тогда запустить кубиком. Сейчас пробую. ошибка всего проекта, не запускает в случае когда кубик сишарп указывает только переменную.
То есть
Проект старт
Файл - привязать к .txt
в txt код сишарп
запустить кубик сишарп где переменная в которой хранится код - не запускает.
Я тогда совсем не понимаю зачем применение переменных в кубике сишарп предусмотрено.
Я нашел в Projext maker конечно общий код, там все ясно как сохранить, а как вынести Общий код в отдельный файл и чтобы все запускалось в ЗП по расписанию?В текстовом файле может храниться Общий Код.
Напишите здесь в теме код, который Вы хотите запускать.Я нашел в Projext maker конечно общий код, там все ясно как сохранить, а как вынести Общий код в отдельный файл и чтобы все запускалось в ЗП по расписанию?
По линии предполагается несколько кодов, 10-15 разных которые я хотел применять к задачам. В сишарп удобно и практично. Расписание под линию разных задач и коды могут изменяться, включать в себя другие детали.Напишите здесь в теме код, который Вы хотите запускать.
Ну вот это похоже то что надо для выполнения. А есть какой-то пример? Я не знаю, спросил у администрации но там похоже не быстрое дело.В текстовом файле может храниться Общий Код.
Он естественно должен быть правильно оформлен (прописаны using, создан namespace, внутри которого должен быть class).
И уже в классе создаются необходимые методы.
А в кубике вызывается что-то типа CommonCode.Start(); если не возвращает значение или return CommonCode.Start(); если возвращает значение.
Ну вот это похоже то что надо для выполнения. А есть какой-то пример? Я не знаю, спросил у администрации но там похоже не быстрое дело.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;
using System.Text.RegularExpressions;
using ZennoLab.CommandCenter;
using ZennoLab.InterfacesLibrary;
using ZennoLab.InterfacesLibrary.ProjectModel;
using ZennoLab.InterfacesLibrary.ProjectModel.Collections;
using ZennoLab.InterfacesLibrary.ProjectModel.Enums;
using ZennoLab.Macros;
using Global.ZennoExtensions;
using ZennoLab.Emulation;
using ZennoLab.CommandCenter.TouchEvents;
using ZennoLab.CommandCenter.FullEmulation;
using ZennoLab.InterfacesLibrary.Enums;
namespace ZennoLab.OwnCode
{
/// <summary>
/// A simple class of the common code
/// </summary>
public class CommonCode{
public static void Start1(){
// какой-то код - не возвращает значение
}
public static string Start2(){
return "какой-то текст"; // возвращает строку
}
public static string Start3(IZennoPosterProjectModel project){
project.SendInfoToLog("Сообщение в лог",true);
return "какой-то текст"; // возвращает строку
}
}
}
CommonCode.Start1(); // не возвращает значение
string text = CommonCode.Start2(); // возвращает строку
project.SendInfoToLog(text,true);
CommonCode.Start3(project); // пример пробрасывания project в метод



