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

  • Автор темы Автор темы CSS
  • Дата начала Дата начала
Знатоки! Подскажите такую штуку:
Есть снипет:
Код:
Развернуть Свернуть Копировать
double a = double.Parse(project.Variables["num"].Value);//число 1
double b = double.Parse(project.Variables["percent"].Value);//число 2
double result = a+(a/100*b);//вычисление
return System.Math.Round(result,Convert.ToInt32(project.Variables["dot"].Value));//приводим к нужному количеству знаков после точки с округлением 'dot'

производит вычисление и округляет с указанным числом знаков после запятой.
Как округлить к большему?
И положить ответ в переменную проекта без return чтоб продолжить кодить
 
Знатоки! Подскажите такую штуку:
Есть снипет:
Код:
Развернуть Свернуть Копировать
double a = double.Parse(project.Variables["num"].Value);//число 1
double b = double.Parse(project.Variables["percent"].Value);//число 2
double result = a+(a/100*b);//вычисление
return System.Math.Round(result,Convert.ToInt32(project.Variables["dot"].Value));//приводим к нужному количеству знаков после точки с округлением 'dot'

производит вычисление и округляет с указанным числом знаков после запятой.
Как округлить к большему?
И положить ответ в переменную проекта без return чтоб продолжить кодить
Код:
Развернуть Свернуть Копировать
double a = double.Parse(project.Variables["num"].Value);//число 1
double b = double.Parse(project.Variables["percent"].Value);//число 2
double result = a+(a/100*b);//вычисление
project.Variables["tvoya_peremennaya"].Value = System.Math.Ceiling(result);//создай и обзови свою переменную в проекте
 
Код:
Развернуть Свернуть Копировать
double a = double.Parse(project.Variables["num"].Value);//число 1
double b = double.Parse(project.Variables["percent"].Value);//число 2
double result = a+(a/100*b);//вычисление
project.Variables["tvoya_peremennaya"].Value = System.Math.Ceiling(result);//создай и обзови свою переменную в проекте

Ошибка: "Неявное преобразование типа "double" в "string" невозможно.
И отсутствует количество символов после точки
 
Ошибка: "Неявное преобразование типа "double" в "string" невозможно.
И отсутствует количество символов после точки
извиняй набросал,но не затестил
Код:
Развернуть Свернуть Копировать
double a = double.Parse(project.Variables["num"].Value);//число 1
double b = double.Parse(project.Variables["percent"].Value);//число 2
double result = a+(a/100*b);//вычисление
project.Variables["tvoya_peremennaya"].Value = Convert.ToString(System.Math.Ceiling(result));
 
Уважаемые знатоки!
Хочу получить в таблицу параметры загруженных в зенку проектов.
С грехом пополам на копипастистил следующее (пример кода, конкретные поля для взятия могут быть изменены)
Код:
Развернуть Свернуть Копировать
var tasksList = new List<string>(ZennoPoster.TasksList);
var tab = project.Tables["TestTB"];
for (int i=0; i<tasksList.Count; i++) {
        var taskExSetPriority = Regex.Match(tasksList[i], @"(?<=Priority>)\d+(?=</Priority>)").Value;
        var taskExSetStatus = Regex.Match(tasksList[i], @"(?<=Status>)\d+(?=</Status>)").Value;

    tab.AddRow(new []{taskExSetPriority,taskExSetStatus});
    }
Проблема в том что цифровые значения берутся, а текстовые нет.
Внимание вопрос!
1. Что нужно изменить чтоб текстовые данные тоже брались?
2. Может это вообще путь не верный и можно как-то все сделать проще, на пример все настройки закинуть в переменную и распарсить стандартным кубиком "json/xml"?
 
Уважаемые знатоки!
Хочу получить в таблицу параметры загруженных в зенку проектов.
С грехом пополам накопипастистил следующее (пример кода, конкретные поля для взятия могут быть изменены)
Код:
Развернуть Свернуть Копировать
var tasksList = new List<string>(ZennoPoster.TasksList);
var tab = project.Tables["TestTB"];
for (int i=0; i<tasksList.Count; i++) {
        var taskExSetPriority = Regex.Match(tasksList[i], @"(?<=Priority>)\d+(?=</Priority>)").Value;
        var taskExSetStatus = Regex.Match(tasksList[i], @"(?<=Status>)\d+(?=</Status>)").Value;

    tab.AddRow(new []{taskExSetPriority,taskExSetStatus});
    }
