Как в скрипте можно получить количество строк в списке?
Как в скрипте можно получить количество строк в списке?
А для чего вам это нужно? В примере "Сохранение и загрузка набора команд", окончание файла проверяется операцией
line!=null
Спасибо.
Мне нужно получать кол-во записей в списке для автоматической нумерации.Т.е. если в списке 3 записи и если мы добавляем еще, то параметр № увеличился бы на 1, а не начинался заново.
Код будет примерно такой:
using System;
using MasterSCADA.Script.FB;
using MasterSCADA.Hlp;
using FB;
using System.Linq;
using System.Windows.Forms;
using MasterSCADALib;
using System.IO;
using MasterSCADA.Documents;
using System.Collections.Generic;
using System.Text;
using InSAT.Library;
public partial class ФБ : ScriptBase
{
public override void Execute()
{
var FilePathName = HostFB.TreeItemHlp.Parent.FolderPath+"Список строк\\file.txt"; //путь к файлу
if (!File.Exists(FilePathName)) //проверка существования файла
{
Количество=0; //файла нет - количество строк=0
return;
}
Количество = File.ReadAllLines(FilePathName).Length; //получаем количество строк
}
}
Но возможно вам нужно добавить код, который бы выполнял такую проверку не каждый цикл, а только когда вы добавляете строки.
Спасибо.
А как можно вытащить событие при открытии окна или закрытии.Т.е. количество подсчитывалось только при открытии окна?
В смысле выполнять подсчет когда будет открываться окно?
Можно отслеживать состояние окна при помощи ФБ "Управление документом". Можно также открывать окно при помощи действий команды или события, и одновременно с этим выполнять чтение файла.
Последний раз редактировалось SCADAMaster; 25.02.2013 в 15:12.
Спасибо.
Хотел бы поинтересоваться, есть ли какие нибудь учебные пособия для изучения C# в MasterScada.Я как понимаю в мастерскаде свои классы и методы, свойства объектов. Где можно почитать про классы, которые создавались для мастерскады. Я как понимаю эта строка
var file = new StreamWriter(FilePathName, true,Encoding.GetEncoding("windows-1251")) создает объект класса. Тогда какие классы отвечают за другие компоненты, созданные в мастерскаде?
Специальной документации нет. Есть справка "Объектная модель MasterSCADA".
В остальном - используйте обычные учебники по C#.
Это стандартный класс для работы с файлом
http://msdn.microsoft.com/ru-ru/libr...eamwriter.aspx
Спасибо.
А как тогда добавить строку в Список из Палитры?
Я только начинаю во всем этом разбираться, и есть несколько вопросов:
1) Есть контролер, к нему подключается opc сервер, я так понимаю в программе контролера нужно указать какие переменные он может передавать через опц сервер?
2) Опц сервер устанавливается на ПК?
3) Где должна быть установлена скада система для работы с этим опц сервером?
4) Вот я разработал, программу для управления контролером через скада, как будет выглядеть эта программа? скада система скомпилирует программу( обычный ехе файл?) или запуск из среды разработки будет?