Благодарю за код - пока это совсем непонятно, но у меня почему то не удаляются строки.
Опишу свои действия:
1) Парсинг фото из альбома запросом - https://api.vk.com/method/photos.get?owner_id=-64478747&album_id=247652200&v=V=5.69
2) Произвожу обработку текста "{-Page.Text-}" вставляю туда...
...= project.Lists["List"]; // список проекта
Regex reg = new Regex(@"(?<=,""created"":)\d{10}");
Match m;
long timestamp;
lock (SyncObjects.ListSyncer) {
for (int i = 0; i < list.Count; i++) {
m = reg.Match(list[i]);
if (m.Success) {
timestamp =...
...}
}
}
return string.Join(Environment.NewLine, tmpList);
Для списка
IZennoList list = project.Lists["List"];
lock (SyncObjects.ListSyncer) {
for (int i = 0; i < list.Count; i++) {
for (int j = i + 1; j < list.Count; j++) {
if (string.Compare(list[i], list[j]...
...// из переменной, в переменной значение socks5:// или http:// (пустая переменная = http://)
lock (SyncObjects.ListSyncer) {
for (int i = 0; i < count; i++) {
if (proxyList.Count == 0) break;
string proxy = proxyList[0];
proxyList.RemoveAt(0);
var content =...
Интересный момент, не знал - не приходилось использовать их в таких случаях. Благодарю, поковыряю этот момент подробнее и после конкурса добавлю.
В том и дело, что почти в каждом сниппете на форуме с локами - используются именно эти объекты. Представители ZennoLab в ответах на форуме так же...
Не пойму откуда вы взяли, что нужно вообще пользоваться этими объектами? Поискал в документации и не встретил упоминания, что в шаблонах нужно синхронизировать через них.
Сдается мне, что они созданы исключительно для внутренней логики ZP. Т.е. пока вся статья выглядит так, что вы изначально...
...кубики подобные конструкции вставлены по умолчанию, просто мы их не видим.
//Лочим код изменения списка для многопотока
lock (SyncObjects.ListSyncer){
//Добавляем в список "Список 1" элемент со значением "строка"
project.Lists["Список 1"].Add("строка");
}
Если один из потоков...
var list = project.Lists["имя_списка"];
var word = "слово";
lock(SyncObjects.ListSyncer)
{
for (int i=0; i<list.Count; i++)
{
list[i] += word;//это в конец строки списка
//list[i] = word + list[i];//это в начало строки
}
}
Всё оказалось ещё проще.
IZennoList for_claster = project.Lists["for_claster"];
IZennoList clastered = project.Lists["clastered"];
IZennoList readyClatered = project.Lists["readyClatered"];
foreach (var cl in clastered){
foreach (var for_cl in for_claster){
if (for_cl.Contains(cl)){...
...listB = project.Lists["cache2"]; // Стоп-слова
var Result = project.Lists["Result"]; // Результат сортировки
lock (SyncObjects.ListSyncer) {
for (int i=0; i<listB.Count; i++) {
var parserRegex = new Regex("(?i)"+listB[i]);
for (int t=0; t<listA.Count; t++) {...
В коде две ошибки. 11я строка, лишняя скобка и 22 строка не нужна.
И какой то не нормальный глюк. Устанавливает прокси, по логу трафика видно, что гугл отдал код 200, но прокси мертвый.
...// получаем список, в котором будем искать
var sourceList = project.Lists["full"];
// ищем в каждой строчке в списке
lock(SyncObjects.ListSyncer)
{
for(int i=0; i < sourceList.Count; i++)
{
// читаем строку из списка
var str = sourceList[i];
// проверяем...
Подскажите, значения переменных для протокола какие доступны для установки?
socks5:// , http:// - понятно, а socks4:// и https:// ? И есть ли разница между http и https?
upd.
и попутный вопрос - если сокс прокси - то в самом же файле тоже надо будет уточнить протокол прокси или хватит того, что...
...project.Lists["new_base"];
var blackList = project.Lists["blackList"];
// проверяем каждую строку
//Лочим для многопотока
lock(SyncObjects.ListSyncer)
{
foreach(string s in blackList)
{
//Ищем в основном списке
for(int i = 0; i < baseEmails.Count; i++)
{
//Если нашли, удаляем...
string[] array = Directory.GetFiles(@"Directory.GetFiles(project.Variables["folderpath"].Value, "*.jpg"); // за место * можно *.jpg
foreach (string i in array)
{
lock(SyncObjects.ListSyncer)
{
project.Lists["Список 1"].Add(i);
}
}
ошибка
Вам очень сложно помогать. Вы не объясняете суть проблем, которые у Вас возникают.
Пишите что код не пашет. Что пишется ? Ошибка? Какая? Ее скрин.
Если код выполняется - тогда Вы не понимаете до конца суть его работы. Этот код просто берет все пути к картинкам в указанной папке и складывает путь...
код такой , список создал .. всеравно не пашет ..
string[] array = Directory.GetFiles(@"Directory.GetFiles(project.Variables["folderpath"].Value, "*.jpg"); // за место * можно *.jpg
foreach (string i in array)
{
lock(SyncObjects.ListSyncer)
{
project.Lists["Список 1"].Add(i);
}
}
чет не фига не выходит ....
string[] array = Directory.GetFiles(@" project.Variables["folderpath"]", ".jpg"); // за место * можно *.jpg
foreach (string i in array)
{
lock(SyncObjects.ListSyncer)
{
project.Lists["Список 1"].Add(i);
}
}
string[] array = Directory.GetFiles(@"путь", "*"); // за место * можно *.jpg
foreach (string i in array)
{
lock(SyncObjects.ListSyncer)
{
project.Lists["Список 1"].Add(i);
}
}
...как ведет себя в многопотоке список, не привязанный к файлу?
Вот если список к файлу привязан - то его надо блокировать: lock(SyncObjects.ListSyncer), и тогда каждый поток работает со списком по очереди.
А если не привязан? То каждый поток создает свою копию списка и работает только с ней...
...// получаем список, в котором будем искать
var sourceList = project.Lists["КОНТРОЛЬ"];
// Лочим список
lock(SyncObjects.ListSyncer)
// ищем в каждой строчке в списке
{
for(int i=0; i < sourceList.Count; i++)
{
// читаем строки из списка
var str = sourceList[i]...
Еще появился вопрос в процессе. Код удалят только полностью одинаковые строки. Как сделать чтобы удалял по части строки, например сейчас удаляет только точное вхождение строки такое как http://сайт. но не удалит строку http://сайт.ру, т.е. строка http://сайт. и http://сайт.ру вроде одинакова но...
...это сделать?
Вот что делаю но не получается до конца, запнулся на регулярке
var Spisok1 = project.Lists["Список 1"];
lock(SyncObjects.ListSyncer)
{
var spisok = Spisok1[0];
Spisok1.RemoveAt(0);
var pattern1 = @"(?<=/">)[\w\W]*?(?=\ )"; // Здесь выдаёт ошибки: Компиляция кода Ошибка в...
lock(SyncObjects.ListSyncer){
string[] first = File.ReadAllLines(@"c:\file1.txt");
string[] second = File.ReadAllLines(@"c:\file2.txt");
string[] third = second.AsParallel().Except(first.AsParallel()).ToArray();
File.WriteAllLines(@"c:\file2.txt", third);
}
Только не понятно...
Привет, как в этом коде дополнить, чтобы он искал слово целиком? Сейчас он ищет любое совпадение, например - например, целое слово ком, он найдет компьютер, компоновка, а нужно только ком.
Убери DateTime в конце. Помимо перезаписи даты тебе стоит перезаписывать какую-то переменную, которая отвечает за номер записи. Чтобы в итоге знать, какая строка по номеру самая старая.
Что значит сделать глобальной? зачем?
...получаем список, в котором будем искать
var sourceList = project.Lists["Твой_список"];
// ищем в каждой строчке в списке
lock(SyncObjects.ListSyncer)
{
for(int i=0; i < sourceList.Count; i++)
{
// читаем строку из списка
var str = sourceList[i];
// проверяем...
...юзерагентьі через ENTER
то есть с новой строки
Random rnd = new Random();
var listUserAgent = project.Lists["useragent"];
lock(SyncObjects.ListSyncer)
{
project.Profile.UserAgent = listUserAgent[rnd.Next(0,listUserAgent.Count)];
}
а в конце код добавьте в кубик сиШарпа
P.S. оно берет...
...поставь 1 поток на процесс в настройках.
Кстати версия какая?
var List1 = project.Lists["ВХОД"];
while(true)
{
lock(SyncObjects.ListSyncer)
{
var url1 = List1[0];
List1.RemoveAt(0);
if (url1 != "")
{
var URL = url1.ToString();
return URL;
}
}
}
Попробуй...