[SOLVED] Свой C# взятый из переменной

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43
Что не так?) Пытаюсь выполнить C# код взятый из переменной по умолчанию, но не выходит ничего
 

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43
Лол, заменил project.Variables["csource"].Value на {-Variable.csource-} работает:D
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
компиляция кода идет до начала выполнения проекта
если вы делаете таким образом то никаких пермеенных значений в коде не будет просто
 
  • Спасибо
Реакции: Tuw

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43
@rostonix Видимо я рано радовался:(

А как осуществить, чтобы переменная была в C# коде?
У меня так работает шаб: берется из списка строка, кладется в переменную {-Variable.test-} и из этой переменной кладется в код и выполняется
 

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43
Переменную надо внедрить в этот post запрос на C#. У меня берется строка из списка, которая будет посылаться в post data на C#.

Но проблема в том, что переменная, которая вставлена в коде C# не отсылается. Как будто она и не бралась из списка вовсе(но взятие строки из списки прекрасно выполняется).

Пробовал вставлять в postdata переменную в таких видах, но может я неправильно ее вставляю
  • {-Variable.test-}
  • project.Variables["test"].Value
  • project.Variables["test"].Value;

но все равно не выходит. Может кто помочь плиз?

Код:
string response = String.Empty;
try
{
    response = ZennoPoster.HttpPost(
        "http://zennolab.com/",
        "{-Variable.test-}",
        "application/x-www-form-urlencoded; charset=UTF-8",
        instance.GetProxy(),
        "UTF-8",
        ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody,
        60,
        instance.GetCookie("site.ru", true),
        project.Profile.UserAgent,
        false,
        0,
        AdditionalHeaders: new [] {"Referer: http://site.com/"}
    );
} catch (Exception ex) { return "bad_post"; }
return response;
Но как rostonix говорит, таким образом переменной этой не будет в коде( Как реализовать тогда? Тут еще мысль есть, может получиться тогда вместо этого брать рандомную строку из списка сразу с помощью C# и вставлять ее( в 6-ую строку кода)?
 
Последнее редактирование:

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113
Читайте документацию. Чтобы использовать переменную из проекта в коде C# нужно ее в коде объявить.
Код:
var TestVar = project.Variables["test"].Value;
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Вот это правильный синтаксис project.Variables["test"].Value
Если переменная существует такая в проекте
 

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43
Сделал все также как вы описали выше. Все равно не выходит:(

Прикрепил шаб проекта, посмотрите пожалуйста
 

Вложения

  • 22,2 КБ Просмотры: 243

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
  • Спасибо
Реакции: Tuw

shade

Client
Регистрация
19.11.2010
Сообщения
580
Благодарностей
346
Баллы
63
:de:
 

Вложения

  • 18,7 КБ Просмотры: 246
  • Спасибо
Реакции: Tuw и rostonix

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43
В кавычки брал потому что думал они обязательны))) СПАСИБО вам огромное! Но тут другая проблема еще появилась... Почему не обрабатывается если есть что-то рядом? У меня post запрос с JSON-овским форматом и в нем должна быть эта переменная. Ее тупо как TestVar отсылает, ни как переменную) А если кавычки тут убрать, не работает. Переменная вместо HEREVAR должна быть(конец 9-ой строки). Помогите заменить в коде HEREVAR на переменную, нужно ее вписать. Пытался щас найти инфу, но не нашел нигде



Код:
string response = String.Empty;

var TestVar = project.Variables["test"].Value;

try
{
    response = ZennoPoster.HttpPost(
        "http://lessons.zennolab.com/",
        "{\n \"test\": {\n  \"in1\": \"11\",\n  \"in2\": \"22\",\n  \"in3\": \"33\",\n  \"in4\": \"44\"\n },\n \"test2\": {\n  \"tin1\": \"HEREVAR\"\n }\n}",
        "application/x-www-form-urlencoded; charset=UTF-8",
        instance.GetProxy(),
        "UTF-8",
        ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody,
        60,
        instance.GetCookie("site.ru", true),
        project.Profile.UserAgent,
        false,
        0,
        AdditionalHeaders: new [] {"Referer: http://site.com/"}
    );
} catch (Exception ex) { return "bad_post"; }
return response;


Почему со слэшами в postdata, ибо по другому не отсылает) Отсылать нужно в таком формате
Код:
{
"test": {
  "in1": "11",
  "in2": "22",
  "in3": "33",
  "in4": "44"
},
"test2": {
  "tin1": "HERE"
}
}
и он отсылает лишь если обработать через js в
Код:
"{\n \"test\": {\n  \"in1\": \"11\",\n  \"in2\": \"22\",\n  \"in3\": \"33\",\n  \"in4\": \"44\"\n },\n \"test2\": {\n  \"tin1\": \"HEREVAR\"\n }\n}"
 
Последнее редактирование:

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
351
Благодарностей
52
Баллы
28

gevolushn

Известная личность
Регистрация
25.03.2019
Сообщения
518
Благодарностей
269
Баллы
63
Код:
project.Variables["Переменная"].Value;//в скобках название твоей переменной
 
  • Спасибо
Реакции: ukrainec2014

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
351
Благодарностей
52
Баллы
28
project.Variables["Переменная"].Value;//в скобках название твоей переменной
Установил, все как надо, но почему то перестали срабатывать обычные блоки типа "рандомное число в переменную"

http://joxi.ru/KAxl8jbtZ8Y0PA
http://joxi.ru/RmzGJzbcY5QDR2

если из кода убрать переменные - тогда все нормально срабатывает

http://joxi.ru/gmvBy7bUqM8D0m

В чем тут проблема?
 

gevolushn

Известная личность
Регистрация
25.03.2019
Сообщения
518
Благодарностей
269
Баллы
63
https://metanit.com/sharp/tutorial/2.1.php
Прошу прощения.
Код:
Convert.ToInt32(project.Variables["Переменная"].Value);//в скобках название твоей переменной
 
  • Спасибо
Реакции: ukrainec2014

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 777
Благодарностей
1 448
Баллы
113
Установил, все как надо, но почему то перестали срабатывать обычные блоки типа "рандомное число в переменную"

http://joxi.ru/KAxl8jbtZ8Y0PA
http://joxi.ru/RmzGJzbcY5QDR2

если из кода убрать переменные - тогда все нормально срабатывает

http://joxi.ru/gmvBy7bUqM8D0m

В чем тут проблема?
переменные string (строка), а значение int (целое число), нужна конвертация: int.Parse(project.Variables["Переменная"].Value) тогда все корректно заработает.
 
  • Спасибо
Реакции: ukrainec2014

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
351
Благодарностей
52
Баллы
28
Convert.ToInt32(project.Variables["Переменная"].Value);//в скобках название твоей переменной
ЗАработало!! Ура, спасибо!


переменные string (строка), а значение int (целое число), нужна конвертация: int.Parse(project.Variables["Переменная"].Value) тогда все корректно заработает.
супер ребята вы лучшие
 
  • Спасибо
Реакции: samsonnn и gevolushn

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