DPL
Kanalga Telegram’da o‘tish
Let's learn DPL DIgSILENT Programming Language
Ko'proq ko'rsatish1 187
Obunachilar
Ma'lumot yo'q24 soatlar
Ma'lumot yo'q7 kun
+130 kun
Postlar arxiv
1 187
شکل 43: برنامه ای که پروفیل ولتاژ خط را به دست می آورد و در یک ماتریس ذخیره می کند. این برنامه در نهایت برنامه شکل 42 را فراخوانی می کند
1 187
در دستور بالا، متغیر Matrix از نوع Object به عنوان متغیر ورودی DPL با نام Mat2Xls ، برابر با Matrix از نوع IntMat از DPL اصلی شده است😱. سپس DPL به صورت یک دستور برای اجرا فراخوانی شده است. به همین روش می توان به متغیرهای خروجی نیز دسترسی پیدا کرد.
1 187
برای مثال در شکل زیر DPL با نام Mat2Xls توسط DPL با نام VProfile فراخوانی می شود و در زیرمجموعه آن قرار گرفته است.
1 187
✍نکته: برای فراخوانی یک DPL در درون DPL دیگر به صورت یک زیربرنامه یا تابع، کافی است که DPL مذکور تحت مجموعه Contents در DPL اصلی تعریف شود. در این صورت با استفاده از دستور Execute می توان DPL را به صورت یک تابع یا پروسیجر فراخوانی کرد. این فراخوانی می تواند تعدادی متغیر ورودی و تعدادی متغیر خروجی داشته باشد.
1 187
✍:نکته: از آنجایی که DPL خود یک Object محسوب می شود، می تواند تعدادی پارامتر داشته باشد، پارامترهای ورودی و خروجی از جمله ی این پارامترها هستند که در برگه Basic Options و Advanced Options تعریف می شوند و می تواند هر یک از پنج نوع متغیر قابل تعریف در DPL باشد. برای مثال در شکل زیر Matrix از نوع Object به عنوان یک ورودی تعریف شده است. متغیرها می توانند توسط کاربر (به عنوان تنظیمات کاربر) یا دستوری (فراخوانی توسط یک برنامه دیگر) مقدار دهی شوند
1 187
روش کار به این شکل است که ابتدا برنامه ای می نویسیم که پروفیل ولتاژ خط را در یک ماتریس ذخیره کند. (برای بدست آوردن ولتاژ نقاط مختلف خط می توان از ولتاژ Pre-Fault دستور آنالیز اتصال کوتاه استفاده کرد) سپس یک زیر برنامه این ماتریس را به عنوان پارامتر ورودی دریافت و در اکسل نمایش می دهد. برای نمایش بهتر نتایج می توان فایل اکسلی را به صورت template ایجاد کرد و با فراخوانی آن مقادیر را جایگزین کیند.
1 187
نوشتن در یک سل از sheet فعال: xlSetValue
int xlSetValue (int column, int row, int/double/string value )
نمایش فایل اکسل: xlSetVisible
تا زمانیکه این دستور اجرا نشده باشد، کاربر نمی تواند نتیجه اجرای هیچ یک از دستورات فوق را مشاهده کند.
int xlSetVisible ( int visible )
اجرای ماکروی اکسل: xlRunMacro
int xlRunMacro ( string macroName )
ذخیره فایل اکسل: xlSaveWorkbook
int xlSaveWorkbook ( )
بستن فایل اکسل: xlCloseWorkbook
int xlCloseWorkbook ( )
1 187
باز کردن فایل اکسل موجود: xlOpenWorkbook
امکان باز کردن انواع فایلهایی که توسط اکسل شناسایی می شود با این دستور وجود دارد. ورودی این دستور یک رشته است که حاوی مسیر و نام فایل می باشد.
int xlOpenWorkbook ( string file )
ایجاد فایل اکسل جدید: xlNewWorkbook
این دستور فایل اکسل جدید ایجاد می کند.
int xlNewWorkbook ( )
فعال نمودن یک sheet از اکسل: xlActivateWorksheet
int xlActivateWorksheet ( int sheetIndex )
خواندن یک سل از sheet فعال: xlGetValue
int xlGetValue (int column, int row, int/double/string value )
1 187
برقراری ارتباط با موتور اکسل: xlStart
قبل از هرگونه کار با فایلهای اکسل، از دستور زیر باید استفاده کنید. این دستور در صورت وقع هرگونه اشکال در برقراری ارتباط با اکسل، خروجی یک و در غیر این صورت خروجی صفر را می دهد.
مثال:
error = xlStart(); !start MS Excel
if (error) {
Error('Unable to start MS Excel application');
exit();
}
