Бесплатные снипеты на заказ

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 648
Баллы
113
C#:
string data = "0001:351;0002:352;0003:353";

string main_tpl = "{{\"stocks\": [{0}]}}";
string element_tpl = "{{\"offer_id\": \"{0}\", \"product_id\": {1}, \"stock\": 0, \"warehouse_id\": 22142605386000}}";

List<string> elements = new List<string>();
foreach(string data_part in data.Split(';'))
    elements.Add(string.Format(element_tpl, data_part.Split(':')[0], data_part.Split(':')[1]));

return string.Format(main_tpl, string.Join(", ", elements));
 

Kuki

Client
Регистрация
02.11.2022
Сообщения
7
Благодарностей
0
Баллы
1
Здравствуйте. Подскажите как можно задать значение переменной, в зависимости от наличия текста на странице.
Есть тексты: text 1, text 2, text 3 ... Нужно определить находится ли какой-то из них на странице, и если есть text 1 - присвоить переменной text значение 1, если text 2, то значение 2 и т.д.
 
Последнее редактирование:

Vasyl1

Client
Регистрация
11.12.2016
Сообщения
203
Благодарностей
23
Баллы
18
Здравствуйте. Подскажите как можно задать значение переменной, в зависимости от наличия текста на странице.
Есть тексты: text 1, text 2, text 3 ... Нужно определить находится ли какой-то из них на странице, и если есть text 1 - присвоить переменной text значение 1, если text 2, то значение 2 и т.д.
C#:
// Получаем HTML страницы с кодировкой UTF-8
string pageContent = instance.ActiveTab.GetSourceText("UTF-8").ToLower();
// Проверяем наличие текстов в контенте страницы и присваиваем значения переменным
if (pageContent.Contains("text 1"))
{
   project.Variables["text1"].Value = "text 1";
}
if (pageContent.Contains("text 2"))
{
    project.Variables["text2"].Value = "text 2";
}
if (pageContent.Contains("text 3"))
{
    project.Variables["text3"].Value = "text 3";
}
 
  • Спасибо
Реакции: Kuki

Kuki

Client
Регистрация
02.11.2022
Сообщения
7
Благодарностей
0
Баллы
1
C#:
// Получаем HTML страницы с кодировкой UTF-8
string pageContent = instance.ActiveTab.GetSourceText("UTF-8").ToLower();
// Проверяем наличие текстов в контенте страницы и присваиваем значения переменным
if (pageContent.Contains("text 1"))
{
   project.Variables["text1"].Value = "text 1";
}
if (pageContent.Contains("text 2"))
{
    project.Variables["text2"].Value = "text 2";
}
if (pageContent.Contains("text 3"))
{
    project.Variables["text3"].Value = "text 3";
}
Спасибо. Разобрался. А как здесь можно сделать ожидание появление текста на странице в течении заданного времени?
 
Последнее редактирование:

Vasyl1

Client
Регистрация
11.12.2016
Сообщения
203
Благодарностей
23
Баллы
18
Спасибо. Разобрался. А как здесь можно сделать ожидание появление текста на странице в течении заданного времени?
C#:
// Время ожидания в миллисекундах (например, 5 секунд)
int timeout = 5000;
int checkInterval = 1000; // Интервал проверки в миллисекундах (1 секунда)
DateTime endTime = DateTime.Now.AddMilliseconds(timeout);

// Цикл ожидания появления текста
while (DateTime.Now < endTime)
{
    // Получаем HTML страницы с кодировкой UTF-8
    string pageContent = instance.ActiveTab.GetSourceText("UTF-8").ToLower();

    // Проверяем наличие текстов в контенте страницы и присваиваем значения переменным
    if (pageContent.Contains("text 1"))
    {
        project.Variables["text1"].Value = "text 1";
        break;
    }
    if (pageContent.Contains("text 2"))
    {
        project.Variables["text2"].Value = "text 2";
        break;
    }
    if (pageContent.Contains("text 3"))
    {
        project.Variables["text3"].Value = "text 3";
        break;
    }

    // Ожидание перед следующей проверкой
    Thread.Sleep(checkInterval);
}
 
  • Спасибо
Реакции: Kuki

Faron

Client
Регистрация
15.12.2015
Сообщения
49
Благодарностей
1
Баллы
8
Подскажите, как можно запустить этот код на ZP?
Нужно сгенерировать большое число от 1000000 до 1000000000000000
C#:
using System;
using System.Security.Cryptography;
using System.Globalization;


System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");


long GenerateRandomLong(long min, long max)
{
    if (min >= max)
     {
         throw new ArgumentOutOfRangeException("min", "Минимальное значение должно быть меньше максимального.");
     }
   
    using (var rng = RandomNumberGenerator.Create())
    {
         byte[] bytes = new byte[8];
        rng.GetBytes(bytes);
        long randomValue = BitConverter.ToInt64(bytes, 0);
         long result = Math.Abs(randomValue % (max - min)) + min;
         return result;
    }
}


long valueLong = GenerateRandomLong(1000000, 1000000000000000);
int value = (int)(valueLong % int.MaxValue);
return value;
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 857
Благодарностей
1 579
Баллы
113
Нужно сгенерировать большое число от 1000000 до 1000000000000000
129837

C#:
// Минимальное и максимальное значение
long minValue = 1_000_000;
long maxValue = 1_000_000_000_000_000;

// Создаем случайное число
Random random = new Random();
long result = minValue + (long)(random.NextDouble() * (maxValue - minValue));
project.Variables["result"].Value = result.ToString();

// Вывод результата
project.SendInfoToLog($"Случайное число: {result}", true);
 
  • Спасибо
