Измайлов Феликс Если Вам срочно понадобилось отобрать уникальные записи, но, при этом, не хочется прибегать к созданию файла/словаря (с убранным флагом на ключе Duplicate), то можно воспользоваться следующим объектом WSH - Dictionary. Нас будут интересовать следующие методы Add(key,value), Exists(key), и свойство - Count, Keys. Возьмем в качестве примера, абстрактную задачу, отобрать среди проведенных документов уникальных плательщиков.
import rslx; file doc(document); /* Создаем объект */ d=ActiveX("Scripting.Dictionary"); While(next(doc)) if(not d.Exists(doc.Real_Payer)) // Если такого счета //еще в словаре нет d.Add(doc.Real_Payer,1); /* Второй параметр - value, которое ставится в зависимость key. В нашем случае value неважно, поэтому можно ставить ЛЮБОЕ значение */ end; end; /* Поcле окончания цикла в словаре ТОЛЬКО уникальные значения Real_Payer. Как их вывести? */ i=0; a = d.Keys; // Получили массив ключей While(i < d.Count) println(a(i)); // выводим i=i+1; end;
Пример снабжен большим количеством комментариев, подробно описывающих способы использования Windows Script Host при работе из RSL.