Проблема в том что цифровые значения берутся, а текстовые нет.
Внимание вопрос!
1. Что нужно изменить чтоб текстовые данные тоже брались?
2. Может это вообще путь не верный и можно как-то все сделать проще, на пример все настройки закинуть в переменную и распарсить стандартным кубиком "json/xml"?

Вопрос частично снят. Нужно вместо \d+ поставить .*
А второй вопрос остался
 
извиняй набросал,но не затестил
Код:
Развернуть Свернуть Копировать
double a = double.Parse(project.Variables["num"].Value);//число 1
double b = double.Parse(project.Variables["percent"].Value);//число 2
double result = a+(a/100*b);//вычисление
project.Variables["tvoya_peremennaya"].Value = Convert.ToString(System.Math.Ceiling(result));

Благодарствую Sanekk, код робит, bat в ентом методе некуда вставить ограничение по количеству символов после точки, а в данном случае это важно, в ответ приходит целое число, а надо 0.005/0.1965=0.0255
 
в ентом методе некуда вставить ограничение по количеству символов после точки, а в данном случае это важно, в ответ приходит целое число, а надо 0.005/0.1965=0.0255
C#:
Развернуть Свернуть Копировать
double a = double.Parse(project.Variables["num"].Value); // число 1
double b = double.Parse(project.Variables["percent"].Value); // число 2
double c = double.Parse(project.Variables["dot"].Value); // количество знаков после запятой
double result = a + (a / 100 * b); // вычисление
double factor = Math.Pow(10, c);
project.Variables["result"].Value = Convert.ToString(Math.Ceiling(result * factor) / factor);
 
Благодарствую Sanekk, код робит, bat в ентом методе некуда вставить ограничение по количеству символов после точки, а в данном случае это важно, в ответ приходит целое число, а надо 0.005/0.1965=0.0255
я не допонял вопрос наверное,думал что цель округлить до целого числа
Dimionix рулит;-)
 
Нужен снипет сравнения таблиц. В первой таблице заношу новую информацию, после чего, берутся ячейки столбца B и прогоняются по второй таблице. Если во второй таблице в столбце B нет копии ячейки, копируем целую строку Excel в третью таблицу. Если же во второй таблице в столбце B нашли копию ячейки, пропускаем.

Желательно, чтобы перебор работал шустро и в один поток. Строк может быть более 10к. ))
 