Реакции: Faron

Faron

Client
Регистрация
15.12.2015
Сообщения
49
Благодарностей
1
Баллы
8
Подскажите, почему не запускается этот код?
C#:
long price = long.Parse(project.Variables["price"].Value);
long CalculateProfit(long price, double percentage)
    long internalPrice = price / 100;
    double profit = internalPrice * (15 / 100);
    long roundedProfit = (long)Math.Floor(profit);
    long tprice = roundedProfit * 100;
    return tprice;
 

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
754
Благодарностей
210
Баллы
43
Подскажите, почему не запускается этот код?
C#:
long price = long.Parse(project.Variables["price"].Value);
long CalculateProfit(long price, double percentage)
    long internalPrice = price / 100;
    double profit = internalPrice * (15 / 100);
    long roundedProfit = (long)Math.Floor(profit);
    long tprice = roundedProfit * 100;
    return tprice;
Ну давай погадаем...
Очень вероятно что ты выдрал этот кусок кода из какого то цельного класса... Вот и не работает...
Другой вариант... Ты пытаешься написать реализацию функции CalculateProfit...

Ну и написал бы что ли, в каком месте пытаешься запустить... В кубике c# или в общем коде....

Ну а какую ошибку выдает компилятор при запуске, можешь не приводить... Никто никогда не смотрит на эту совершенно не важную инфу.
 

Faron

Client
Регистрация
15.12.2015
Сообщения
49
Благодарностей
1
Баллы
8
Ну давай погадаем...
Очень вероятно что ты выдрал этот кусок кода из какого то цельного класса... Вот и не работает...
Другой вариант... Ты пытаешься написать реализацию функции CalculateProfit...

Ну и написал бы что ли, в каком месте пытаешься запустить... В кубике c# или в общем коде....

Ну а какую ошибку выдает компилятор при запуске, можешь не приводить... Никто никогда не смотрит на эту совершенно не важную инфу.
Запускаю в кубике, выдает ошибку:
Компиляция кода Ошибка в действии "CS1002" "; expected". [Строка: 2; Cтолбец: 52]
Upd
При помощи костылей и какой то матери, код заработал.
 
Последнее редактирование:

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
754
Благодарностей
210
Баллы
43
Запускаю в кубике, выдает ошибку:
Компиляция кода Ошибка в действии "CS1002" "; expected". [Строка: 2; Cтолбец: 52]
Upd
При помощи костылей и какой то матери, код заработал.
Я вот последнее время уже отошел от той самой матери и строю отношения с ИИ ;-)
 
  • Спасибо
Реакции: Faron

Faron

Client
Регистрация
15.12.2015
Сообщения
49
Благодарностей
1
Баллы
8
Правильно ли я понял, что код в блоке C# не будет работать, если в нем есть проверка null? зенноспотер сам, вне кода выполняет проверку используемых переменных?
 

Faron

Client
Регистрация
15.12.2015
Сообщения
49
Благодарностей
1
Баллы
8
Не могу понять, как реализовать этот код в плашке C#
C#:
void Main(string[] args)
{
    string token = Instance.GetVariable("Token");

    string parameters = "action=cln_market_search&token=" + token + "&skip=0&count=11&text=&language=en_US";
    string encodedParameters = System.Net.WebUtility.UrlEncode(parameters);
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(encodedParameters);
    int byteCount = bytes.Length;

    Instance.SetVariable("Cache", byteCount.ToString());
    System.Console.WriteLine("Byte count: " + byteCount);
}
Если коротко, он должен преобразовывать тело post запроса в utf-8, а затем посчитать количество байт и вывести его в переменную. меняю код, но постоянно вылазят ошибки.
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 857
Благодарностей
1 579
Баллы
113
Не могу понять, как реализовать этот код в плашке C#
C#:
void Main(string[] args)
{
    string token = Instance.GetVariable("Token");

    string parameters = "action=cln_market_search&token=" + token + "&skip=0&count=11&text=&language=en_US";
    string encodedParameters = System.Net.WebUtility.UrlEncode(parameters);
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(encodedParameters);
    int byteCount = bytes.Length;

    Instance.SetVariable("Cache", byteCount.ToString());
    System.Console.WriteLine("Byte count: " + byteCount);
}
Если коротко, он должен преобразовывать тело post запроса в utf-8, а затем посчитать количество байт и вывести его в переменную. меняю код, но постоянно вылазят ошибки.
130130

C#:
string token = project.Variables["Token"].Value;
string parameters = $"action=cln_market_search&token={token}&skip=0&count=11&text=&language=en_US";
string encodedParameters = System.Net.WebUtility.UrlEncode(parameters);
int byteCount = System.Text.Encoding.UTF8.GetByteCount(encodedParameters);
project.Variables["ResultCount"].Value = byteCount.ToString();
 
  • Спасибо
Реакции: Faron

Antibiotik

Client
Регистрация
25.06.2022
Сообщения
22
Благодарностей
9
Баллы
3
В последних версиях ZP расширения не нужно переустанавливать каждый раз, но возникла другая проблема, расширения конфликтуют между собой.
ИИ предлагает кучу методов и все они отсутствуют в Зенке, вот пример:

C#:
// Получаем экземпляр браузера
var browser = instance.ActiveTab.Browser;

// Отключаем расширение по его идентификатору или имени
browser.DisableExtension("extension_id_or_name");

// Сообщаем об успешном отключении
instance.Log("Расширение отключено.");
Возможно ли кубиком с C# включать/выключать расширения?
Спасибо.
 

Кто просматривает тему: (Всего: 6, Пользователи: 0, Гости: 6)