ایجاد فلوچارت در C#.NET

فلوچارت برای نمایش جریان های کاری مختلف ایجاد یا طراحی شده اند. در شرایط خاص، ممکن است لازم باشد فلوچارت هایی برای مدیریت موقعیت های مختلف ایجاد کنید. این مقاله نحوه ایجاد نمودار فلوچارت را به صورت برنامه ریزی شده در سی شارپ پوشش می دهد.

C# API را برای ایجاد نمودار فلوچارت نصب کنید

می توانید نمودارهای فلوچارت را با استفاده از Aspose.Diagram for .NET API ایجاد کنید. از ایجاد یا ویرایش فایل‌های Visio در VSD، VSDX و فرمت‌های پشتیبانی‌شده دیگر پشتیبانی می‌کند. با دانلود فایل DLL از بخش New Releases یا با استفاده از NuGet Package Manager با دستور نصب زیر، می توانید API را به راحتی نصب کنید:

PM> Install-Package Aspose.Diagram

ساخت فلوچارت به صورت برنامه ای در سی شارپ

شما می توانید یک فلوچارت از فرآیندهای مختلف بر اساس نیاز خود تهیه کنید. لطفا مراحل زیر را برای ایجاد فلوچارت دنبال کنید:

  1. ابتدا طرحی برای ایجاد نمودار ایجاد کنید.
  2. Master را برای اضافه کردن اشکال با استفاده از کلاس Diagram بارگیری کنید.
  3. اضافه کردن اشکال و اتصال دهنده ها از طرحواره.
  4. تنظیم طرح برای نمودار فلوچارت.
  5. در نهایت با استفاده از روش Save فایل خروجی را با فلوچارت با فرمت VSDX بنویسید.

قطعه کد زیر نحوه ایجاد نمودار فلوچارت را به صورت برنامه‌نویسی در سی شارپ توضیح می‌دهد:

class Program
{
    static void Main(string[] args)
    {
        // طرحی برای نموداری که باید ایجاد شود
        Input diagramObject = new Input()
        {
            InputRectangles = new List<InputRectangle>() {
                    new InputRectangle() {
                        Name = "A",
                        Text = "Manager"
                    },
                    new InputRectangle() {
                        Name = "B",
                        Text = "Team Leader"
                    },
                    new InputRectangle() {
                        Name = "C",
                        Text = "Team Member"
                    },
                    new InputRectangle() {
                        Name = "D",
                        Text = "Team Member"
                    },
                    new InputRectangle() {
                        Name = "E",
                        Text = "Team Member"
                    }
                },
            InputConnectors = new List<InputConnector>() {
                    new InputConnector() {
                        OriginShapeName = "A",
                        DestinationShapeName = "B"
                    },
                    new InputConnector() {
                        OriginShapeName = "B",
                        DestinationShapeName = "C"
                    },
                    new InputConnector() {
                        OriginShapeName = "B",
                        DestinationShapeName = "D"
                    },
                    new InputConnector() {
                        OriginShapeName = "B",
                        DestinationShapeName = "E"
                    }
                }
        };

        Diagram diagram = new Diagram("BasicShapes.vss");
        Page page = diagram.Pages[0];

        Dictionary<string, long> shapeNames = new Dictionary<string, long>();

        //اضافه کردن اشکال و اتصال دهنده ها از طرحواره
        foreach (var rectangle in diagramObject.InputRectangles)
        {
            Shape shape = new Shape();
            var shapeId = diagram.AddShape(shape, @"Rectangle", 0);
            shapeNames.Add(rectangle.Name, shapeId);
            shape = page.Shapes.GetShape(shapeId);
            shape.Text.Value.Add(new Txt(rectangle.Text));
        }


        foreach (var connector in diagramObject.InputConnectors)
        {
            var connectorId = diagram.AddShape(new Shape(), "Dynamic connector", 0);
            page.ConnectShapesViaConnector(shapeNames[connector.OriginShapeName],
                                            ConnectionPointPlace.Right,
                                            shapeNames[connector.DestinationShapeName],
                                            ConnectionPointPlace.Left,
                                            connectorId);
        }


        LayoutOptions layoutOptions = new LayoutOptions()
        {
            LayoutStyle = LayoutStyle.FlowChart,
            Direction = LayoutDirection.LeftToRight,
            SpaceShapes = 5,
            EnlargePage = true
        };

        diagram.Layout(layoutOptions);

        page.PageSheet.PrintProps.PrintPageOrientation.Value = PrintPageOrientationValue.Landscape;

        DiagramSaveOptions saveOptions = new DiagramSaveOptions()
        {
            SaveFormat = SaveFileFormat.Vsdx,
            AutoFitPageToDrawingContent = true
        };

        diagram.Save("output.vsdx", saveOptions);
    }
}

public class Input
{
    public System.Collections.Generic.List<InputRectangle> InputRectangles { get; set; }
    public System.Collections.Generic.List<InputConnector> InputConnectors { get; set; }
}

public class InputRectangle
{
    public string Name { get; set; }
    public string Text { get; set; }
}

public class InputConnector
{
    public string OriginShapeName { get; set; }
    public string DestinationShapeName { get; set; }
}

دانلود نمونه پروژه

می توانید [نمونه پروژه] را به همراه فایل های ورودی و خروجی دانلود کنید.

نمونه پیش نمایش فلوچارت خروجی

ساخت فلوچارت در سی شارپ

مجوز API رایگان دریافت کنید

با درخواست [مجوز موقت رایگان] می‌توانید تمام ویژگی‌های API را بدون هیچ محدودیتی ارزیابی کنید.

نتیجه

در این مقاله نحوه ایجاد یا ساخت فلوچارت ها را به صورت برنامه نویسی با استفاده از سی شارپ یاد گرفتید. شما می‌توانید اشکال مختلفی مانند تصمیم، فرآیند، و همچنین طرح‌بندی‌های مختلف مانند چپ به راست یا راست به چپ و غیره را طراحی کنید. لطفاً با ما در فروم تماس بگیرید.

همچنین ببینید