Последнее редактирование:
Нужно переименовать более 100 000 файлов в имена вида XXX.YYYYYY
где ХХХ - генерируется
Код:
Развернуть Свернуть Копировать
//Язык генерации (Eng, Lat или Jap)
string lang = "Eng";
//Количество слогов
Random rnd = new Random();
int sylCount = rnd.Next(2, 3);
//Возвращаем сгенерированное слово
return project.Profile.RegenerateLogin(String.Fo
YYYY - берется из списка.
Через кубики это делается очень долго долго (более 12 часов).
Возможно ли это сделать за время в +-5-10 минут?
 
Нужно переименовать более 100 000 файлов в имена вида XXX.YYYYYY
где ХХХ - генерируется
Код:
Развернуть Свернуть Копировать
//Язык генерации (Eng, Lat или Jap)
string lang = "Eng";
//Количество слогов
Random rnd = new Random();
int sylCount = rnd.Next(2, 3);
//Возвращаем сгенерированное слово
return project.Profile.RegenerateLogin(String.Fo
YYYY - берется из списка.
Через кубики это делается очень долго долго (более 12 часов).
Возможно ли это сделать за время в +-5-10 минут?
возможно. нужно запустить кубики в зенно
 
Всё еще нахожусь в поисках решения сниппета для перевода docx в html. С соблюдением заголовков, списков и абзацев.
 
А подскажите снипет, который ищет на странице например поле ввода имени и вносит туда значение переменой.
 
Нужно переименовать более 100 000 файлов в имена вида XXX.YYYYYY
где ХХХ - генерируется
Код:
Развернуть Свернуть Копировать
//Язык генерации (Eng, Lat или Jap)
string lang = "Eng";
//Количество слогов
Random rnd = new Random();
int sylCount = rnd.Next(2, 3);
//Возвращаем сгенерированное слово
return project.Profile.RegenerateLogin(String.Fo
YYYY - берется из списка.
Через кубики это делается очень долго долго (более 12 часов).
Возможно ли это сделать за время в +-5-10 минут?

Путь к файлам, YYYY - из списка рандомно или по очереди, XXX - как именно генерируется? больше информации немного.
Переименовывать можете просто кодом:
Код:
Развернуть Свернуть Копировать
System.IO.File.Move("Старый путь к файлу", "Путь с новым названием файла");
 
Всем привет!
Ситуация такая. Есть прокси вида: http://888.888.888.888:8888
Есть список проксей в том же формате. Как найти и взять из списка (с удалением) прокси из той же подсети (http://888.888.)

Я пока не знаю, как взять из http://888.888.888.888:8888 первые 14 символов?
А потом по http://888.888. найти строку с прокси из той же подсети? И удалить ее из списка.

Описал всю ситуацию вцелом, так как знаю, что тут полно умных людей, которые возможно найдут более рациональный способ решения такой задачи.
 
Путь к файлам, YYYY - из списка рандомно или по очереди, XXX - как именно генерируется? больше информации немного.
Переименовывать можете просто кодом:
Код:
Развернуть Свернуть Копировать
System.IO.File.Move("Старый путь к файлу", "Путь с новым названием файла");

YYYY - по очереди.
XXX - генерируется по коду приведенному ниже
 
YYYY - по очереди.
XXX - генерируется по коду приведенному ниже

Код:
Развернуть Свернуть Копировать
var path = project.Variables["path"].Value; // Переменная, где указан путь к папке с файлами
var list = project.Lists["List"]; // Спипок для генерации YYYY


string[] files = Directory.GetFiles(path);
foreach (string p in files)
{
    var xxx = ""; //Ваш сгенерированый ХХХ
    string name1 = list[0];
    string fullName = @path + "\\" + name1 + "." + xxx;
    try {File.Move(p, fullName) ;}
    catch {project.SendWarningToLog("Файл - " + fullName + " уже существует!", true) ;}
    list.Remove(list[0]);
}
Если размер файлов небольшой - за 10 мин. справится.
 
Последнее редактирование:
  • Спасибо
Реакции: demian
Уважаемые знатоки!
Вопрос от Евгения из города Самара.


Продублирую здесь вопрос созданной темы:
http://zennolab.com/discussion/thre...uchit-root-docprops-core-xml-k-proektu.45483/

DocX как подключить /root/docProps/core.xml к проекту???
Использую библиотеку docx.dll для создания ДОК-документов. Вот эту:
https://github.com/xceedsoftware/DocX (она же была на старом конкурсе в статье от раджаба).

Нужно мне добавить Метаданные к созданному документу, для этого есть метод
addCoreProperty(...).

При добавлении свойства всегда возникает одна и та же ошибка:
Выполнение действия CSharp OwnCode Core properties part doesn't exist.

В исходнике, эта ошибка возникает вот в этом месте:
Код:
Развернуть Свернуть Копировать
public void AddCoreProperty( string propertyName, string propertyValue )
    {
      var propertyNamespacePrefix = propertyName.Contains(":") ? propertyName.Split(':')[0] : "cp";
      var propertyLocalName = propertyName.Contains(":") ? propertyName.Split(':')[1] : propertyName;

      // If this document does not contain a coreFilePropertyPart create one.)
      if( !_package.PartExists( new Uri( "/docProps/core.xml", UriKind.Relative ) ) )
        throw new Exception( "Core properties part doesn't exist." );

Очевидно, что у меня нет того самого файла core.xml

Вот здесь инструкция что это за файл и куда его сохранить:
https://msdn.microsoft.com/en-us/library/bb264572(v=office.12).aspx


Cоздавал папку root/docProps/ в директории проекта, в папке /progs/ никаких изменений.
КТО подскажет как это делается??
 
Приветствую! Самый простой вопрос на засыпку)))
Как удалить несколько фаилов?
Можно по очереди в одном коде.
И путь желательно тоже в переменную закинуть.
Лайк гарантирую сразу. Заранее спасибо.

Знаю что это можно сделать (System.IO.File.Delete) но вот путь не могу в переменную закинуть
Вообщем необходимо удалить несколько фаилов из директории проекта.
 
Последнее редактирование:
Приветствую! Самый простой вопрос на засыпку)))
Как удалить несколько фаилов?
Можно по очереди в одном коде.
И путь желательно тоже в переменную закинуть.
Лайк гарантирую сразу. Заранее спасибо.

