فلوچارت برای نمایش جریان های کاری مختلف ایجاد یا طراحی شده اند. در شرایط خاص، ممکن است لازم باشد فلوچارت هایی برای مدیریت موقعیت های مختلف ایجاد کنید. این مقاله نحوه ایجاد نمودار فلوچارت را به صورت برنامه ریزی شده در سی شارپ پوشش می دهد.
- C# API را برای ایجاد نمودار فلوچارت نصب کنید
- ایجاد نمودار فلوچارت به صورت برنامه ریزی شده با استفاده از سی شارپ
C# API را برای ایجاد نمودار فلوچارت نصب کنید
می توانید نمودارهای فلوچارت را با استفاده از Aspose.Diagram for .NET API ایجاد کنید. از ایجاد یا ویرایش فایلهای Visio در VSD، VSDX و فرمتهای پشتیبانیشده دیگر پشتیبانی میکند. با دانلود فایل DLL از بخش New Releases یا با استفاده از NuGet Package Manager با دستور نصب زیر، می توانید API را به راحتی نصب کنید:
PM> Install-Package Aspose.Diagram
ساخت فلوچارت به صورت برنامه ای در سی شارپ
شما می توانید یک فلوچارت از فرآیندهای مختلف بر اساس نیاز خود تهیه کنید. لطفا مراحل زیر را برای ایجاد فلوچارت دنبال کنید:
- ابتدا طرحی برای ایجاد نمودار ایجاد کنید.
- Master را برای اضافه کردن اشکال با استفاده از کلاس Diagram بارگیری کنید.
- اضافه کردن اشکال و اتصال دهنده ها از طرحواره.
- تنظیم طرح برای نمودار فلوچارت.
- در نهایت با استفاده از روش 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 را بدون هیچ محدودیتی ارزیابی کنید.
نتیجه
در این مقاله نحوه ایجاد یا ساخت فلوچارت ها را به صورت برنامه نویسی با استفاده از سی شارپ یاد گرفتید. شما میتوانید اشکال مختلفی مانند تصمیم، فرآیند، و همچنین طرحبندیهای مختلف مانند چپ به راست یا راست به چپ و غیره را طراحی کنید. لطفاً با ما در فروم تماس بگیرید.