Считать с файла случайную строку

MicroOriki

Client
Регистрация
10.02.2014
Сообщения
187
Благодарностей
28
Баллы
28
Было бы очень удобно еслибы могли добавить функцию считать с файла и галочку "Случайную строку". Иногда с файла только 1 строка нужна. Чтоб не нагружать проект списками.

Тут ещё один пользователь про "считать с файла" писал, только я так и не понял что там ему понадобилось)
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 706
Баллы
113
Вы думаете что каждый поток дергающий файл будет жрать меньше, чем когда все потоки работают с одной и той же копией файла в памяти?
 

MicroOriki

Client
Регистрация
10.02.2014
Сообщения
187
Благодарностей
28
Баллы
28
Ну тут больше был смысл не экономия памяти а простое маленькое и полезное удобство. Я думаю что у многих людей есть файлы например Names.txt Phones.txt где бывает только одну строчку надо взять и не обрабатывать её нигде кроме как просто добавить в какоенить поле.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 706
Баллы
113
держите C# макрос

Код:
var path = @"E:\Temp\ProxiZapas.txt";
return Macros.FileSystem.FileGetLine(path,"random",false);
 
  • Спасибо
Реакции: VadymS и MicroOriki

Mandyson

Client
Регистрация
03.06.2012
Сообщения
410
Благодарностей
84
Баллы
28
Код:
{-File.GetString-|-{-Project.Directory-}file.txt-|-random-|-false-}
false - это без удаления
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 706
Баллы
113
Да не используйте вы эти старые макросы. И не надо их постить. Мало ли перестанут работать) Это от ZennoPoster 3 )

Выше пример для новой версии. там тоже можно поставить и удаление, и без, и еще можно поставить настройку удаления файла после окончания строк.
 
  • Спасибо
Реакции: Rocketmedia и MicroOriki

MicroOriki

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

schnaps

Client
Регистрация
07.02.2010
Сообщения
837
Благодарностей
150
Баллы
43
Да не используйте вы эти старые макросы.
вы их все равно упразднять не хотитие ))) говорили уже об этом
а если скажете "ну вот же пользуются люди". так я отвечу. по Достоевскому все пусть будет... "постонали, постонали, да привыкли" :-))
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 706
Баллы
113
Ну некоторые единицы еще и ZennoPoster 3 может пользуются)
 

schnaps

Client
Регистрация
07.02.2010
Сообщения
837
Благодарностей
150
Баллы
43
а вы знаете, что из-за этого у меня вот такой экшен

в ПМ выполняется 2-3 секунды?
распаршивает выдачу гугла из 100 результатов.
в ЗП сколько не мерял.... по Достоевскому у меня в этом случае ))))))
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 706
Баллы
113
Не вижу связи. Из-за чего из-за этого?
 

schnaps

Client
Регистрация
07.02.2010
Сообщения
837
Благодарностей
150
Баллы
43
да это я поднял старую тему, обсуждали пару месяцев назад, Вы сказали что из-за поддержки старых макросов.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 706
Баллы
113
В PM есть визуализация работы экшенов, пошаговое выполнение. Тестируйте в ZP если интересно сколько секунд что выполняется)
 

mihanat

Client
Регистрация
26.02.2017
Сообщения
32
Благодарностей
18
Баллы
8
Извините, а все строки разом так нельзя взять случайно, просто мне потом удалять это файл надо обязательно, а на его место другой с таким же именем, а зенка ругается в логе, вообщем как то бы брать текст без всякой привязки к списку? Или может как то по другому эту проблему обойти?
 

Yuriy

Client
Регистрация
19.07.2015
Сообщения
5
Благодарностей
0
Баллы
1
Подскажите пожалуйста, как правильно написать такой код
Код:
var path = @"{-Project.Directory-}\papka\{-Variable.acc_num-}";
return Macros.FileSystem.FileGetLine(path,"random",false);
Так, как переменные не работают в C#
 

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
185
Баллы
43
Подскажите пожалуйста, как правильно написать такой код
Код:
var path = @"{-Project.Directory-}\papka\{-Variable.acc_num-}";
return Macros.FileSystem.FileGetLine(path,"random",false);
Так, как переменные не работают в C#
Указать путь до файла можно так:
Код:
var path = project.Directory + @"\papka\" + project.Variables["acc_num"].Value + @".txt";
 
  • Спасибо
Реакции: Yuriy

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