Знаю что это можно сделать (System.IO.File.Delete) но вот путь не могу в переменную закинуть
Вообщем необходимо удалить несколько фаилов из директории проекта.
ну закинь пути в список и потом в цикле удали их
 
Добавлю в копилку сниппеты

Сниппет C#: Switch с заменой выходных параметров. На форуме уже есть подобный сниппет.
Описание: Если в входных настройках проекта имеется DropDown меню, то оно передает свои входные параметры в переменную. В сниппите Switch после обработки значение переменной заменяется на необходимое значение.

Данный сниппет был создан благодаря kapelan28

Код:
Развернуть Свернуть Копировать
switch (project.Variables["Переменная DropDown"].Value) {
    case "Значение 1 DropDown":
    project.SendInfoToLog("Выбрано Значение 1 DropDown", true);
    project.Variables["Переменная DropDown"].Value="Заменяемое значение 1";
    break;
    case "Значение 2 DropDown":
    project.SendInfoToLog("Выбрано Значение 2 DropDown", true);
    project.Variables["Переменная DropDown"].Value="Заменяемое значение 2";
    break;
    default:
    project.SendInfoToLog("Ничего не выбрано", true);
    project.Variables["Переменная DropDown"].Value="none";
    break;
}
 

Вложения

Последнее редактирование:
Добавлю в копилку сниппеты

Сниппет Switch с заменой выходных параметров. На форуме уже есть подобный сниппет.
Описание: Если в входных настройках проекта имеется DropDown меню, то оно передает свои входные параметры в переменную. В сниппите Switch после обработки значение переменной заменяется на необходимое значение.

Данный сниппет был создан благодаря kapelan28

Код:
Развернуть Свернуть Копировать
switch (project.Variables["Переменная DropDown"].Value) {
    case "Значение 1 DropDown":
    project.SendInfoToLog("Выбрано Значение 1 DropDown", true);
    project.Variables["Переменная DropDown"].Value="Заменяемое значение 1";
    break;
    case "Значение 2 DropDown":
    project.SendInfoToLog("Выбрано Значение 2 DropDown", true);
    project.Variables["Переменная DropDown"].Value="Заменяемое значение 2";
    break;
    default:
    project.SendInfoToLog("Ничего не выбрано", true);
    project.Variables["Переменная DropDown"].Value="none";
    break;
}

мне кажется так красивше будет

C#:
Развернуть Свернуть Копировать
var str = project.Variables["Переменная DropDown"].Value;

switch (str)
{
    case "Значение 1 DropDown":
        str = "Заменяемое значение 1";
        break;
    case "Значение 2 DropDown":
        str = "Заменяемое значение 2";
        break;
    default:
        str = "none";
        break;
}

project.SendInfoToLog("Выбрано Значение " + str + " DropDown", true);
project.Variables["Переменная DropDown"].Value = str;
 
  • Спасибо
Реакции: Medvedoc
Сниппет C#: Replace (замена в переменной текста)
Описание:
Сниппет предназначен для замены в переменной одного текста на другой. Можно использовать для замены каких-либо символов.

Код:
Развернуть Свернуть Копировать
//replace замена в переменной одного значения на другое
var str = project.Variables["Значение переменной"].Value.Replace(" ", "+");
project.Variables["Значение переменной"].Value = str;
 

Вложения

Последнее редактирование:
Код:
Развернуть Свернуть Копировать
//replace замена в переменной одного значения на другое
var str = project.Variables["Значение переменной"].Value.Replace("Текст до замены", "Текст после замены");
project.Variables["Значение переменной"].Value = str;
 
Сниппет C#: Replace Regex (замена по регулярному выражению с проверкой переменной на пустоту)
Описание:
Данный сниппет проверяет переменную на наличие в ней значения. Если в переменной содержится какое-то значение, то происходит согласно регулярному выражению замена одного значения на заданное.

Код:
Развернуть Свернуть Копировать
//replace замена по регулярному выражению с проверкой

//проверяем содержит ли переменная значение
string Text = project.Variables["Значение переменной"].Value.Trim();
if (Text=="") {
    //если переменная пустая
    return "Одна из переменных пустая";
}
//если переменная содержит значение
Text = System.Text.RegularExpressions.Regex.Replace(Text, @"Регулярное выражение", "На что заменяем");
project.Variables["Значение переменной"].Value = Text;
return Text;
 

Вложения

Последнее редактирование:
  • Спасибо
Реакции: DDDmoney

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