Главная » Просмотр файлов » Диссертация

Диссертация (1136162), страница 54

Файл №1136162 Диссертация (Технология интеграции данных в гетерогенных корпоративных программных комплексах) 54 страницаДиссертация (1136162) страница 542019-05-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 54)

$1 . $';$foundtext =~ s/^[^\s]+//g;$foundtext = "... " . $foundtext;}else{$foundtext = $` . $1 . $';}$foundtext = substr($foundtext, 0, 1000);$foundtext =~ s/[^\s]+$//g;$foundtext .= " ...";foreach my $keyword (split(" ", $keywords)){$foundtext =~ s/($keyword)/<b>$1<\/b>/ig;}$foundtext = &rusunpack($foundtext);$result.=$_line;$result =~ s/\[:_name\]/$_name/g;$result =~ s/\[:_fragment\]/$foundtext/g;my $_type;if($_module eq "news"){$_cid = $_id;$_pid = "news";$_type = "3";}elsif($_module eq "articles"){27$_cid = $_id;$_pid = "articles";$_type = "6";}elsif($_module eq "arcarticles"){$_cid = $_id;$_pid = "arcarticles";$_type = "27";}elsif($_module eq "smi"){$_cid = $_id;$_pid = "smi";$_type = "13";}elsif($_module eq "arcsmi"){$_cid = $_id;$_pid = "arcsmi";$_type = "24";}$result =~ s/\[:_cid\]/$_cid/g;$result =~ s/\[:_pid\]/$_pid/g;$result =~ s/\[:_type\]/$_type/g;$result =~ s/\[:_path\]/$_path/g;}}}$ST->finish;return ($result, $count);}sub cnews{if(open(F, "../logs/cnews_cache")){my ($arra, $arrt, $arrl) = (<F>, <F>, <F>);close(F);my $cnews;my $cnline = &openhtml("cnews");for(my $i=0; $i<5; $i++){$cnews .= $cnline;$cnews =~ s/\[TIME\]/(&splarr($arra))[$i]/eg;$cnews =~ s/\[NEWS\]/(&splarr($arrt))[$i]/eg;$cnews =~ s/\[LINK\]/(&splarr($arrl))[$i]/eg;}return $cnews;}else{return "Can't read file! $!";}}sub cnews_update{my ($hou) = <ime();open(F, "< ../logs/cnews_ltupdate");my $luhou = <F>;close(F);if($hou != $luhou){require HTTP::Request;my $ua = LWP::UserAgent->new;my $request = HTTP::Request->new(GET => 'http://pics.rbc.ru/js/cnews_3in1_security.js');28my $response = $ua->request($request);my ($arra, $arrt, $arrl) = (split(/new Array/,$response->content()))[1, 2, 3];$arra =~ s/\(//g; ($arra) = split(/\);/, $arra);$arrt =~ s/\(//g; ($arrt) = split(/\);/, $arrt);$arrl =~ s/\(//g; ($arrl) = split(/\);/, $arrl);if(($arra)&&($arrt)&&($arrl)){unlink("../logs/cnews_cache");unlink("../logs/cnews_ltupdate");open(F, "> ../logs/cnews_cache");print F "$arra\n$arrt\n$arrl\n";close(F);open(F, "> ../logs/cnews_ltupdate");print F "$hou\n";close(F);}}}sub splarr{my $arr = shift;my ($ara, $arb, $arc, $ard, $are) = split(/\s*['"]\s*,\s*['"]\s*/, $arr);$ara =~ s/^\s*['"]\s*(.+)\s*$/$1/g;$arb =~ s/^\s*(.+)\s*$/$1/g;$arc =~ s/^\s*(.+)\s*$/$1/g;$ard =~ s/^\s*(.+)\s*$/$1/g;$are =~ s/^\s*(.+)\s*['"]\s*$/$1/g;return ($ara, $arb, $arc, $ard, $are);}sub arcsmi{my $_table = shift;my $_module = shift;my $_num = shift;my $_id = shift;my $_tmp = shift;my $_ret;my $_header;if($_id =~ /\D+/){$_ret = openhtml("arcsmi/".$_id); $_header = $string{'0025'}; $_id = "";}else{$_ret = openhtml("arcsmi/allsmi"); $_header = $string{'0025'};}my $_return;if($_id){my $temp = openhtml("arcsmi/smi");my($_id, $_date,$_lead,$_text, $_name, $_smi) = &execsql("select ID, SUBDATE, LEAD, TEXT,NAME, FIELD1 from $_table where ID = '$_id' and MODULE = '$_module' and DSTATUS = '1'");$_date = &datetotext($_date);$_text = &base_html($_text);$temp =~ s/\[:_id\]/$_id/g;$temp =~ s/\[:_name\]/$_name/g;$temp =~ s/\[:_date\]/$_date/g;$temp =~ s/\[:_lead\]/$_lead/g;$temp =~ s/\[:_smi\]/$_smi/g;$temp =~ s/\[:_text\]/$_text/g;return ($temp, $_name);}else{my $_tmpname;my $_continue = openhtml("arcsmi/continue");my $_count = 1;if($_tmp)29{$_tmpname = "arcsmi/".$_tmp;$_count = 0;}else{$_tmpname = "arcsmi/ssmi";}my $_temp = openhtml($_tmpname);my $QU = "select ID, SUBDATE, LEAD, TEXT, NAME, FIELD1 from $_tablewhere MODULE = '$_module' and DSTATUS = '1' order by SUBDATE desc";my $ST = $db->prepare($QU) || prnerror ("Database Error",$db->errstr."\n<br>[$QU]");$ST->execute || prnerror ("Database Error",$db->errstr."\n<br>[$QU]");while((my($_id, $_date, $_lead, $_text, $_pname, $_smi) = $ST->fetchrow_array) && ($_num > 0)){$_num -= $_count;$_return .= $_temp;$_date = &datetotext($_date);$_date =~ s/\./\//g;$_lead =~ s/\n/ /g;if($_count == 0){$_lead .= $_continue if $_text;$_lead =~ s/\[:_id\]/$_id/g;}else{$_pname .= $_continue if $_text;$_pname =~ s/\[:_id\]/$_id/g;}$_lead =~ s/\[:_id\]/$_id/g;$_return =~ s/\[:_id\]/$_id/g;$_return =~ s/\[:_smi\]/$_smi/g;$_return =~ s/\[:_date\]/$_date/g;$_return =~ s/\[:_pname\]/$_pname/g;$_return =~ s/\[:_lead\]/$_lead/g;}$_ret =~ s/\[:_name\]/$_header/g;$_ret =~ s/\[:_text\]/$_return/g;$ST->finish;if($_return){return ($_ret,$_header);}else{return "";}}}sub arcarticles{my $_table = shift;my $_module = shift;my $_num = shift;my $_id = shift;my $_tmp = shift;my $_ret;my $_header;if($_id =~ /\D+/){$_ret = openhtml("arcarticles/".$_id); $_header = $string{'0024'}; $_id = "";}else{$_ret = openhtml("arcarticles/allarticles"); $_header = $string{'0024'};}my $_return;if($_id){my $temp = openhtml("arcarticles/articles");my($_name,$_lead,$_text,$_date) = &execsql("select NAME, LEAD, TEXT, SUBDATEfrom $_table where ID = '$_id' and MODULE = '$_module' and DSTATUS = '1'");$_date = &datetotext($_date);$_date =~ s/\./\//g;$temp =~ s/\[:_id\]/$_id/g;$temp =~ s/\[:_name\]/$_name/g;$temp =~ s/\[:_lead\]/$_lead/g;$temp =~ s/\[:_text\]/$_text/g;$temp =~ s/\[:_date\]/$_date/g;return ($temp, $_name);}else{30my $_tmpname;my $_add_field;my $_continue = openhtml("arcarticles/continue");my $_count = 1;if($_tmp){$_tmpname = "arcarticles/".$_tmp;$_count = 0;}else{$_tmpname = "arcarticles/sarticles";}my $_temp = openhtml($_tmpname);my $QU = "select ID, NAME, SUBDATE, LEAD, TEXT from $_tablewhere MODULE = '$_module' and DSTATUS = '1' order by SUBDATE desc";my $ST = $db->prepare($QU) || prnerror ("Database Error",$db->errstr."\n<br>[$QU]");$ST->execute || prnerror ("Database Error",$db->errstr."\n<br>[$QU]");while((my($_id, $_name, $_date, $_lead, $_text) = $ST->fetchrow_array) && ($_num > 0)){$_num -= $_count;$_return .= $_temp;$_date = &datetotext($_date);$_date =~ s/\./\//g;$_lead =~ s/\n/ /g;if($_count == 0){$_lead .= $_continue if $_text;$_lead =~ s/\[:_id\]/$_id/g;}else{$_name .= $_continue if $_text;$_name =~ s/\[:_id\]/$_id/g;}$_return =~ s/\[:_id\]/$_id/g;$_return =~ s/\[:_date\]/$_date/g;$_return =~ s/\[:_lead\]/$_lead/g;$_return =~ s/\[:_name\]/$_name/g;}$_ret =~ s/\[:_name\]/$_header/g;$_ret =~ s/\[:_text\]/$_return/g;$ST->finish;if($_return){return ($_ret,$_header);}else{return "";}}}31ПРИЛОЖЕНИЕ ДИсходный текст компонент по визуализации простыхинструментального средства ConceptModeller (язык C#.Net)using System.Reflection;using System.Runtime.CompilerServices;[assembly:[assembly:[assembly:[assembly:[assembly:[assembly:[assembly:[assembly:AssemblyTitle("")]AssemblyDescription("")]AssemblyConfiguration("")]AssemblyCompany("")]AssemblyProduct("")]AssemblyCopyright("")]AssemblyTrademark("")]AssemblyCulture("")][assembly: AssemblyVersion("1.0.*")]usingusingusingusingusingusingusingusingSystem;System.Drawing;System.Collections;System.ComponentModel;System.Windows.Forms;System.Data;System.Xml;System.Xml.Schema;namespace frame{/// <summary>/// Summary description for ConceptModeller./// </summary>public class ConceptModeller : System.Windows.Forms.Form{private System.Windows.Forms.MainMenu mainMenu1;private System.Windows.Forms.MenuItem menuItem1;private System.Windows.Forms.MenuItem ExitItem;private System.Windows.Forms.MenuItem menuItem3;private System.Windows.Forms.MenuItem menuItem4;private System.Windows.Forms.MenuItem menuItem5;private System.Windows.Forms.MenuItem menuItem6;private System.Windows.Forms.MenuItem menuItem7;private System.Windows.Forms.Panel panel1;private System.Windows.Forms.PictureBox ConceptBox;private System.Windows.Forms.PictureBox VarBox;private System.Windows.Forms.PictureBox aBox;private System.Windows.Forms.PictureBox cBox;фреймов32privateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateprivateSystem.Windows.Forms.PictureBoxSystem.Windows.Forms.PictureBoxSystem.Windows.Forms.PictureBoxSystem.Windows.Forms.PictureBoxSystem.Windows.Forms.PictureBoxMenuItem SaveItem;MenuItem OpenItem;MenuItem SaveAsItem;SaveFileDialog saveFileDialog1;MenuItem NewItem;OpenFileDialog openFileDialog1;MenuItem menuItem9;MenuItem menuItem8;MenuItem menuItem10;MenuItem menuItem2;TextBox textBox1;Label label1;Label label2;TextBox textBox2;Button button2;Label label3;TextBox Ref1;Label label4;TextBox Ref2;IContainer components;chBox;dBox;oBox;tBox;vBox;ArrayList ElementsArray = new ArrayList();public float MouseDownX, MouseDownY, MouseUpX, MouseUpY;public int button_on;public string NewElementType;public int EditElementId;private MenuItem menuItem11;public int ElementId=1;public struct ElementData{public int Id;public string Type;public string Name;public int Left, Top, Width, Height;public int Prev, Next;public string Description;}public class Element{private IntPtr parent_hwnd;public ElementData CurrentElement;public Element(IntPtr hwnd, ElementData NewElement){CurrentElement = NewElement;33parent_hwnd = hwnd;Draw();}public void Draw(){System.Drawing.Pen blackPen;blackPen = new System.Drawing.Pen(System.Drawing.Color.Black);Graphics newGraphics =Graphics.FromHwnd(parent_hwnd);if((CurrentElement.Type == "Var")||(CurrentElement.Type == "Concept")){newGraphics.DrawEllipse(blackPen,CurrentElement.Left, CurrentElement.Top,CurrentElement.Width, CurrentElement.Height);newGraphics.DrawString(CurrentElement.Name,new Font("Arial", 10),System.Drawing.Brushes.Blue,new Point((CurrentElement.Left + 10),(CurrentElement.Top +CurrentElement.Height/2)));}else if(CurrentElement.Type != ""){double alfa;double x1, y1, x2, y2;newGraphics.DrawLine(blackPen,CurrentElement.Left, CurrentElement.Top,CurrentElement.Width+CurrentElement.Left),(CurrentElement.Height+CurrentElement.Top));alfa = Math.Atan(double.Parse(CurrentElement.Height.ToString()) / double.Parse(CurrentElement.Width.ToString()));x1 = -15 * Math.Cos(alfa + 0.3);y1 = -15 * Math.Sin(alfa + 0.3);x2 = -15 * Math.Cos(alfa - 0.3);y2 = -15 * Math.Sin(alfa - 0.3);if(CurrentElement.Width<0){x1=-x1; x2=-x2; y1=-y1; y2=-y2;}newGraphics.DrawLine(blackPen,(CurrentElement.Width + CurrentElement.Left),(CurrentElement.Height + CurrentElement.Top),(CurrentElement.Width + CurrentElement.Left+ float.Parse(x1.ToString())),(CurrentElement.Height+CurrentElement.Top+ float.Parse(y1.ToString())));newGraphics.DrawLine(blackPen,(CurrentElement.Width + CurrentElement.Left),(CurrentElement.Height + CurrentElement.Top),(CurrentElement.Width + CurrentElement.Left34+ float.Parse(x2.ToString())),(CurrentElement.Height+CurrentElement.Top+ float.Parse(y2.ToString())));newGraphics.DrawString(CurrentElement.Type,new Font("Arial", 10),System.Drawing.Brushes.Blue,new Point((CurrentElement.Left +CurrentElement.Width/2),(CurrentElement.Top +CurrentElement.Height / 2 - 15)));}newGraphics.Dispose();}}public ConceptModeller(){InitializeComponent();}/// <summary>/// Clean up any resources being used./// </summary>protected override void Dispose( bool disposing ){if( disposing ){if (components != null){components.Dispose();}}base.Dispose( disposing );}#region Windows Form Designer generated code/// <summary>/// Required method for Designer support - do not modify/// the contents of this method with the code editor./// </summary>private void InitializeComponent(){this.components = new System.ComponentModel.Container();System.ComponentModel.ComponentResourceManager resources= newSystem.ComponentModel.ComponentResourceManager(typeof(ConceptModeller));this.mainMenu1 = new35System.Windows.Forms.MainMenu(this.components);this.menuItem1 = new System.Windows.Forms.MenuItem();this.NewItem = new System.Windows.Forms.MenuItem();this.menuItem9 = new System.Windows.Forms.MenuItem();this.menuItem8 = new System.Windows.Forms.MenuItem();this.menuItem10 = new System.Windows.Forms.MenuItem();this.menuItem2 = new System.Windows.Forms.MenuItem();this.menuItem3 = new System.Windows.Forms.MenuItem();this.menuItem4 = new System.Windows.Forms.MenuItem();this.menuItem5 = new System.Windows.Forms.MenuItem();this.menuItem6 = new System.Windows.Forms.MenuItem();this.menuItem7 = new System.Windows.Forms.MenuItem();this.panel1 = new System.Windows.Forms.Panel();this.ConceptBox = newSystem.Windows.Forms.PictureBox();this.VarBox = new System.Windows.Forms.PictureBox();this.aBox = new System.Windows.Forms.PictureBox();this.cBox = new System.Windows.Forms.PictureBox();this.chBox = new System.Windows.Forms.PictureBox();this.dBox = new System.Windows.Forms.PictureBox();this.oBox = new System.Windows.Forms.PictureBox();this.tBox = new System.Windows.Forms.PictureBox();this.vBox = new System.Windows.Forms.PictureBox();this.saveFileDialog1 = newSystem.Windows.Forms.SaveFileDialog();this.openFileDialog1 = newSystem.Windows.Forms.OpenFileDialog();this.textBox1 = new System.Windows.Forms.TextBox();this.label1 = new System.Windows.Forms.Label();this.label2 = new System.Windows.Forms.Label();this.textBox2 = new System.Windows.Forms.TextBox();this.button2 = new System.Windows.Forms.Button();this.label3 = new System.Windows.Forms.Label();this.Ref1 = new System.Windows.Forms.TextBox();this.label4 = new System.Windows.Forms.Label();this.Ref2 = new System.Windows.Forms.TextBox();this.menuItem11 = new System.Windows.Forms.MenuItem();((System.ComponentModel.ISupportInitialize)(this.ConceptBox)).BeginInit();((System.ComponentModel.ISupportInitialize)(this.VarBox)).BeginInit();((System.ComponentModel.ISupportInitialize)(this.aBox)).BeginInit();((System.ComponentModel.ISupportInitialize)(this.cBox)).BeginInit();((System.ComponentModel.ISupportInitialize)(this.chBox)).BeginInit();36((System.ComponentModel.ISupportInitialize)(this.dBox)).BeginInit();((System.ComponentModel.ISupportInitialize)(this.oBox)).BeginInit();((System.ComponentModel.ISupportInitialize)(this.tBox)).BeginInit();((System.ComponentModel.ISupportInitialize)(this.vBox)).BeginInit();this.SuspendLayout();//// mainMenu1//this.mainMenu1.MenuItems.AddRange(newSystem.Windows.Forms.MenuItem[] {this.menuItem1,this.menuItem3,this.menuItem4,this.menuItem5});this.mainMenu1.Name = "mainMenu1";//// menuItem1//this.menuItem1.Index = 0;this.menuItem1.MenuItems.AddRange(newSystem.Windows.Forms.MenuItem[] {this.NewItem,this.menuItem9,this.menuItem8,this.menuItem10,this.menuItem2});this.menuItem1.Name = "menuItem1";this.menuItem1.Text = "File";this.menuItem1.Click += newSystem.EventHandler(this.menuItem1_Click);//// NewItem//this.NewItem.Index = 0;this.NewItem.Name = "NewItem";this.NewItem.Text = "New";this.NewItem.Click += newSystem.EventHandler(this.menuItem11_Click);//// menuItem9//this.menuItem9.Index = 1;this.menuItem9.Name = "menuItem9";this.menuItem9.Text = "Open";this.menuItem9.Click += new37System.EventHandler(this.menuItem9_Click);//// menuItem8//this.menuItem8.Index = 2;this.menuItem8.Name = "menuItem8";this.menuItem8.Text = "Save";this.menuItem8.Click += newSystem.EventHandler(this.menuItem8_Click);//// menuItem10//this.menuItem10.Index = 3;this.menuItem10.Name = "menuItem10";this.menuItem10.Text = "Save As";this.menuItem10.Click += newSystem.EventHandler(this.menuItem10_Click);//// menuItem2//this.menuItem2.Index = 4;this.menuItem2.Name = "menuItem2";this.menuItem2.Text = "Exit";this.menuItem2.Click += newSystem.EventHandler(this.menuItem2_Click);//// menuItem3//this.menuItem3.Index = 1;this.menuItem3.MenuItems.AddRange(newSystem.Windows.Forms.MenuItem[] {this.menuItem11});this.menuItem3.Name = "menuItem3";this.menuItem3.Text = "Edit";//// menuItem4//this.menuItem4.Index = 2;this.menuItem4.Name = "menuItem4";this.menuItem4.Text = "View";//// menuItem5//this.menuItem5.Index = 3;this.menuItem5.MenuItems.AddRange(newSystem.Windows.Forms.MenuItem[] {this.menuItem6,this.menuItem7});this.menuItem5.Name = "menuItem5";this.menuItem5.Text = "Help";38//// menuItem6//this.menuItem6.Index = 0;this.menuItem6.Name = "menuItem6";this.menuItem6.Text = "Help";//// menuItem7//this.menuItem7.Index = 1;this.menuItem7.Name = "menuItem7";this.menuItem7.Text = "About";//// panel1//this.panel1.Anchor =System.Windows.Forms.AnchorStyles.None;this.panel1.AutoScroll = true;this.panel1.AutoScrollMargin =new System.Drawing.Size(800, 600);this.panel1.AutoScrollMinSize =new System.Drawing.Size(580, 380);this.panel1.BackColor =System.Drawing.Color.Goldenrod;this.panel1.Location =new System.Drawing.Point(184, 18);this.panel1.Margin =new System.Windows.Forms.Padding(0);this.panel1.Name = "panel1";this.panel1.Size = new System.Drawing.Size(600, 518);this.panel1.TabIndex = 0;this.panel1.MouseUp +=new System.Windows.Forms.MouseEventHandler(this.panel1_MouseUp);this.panel1.Paint +=new System.Windows.Forms.PaintEventHandler(this.panel1_Paint);this.panel1.MouseMove +=new System.Windows.Forms.MouseEventHandler(this.panel1_MouseMove);this.panel1.MouseDown +=new System.Windows.Forms.MouseEventHandler(this.panel1_MouseDown);//// ConceptBox//this.ConceptBox.BackColor =System.Drawing.SystemColors.ActiveCaptionText;this.ConceptBox.Image =((System.Drawing.Image)(resources.GetObject("ConceptBox.Image")));this.ConceptBox.Location =39new System.Drawing.Point(8, 16);this.ConceptBox.Name = "ConceptBox";this.ConceptBox.Size = new System.Drawing.Size(136, 56);this.ConceptBox.TabIndex = 1;this.ConceptBox.TabStop = false;this.ConceptBox.Click += newSystem.EventHandler(this.pictureBox1_Click);//// VarBox//this.VarBox.Image =((System.Drawing.Image)(resources.GetObject("VarBox.Image")));this.VarBox.Location =new System.Drawing.Point(8, 80);this.VarBox.Name = "VarBox";this.VarBox.Size = new System.Drawing.Size(136, 56);this.VarBox.TabIndex = 2;this.VarBox.TabStop = false;this.VarBox.Click +=new System.EventHandler(this.pictureBox2_Click);//// aBox//this.aBox.Image =((System.Drawing.Image)(resources.GetObject("aBox.Image")));this.aBox.Location = new System.Drawing.Point(8, 144);this.aBox.Name = "aBox";this.aBox.Size = new System.Drawing.Size(136, 56);this.aBox.TabIndex = 3;this.aBox.TabStop = false;this.aBox.Click += newSystem.EventHandler(this.pictureBox3_Click);//// cBox//this.cBox.Image =((System.Drawing.Image)(resources.GetObject("cBox.Image")));this.cBox.Location = new System.Drawing.Point(8, 200);this.cBox.Name = "cBox";this.cBox.Size = new System.Drawing.Size(136, 56);this.cBox.TabIndex = 4;this.cBox.TabStop = false;this.cBox.Click +=new System.EventHandler(this.pictureBox4_Click);//// chBox//this.chBox.Image =((System.Drawing.Image)40(resources.GetObject("chBox.Image")));this.chBox.Location = newSystem.Drawing.Point(8, 256);this.chBox.Name = "chBox";this.chBox.Size = new System.Drawing.Size(136, 56);this.chBox.TabIndex = 8;this.chBox.TabStop = false;this.chBox.Click += newSystem.EventHandler(this.chBox_Click);//// dBox//this.dBox.Image =((System.Drawing.Image)(resources.GetObject("dBox.Image")));this.dBox.Location = new System.Drawing.Point(8, 312);this.dBox.Name = "dBox";this.dBox.Size = new System.Drawing.Size(136, 56);this.dBox.TabIndex = 9;this.dBox.TabStop = false;this.dBox.Click +=new System.EventHandler(this.dBox_Click);//// oBox//this.oBox.Image =((System.Drawing.Image)(resources.GetObject("oBox.Image")));this.oBox.Location = new System.Drawing.Point(8, 368);this.oBox.Name = "oBox";this.oBox.Size = new System.Drawing.Size(136, 56);this.oBox.TabIndex = 5;this.oBox.TabStop = false;this.oBox.Click +=new System.EventHandler(this.pictureBox7_Click);//// tBox//this.tBox.Image =((System.Drawing.Image)(resources.GetObject("tBox.Image")));this.tBox.Location = new System.Drawing.Point(8, 424);this.tBox.Name = "tBox";this.tBox.Size = new System.Drawing.Size(136, 56);this.tBox.TabIndex = 10;this.tBox.TabStop = false;this.tBox.Click +=new System.EventHandler(this.pictureBox8_Click);//// vBox//this.vBox.Image =41((System.Drawing.Image)(resources.GetObject("vBox.Image")));this.vBox.Location = new System.Drawing.Point(8, 480);this.vBox.Name = "vBox";this.vBox.Size = new System.Drawing.Size(136, 56);this.vBox.TabIndex = 11;this.vBox.TabStop = false;this.vBox.Click +=new System.EventHandler(this.vBox_Click);//// saveFileDialog1//this.saveFileDialog1.FileOk +=new System.ComponentModel.CancelEventHandler(this.saveFileDialog1_FileOk);//// textBox1//this.textBox1.Anchor =System.Windows.Forms.AnchorStyles.None;this.textBox1.Location =new System.Drawing.Point(184, 579);this.textBox1.Name = "textBox1";this.textBox1.Size = new System.Drawing.Size(129, 20);this.textBox1.TabIndex = 13;this.textBox1.TextChanged +=new System.EventHandler(this.textBox1_TextChanged);//// label1//this.label1.Anchor =System.Windows.Forms.AnchorStyles.None;this.label1.AutoSize = true;this.label1.Location =new System.Drawing.Point(184, 558);this.label1.Name = "label1";this.label1.Size = new System.Drawing.Size(82, 14);this.label1.TabIndex = 14;this.label1.Text = "Element Name:";this.label1.Click +=new System.EventHandler(this.label1_Click);//// label2//this.label2.Anchor =System.Windows.Forms.AnchorStyles.None;this.label2.AutoSize = true;this.label2.Location =new System.Drawing.Point(336, 558);this.label2.Name = "label2";this.label2.Size = new System.Drawing.Size(109, 14);this.label2.TabIndex = 16;42this.label2.Text = "Element Description:";this.label2.Click +=new System.EventHandler(this.label1_Click);//// textBox2//this.textBox2.Anchor =System.Windows.Forms.AnchorStyles.None;this.textBox2.Location =new System.Drawing.Point(336, 579);this.textBox2.Name = "textBox2";this.textBox2.Size = new System.Drawing.Size(129, 20);this.textBox2.TabIndex = 15;//// button2//this.button2.Anchor =System.Windows.Forms.AnchorStyles.None;this.button2.Location =new System.Drawing.Point(618, 558);this.button2.Name = "button2";this.button2.Size = new System.Drawing.Size(84, 41);this.button2.TabIndex = 17;this.button2.Text = "Update";this.button2.Click +=new System.EventHandler(this.button2_Click);//// label3//this.label3.Anchor =System.Windows.Forms.AnchorStyles.None;this.label3.AutoSize = true;this.label3.Location =new System.Drawing.Point(484, 558);this.label3.Name = "label3";this.label3.Size = new System.Drawing.Size(28, 14);this.label3.TabIndex = 19;this.label3.Text = "Ref1";this.label3.Click += newSystem.EventHandler(this.label1_Click);//// Ref1//this.Ref1.Anchor =System.Windows.Forms.AnchorStyles.None;this.Ref1.AutoSize = false;this.Ref1.Location =new System.Drawing.Point(483, 579);this.Ref1.Multiline = true;this.Ref1.Name = "Ref1";this.Ref1.Size = new System.Drawing.Size(41, 19);this.Ref1.TabIndex = 18;43//// label4//this.label4.Anchor =System.Windows.Forms.AnchorStyles.None;this.label4.AutoSize = true;this.label4.Location =new System.Drawing.Point(546, 556);this.label4.Name = "label4";this.label4.Size = new System.Drawing.Size(28, 14);this.label4.TabIndex = 21;this.label4.Text = "Ref2";this.label4.Click +=new System.EventHandler(this.label1_Click);//// Ref2//this.Ref2.Anchor =System.Windows.Forms.AnchorStyles.None;this.Ref2.AutoSize = false;this.Ref2.Location =new System.Drawing.Point(546, 577);this.Ref2.Multiline = true;this.Ref2.Name = "Ref2";this.Ref2.Size = new System.Drawing.Size(42, 21);this.Ref2.TabIndex = 20;//// menuItem11//this.menuItem11.Index = 0;this.menuItem11.Name = "menuItem11";this.menuItem11.Text = "Delete";this.menuItem11.Click +=new System.EventHandler(this.menuItem11_Click_1);//// ConceptModeller//this.AutoScaleBaseSize =new System.Drawing.Size(5, 13);this.ClientSize = new System.Drawing.Size(792, 611);this.Controls.Add(this.label4);this.Controls.Add(this.Ref2);this.Controls.Add(this.label3);this.Controls.Add(this.Ref1);this.Controls.Add(this.button2);this.Controls.Add(this.label2);this.Controls.Add(this.textBox2);this.Controls.Add(this.label1);this.Controls.Add(this.textBox1);this.Controls.Add(this.vBox);this.Controls.Add(this.tBox);44this.Controls.Add(this.dBox);this.Controls.Add(this.chBox);this.Controls.Add(this.cBox);this.Controls.Add(this.aBox);this.Controls.Add(this.ConceptBox);this.Controls.Add(this.panel1);this.Controls.Add(this.VarBox);this.Controls.Add(this.oBox);this.Menu = this.mainMenu1;this.Name = "ConceptModeller";this.Text = "ConceptModeller";this.Load +=new System.EventHandler(this.ConceptModeller_Load);((System.ComponentModel.ISupportInitialize)(this.ConceptBox)).EndInit();((System.ComponentModel.ISupportInitialize)(this.VarBox)).EndInit();((System.ComponentModel.ISupportInitialize)(this.aBox)).EndInit();((System.ComponentModel.ISupportInitialize)(this.cBox)).EndInit();((System.ComponentModel.ISupportInitialize)(this.chBox)).EndInit();((System.ComponentModel.ISupportInitialize)(this.dBox)).EndInit();((System.ComponentModel.ISupportInitialize)(this.oBox)).EndInit();((System.ComponentModel.ISupportInitialize)(this.tBox)).EndInit();((System.ComponentModel.ISupportInitialize)(this.vBox)).EndInit();this.ResumeLayout(false);this.PerformLayout();}#endregion/// <summary>/// The main entry point for the application./// </summary>[STAThread]static void Main(){Application.Run(new ConceptModeller());}private void panel1_Paint (object sender,System.Windows.Forms.PaintEventArgs e){System.Drawing.Pen blackPen;blackPen =new System.Drawing.Pen45(System.Drawing.Color.Black);Graphics g = e.Graphics;}private void panel1_MouseDown(object sender,System.Windows.Forms.MouseEventArgs e){MouseDownX = e.X;MouseDownY = e.Y;if (NewElementType == ""){if (ElementsArray != null){int i, select;int Left, Top, Width, Height;select = 0;for (i = 0; i < ElementsArray.Count; i++){if (ElementsArray[i] != null){Left = ((Element)ElementsArray[i]).CurrentElement.Left;Top = ((Element)ElementsArray[i]).CurrentElement.Top;Width = ((Element)ElementsArray[i]).CurrentElement.Width;Height = ((Element)ElementsArray[i]).CurrentElement.Height;int x1, y1, x2, y2;if (Width < 0){x1 = Left + Width;x2 = Left;}else{x1 = Left;x2 = Left + Width;}if (Height < 0){y1 = Top + Height;y2 = Top;}else{y1 = Top;y2 = Top + Height;}if ((x1 < MouseDownX) &&46(x2 > MouseDownX) &&(y1 < MouseDownY) &&(y2 > MouseDownY)){textBox1.Text =((Element)ElementsArray[i]).CurrentElement.Name;textBox2.Text =((Element)ElementsArray[i]).CurrentElement.Description;if (((Element)ElementsArray[i]).CurrentElement.Type != "Var"){if ((Element)ElementsArray[i]).CurrentElement.Type !="Concept"){Ref1.Text =Element)ElementsArray[i]).CurrentElement.Prev.ToString();Ref2.Text =((Element)ElementsArray[i]).CurrentElement.Next.ToString();}}EditElementId =((Element)ElementsArray[i]).CurrentElement.Id;select = 1;break;}}}if (select == 0){textBox1.Text = "";textBox2.Text = "";EditElementId = 0;}}}}private void panel1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e){ReDraw();}private void panel1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)47{MouseUpX = e.X;MouseUpY = e.Y;if((Math.Abs(MouseUpX-MouseDownX)>5)&&(Math.Abs(MouseUpY-MouseDownY)>5)){ElementData NewElement;NewElement.Id = ElementId;ElementId++;NewElement.Name = "New Element";NewElement.Type = NewElementType;NewElement.Next = 0;NewElement.Prev = 0;NewElement.Description = null;NewElement.Left =int.Parse(MouseDownX.ToString());NewElement.Top = int.Parse(MouseDownY.ToString());NewElement.Width = int.Parse((MouseUpX - MouseDownX).ToString());NewElement.Height = int.Parse((MouseUpY - MouseDownY).ToString());ElementsArray.Add(new Element(panel1.Handle, NewElement));reset_images();}}public void reset_images(){NewElementType = "";ConceptBox.Image =System.Drawing.Image.FromFile("D:\\frame\\img\\concept.gif");VarBox.Image =System.Drawing.Image.FromFile("D:\\frame\\img\\var.gif");aBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\a.gif");cBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\c.gif");chBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\ch.gif");dBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\d.gif");oBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\o.gif");tBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\t.gif");vBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\v.gif");48}private void pictureBox1_Click(object sender, System.EventArgs e){reset_images();ConceptBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\concept_on.gif");NewElementType = "Concept";}private void pictureBox2_Click(object sender, System.EventArgs e){reset_images();VarBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\var_on.gif");NewElementType = "Var";}private void pictureBox3_Click(object sender, System.EventArgs e){reset_images();aBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\a_on.gif");NewElementType = "a";}private void pictureBox4_Click(object sender, System.EventArgs e){reset_images();cBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\c_on.gif");NewElementType = "c";}private void menuItem2_Click(object sender, System.EventArgs e){Application.Exit();}private void pictureBox5_Click(object sender, System.EventArgs e){reset_images();chBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\ch_on.gif");NewElementType = "ch";}49private void button1_Click(object sender, System.EventArgs e){}private void pictureBox8_Click(object sender, System.EventArgs e){reset_images();tBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\t_on.gif");NewElementType = "t";}private void menuItem8_Click(object sender, EventArgs e){string SchemaFileName = "frameschema.xsd";string XMLFileName = "framedb.xml";saveFileDialog1.ShowDialog();XMLFileName = saveFileDialog1.FileName;DataSet _dsForSave = new DataSet();_dsForSave.ReadXmlSchema(SchemaFileName);int i, Width, Height, Top, Left, Next, Prev, Id;string Name, Type, Description;for (i = 0; i < ElementsArray.Count; i++){if (ElementsArray[i] != null){Id = ((Element)ElementsArray[i]).CurrentElement.Id;Type = ((Element)ElementsArray[i]).CurrentElement.Type;Name = ((Element)ElementsArray[i]).CurrentElement.Name;Left = ((Element)ElementsArray[i]).CurrentElement.Left;Top = ((Element)ElementsArray[i]).CurrentElement.Top;Width = ((Element)ElementsArray[i]).CurrentElement.Width;Height = ((Element)ElementsArray[i]).CurrentElement.Height;Prev = ((Element)ElementsArray[i]).CurrentElement.Prev;Next = ((Element)ElementsArray[i]).CurrentElement.Next;Description = ((Element)ElementsArray[i]).CurrentElement.Description;_dsForSave.Tables["Elements"].Rows.Add(Id, Type, Name, Left, Top, Width, Height,50Prev, Next, Description);}}_dsForSave.WriteXml(XMLFileName);}private void saveFileDialog1_FileOk(object sender, CancelEventArgs e){}private void pictureBox7_Click(object sender, EventArgs e){reset_images();oBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\o_on.gif");NewElementType = "o";}private void ConceptModeller_Load(object sender, EventArgs e){}private void dBox_Click(object sender, EventArgs e){reset_images();dBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\d_on.gif");NewElementType = "d";}private void vBox_Click(object sender, EventArgs e){reset_images();vBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\v_on.gif");NewElementType = "v";}private void chBox_Click(object sender, EventArgs e){reset_images();chBox.Image = System.Drawing.Image.FromFile("D:\\frame\\img\\ch_on.gif");NewElementType = "ch";}private void button1_Click_1(object sender, EventArgs e){51if (ElementsArray != null){int i;for (i = 0; i < ElementsArray.Count; i++)((Element)ElementsArray[i]).Draw();}}private void ReDraw(){panel1.Refresh();int i;for (i = 0; i < ElementsArray.Count; i++){if (ElementsArray[i] != null){((Element)ElementsArray[i]).Draw();}}}private void menuItem1_Click(object sender, EventArgs e){}private void menuItem9_Click(object sender, EventArgs e){string SchemaFileName = "frameschema.xsd";string XMLFileName = "framedb.xml";openFileDialog1.ShowDialog();XMLFileName = openFileDialog1.FileName;DataSet _dsForOpen = new DataSet();_dsForOpen.ReadXmlSchema(SchemaFileName);_dsForOpen.ReadXml(XMLFileName);ElementData CurrentElement;//string Name, Type, Description;int i;for (i = 0;i < _dsForOpen.Tables["Elements"].Rows.Count; i++){CurrentElement.Id = int.Parse(_dsForOpen.Tables["Elements"].Rows[i].ItemArray[0].ToString());CurrentElement.Type = _dsForOpen.Tables["Elements"].Rows[i].ItemArray[1].ToString();CurrentElement.Name = _dsForOpen.Tables["Elements"].Rows[i].ItemArray[2].ToString();CurrentElement.Left = int.Parse(_dsForOpen.Tables["Elements"].Rows[i].ItemArray[3].ToString());CurrentElement.Top = int.Parse(_dsForOpen.52Tables["Elements"].Rows[i].ItemArray[4].ToString());CurrentElement.Width = int.Parse(_dsForOpen.Tables["Elements"].Rows[i].ItemArray[5].ToString());CurrentElement.Height = int.Parse(_dsForOpen.Tables["Elements"].Rows[i].ItemArray[6].ToString());CurrentElement.Next = int.Parse(_dsForOpen.Tables["Elements"].Rows[i].ItemArray[7].ToString());CurrentElement.Prev = int.Parse(_dsForOpen.Tables["Elements"].Rows[i].ItemArray[8].ToString());CurrentElement.Description = _dsForOpen.Tables["Elements"].Rows[i].ItemArray[9].ToString();ElementsArray.Add(new Element(panel1.Handle, CurrentElement));}}private void menuItem10_Click(object sender, EventArgs e){}private void menuItem11_Click(object sender, EventArgs e){int i;for (i = 0; i < ElementsArray.Count; i++){ElementsArray[i] = null;}EditElementId = 0;ElementId = 1;ReDraw();}private void label1_Click(object sender, EventArgs e){}private int get_i_by_id(int id){int i;for (i = 0; i < ElementsArray.Count; i++){if (ElementsArray[i] != null){if (((Element)ElementsArray[i]).CurrentElement.Id == id)break;}}return i;}53private void button2_Click(object sender, EventArgs e){int i;i = get_i_by_id(EditElementId);((Element)ElementsArray[i]).CurrentElement.Name= textBox1.Text;((Element)ElementsArray[i]).CurrentElement.Description= textBox2.Text;((Element)ElementsArray[i]).CurrentElement.Prev= int.Parse(Ref1.Text);((Element)ElementsArray[i]).CurrentElement.Next= int.Parse(Ref2.Text);ReDraw();}private void textBox1_TextChanged(object sender,EventArgs e){}private void menuItem11_Click_1(object sender, EventArgs e){if (EditElementId != 0){int i;for (i = 0; i < ElementsArray.Count; i++){if (ElementsArray[i] != null){if (((Element)ElementsArray[i]).CurrentElement.Id == EditElementId){int j;for (j = i;j < (ElementsArray.Count - 1); j++){ElementsArray[j] =ElementsArray[j + 1];}ElementsArray[j] = null;break;}}}ReDraw();}}}}54ПРИЛОЖЕНИЕ ЕИсходныйтекстосновнойкомпонентымодуляинструментального стредства ConceptModeller (язык C# .Net)usingusingusingusingusingusingusingusingusingтрансляцииSystem;System.Collections;System.Collections.Generic;System.ComponentModel;System.Drawing;System.Data;System.Text;System.Windows.Forms;System.Xml;using MySolutions.Frames;namespace MySolutions.UI.Controls {public class DiagramEditor : Panel {/// <summary>Required designer variable.</summary>private System.ComponentModel.IContainer components = null;/// <summary>Clean up any resources being used.</summary>protected override void Dispose (bool disposing) {if (disposing && (components != null)) {components.Dispose ();}base.Dispose (disposing);}#region Component Designer generated code/// <summary>/// Required method for Designer support - do not modify/// the contents of this method with the code editor./// </summary>private void InitializeComponent () {//// UserControl2//this.Name = "UserControl2";this.Size = new System.Drawing.Size (362, 314);}#endregionprotected ContextMenuStrip elementContextMenuStrip;public ContextMenuStrip ElementContextMenuStrip {get { return elementContextMenuStrip; }set { elementContextMenuStrip = value; }}protected ToolStripMenuItem elementsMenuItem;public ToolStripMenuItem ElementsMenuItem {get { return elementsMenuItem; }set {if (elementsMenuItem != null) {for (int i = elementsMenuItem.DropDownItems.Count - 1; i >= 0; i--) {if (elementsMenuItem.DropDownItems [i].Tag55== null)continue;if (elementsMenuItem.DropDownItems [i].Tagis ConceptControl) {elementsMenuItem.DropDownItems.RemoveAt (i);}}}elementsMenuItem = value;foreach (Control Element in Controls) {if (Element is ConceptControl) {addElementsMenuEntry (Element as ConceptControl);}}}}protected void addElementsMenuEntry (ConceptControl Element) {if (elementsMenuItem == null)return;if (Element == null)return;ToolStripMenuItem tsmi = new ToolStripMenuItem ();tsmi.Tag = Element;tsmi.Text = (Element as ConceptControl).ElementName;tsmi.Click += new EventHandler (elementsMenuItem_Click);elementsMenuItem.DropDownItems.Add (tsmi);}protected void removeElementsMenuEntry (ConceptControl Element) {if (elementsMenuItem == null)return;for (int i = elementsMenuItem.DropDownItems.Count - 1;i >= 0; i--)if (elementsMenuItem.DropDownItems [i].Tag == Element) {elementsMenuItem.DropDownItems.RemoveAt (i);break;}}void Element_ElementNameChanged (object sender, EventArgs e) {removeElementsMenuEntry (sender as ConceptControl);addElementsMenuEntry (sender as ConceptControl);}public Document Doc;public DiagramEditor (Document document, Diagram diagram) {}public DiagramEditor () {InitializeComponent ();elements = new ArrayList ();relations = new ArrayList ();this.Click += new EventHandler (click);this.MouseDown += new MouseEventHandler (mouseDown);this.MouseMove += new MouseEventHandler (mouseMove);this.MouseUp += new MouseEventHandler (mouseUp);}protected ArrayList elements;56protected ArrayList relations;public int ElementsCount { get { return elements.Count; } }public ConceptControl Element (int index) {if ((index >= 0) && (index < elements.Count))return elements [index] as ConceptControl;elsethrow new ArgumentOutOfRangeException ("Argument outof range: index.");}public int RelationsCount () { return relations.Count; }public RelationControl Relation (int index) {if ((index >= 0) && (index < relations.Count))return relations [index] as RelationControl;elsethrow new ArgumentOutOfRangeException ("Argument outof range: index");}public void Delete (ConceptControl Element) {elements.Remove (Element);Controls.Remove (Element);removeElementsMenuEntry (Element);}public void Delete (string ElementName) {foreach (Control Element in Controls) {if ((Element is ConceptControl) &&((Element as ConceptControl).ElementName ==ElementName)) {elements.Remove (Element);Controls.Remove (Element);removeElementsMenuEntry (Elementas ConceptControl);return;}}}public void Delete (int ElementID) {foreach (Control Element in Controls) {if ((Element is ConceptControl) &&((Element as ConceptControl).ElementID ==ElementID)) {elements.Remove (Element);Controls.Remove (Element);removeElementsMenuEntry (Elementas ConceptControl);return;}}}public ConceptControl Get (string ElementName) {foreach (Control Element in Controls) {if (Element is ConceptControl)if ((Element as ConceptControl).ElementName ==ElementName) {return Element as ConceptControl;}}57throw new IndexOutOfRangeException("Element not found in collection.");}public ConceptControl Get (int ElementID) {foreach (Control Element in Controls) {if (Element is ConceptControl)if ((Element as ConceptControl).ElementID ==ElementID) {return Element as ConceptControl;}}throw new IndexOutOfRangeException("Element not found in collection.");}protected ConceptControl selectedElement;public ConceptControl SelectedElement {get { return selectedElement; }}public void SelectNone () {if (selectedElement != null) {selectedElement.Select (false);selectedElement = null;OnElementSelected ();}}public void SelectElement (ConceptControl Element) {if (Element != selectedElement)Element.Select ();}public void SelectElement (string ElementName) {foreach (Control control in Controls) {if ((control is ConceptControl) &&((control as ConceptControl).ElementName ==ElementName)) {SelectElement (control asConceptControl);return;}}throw new ArgumentOutOfRangeException("Argument out of range: element name.");}public void SelectElement (int ElementID) {foreach (Control control in Controls) {if ((control is ConceptControl) &&((control as ConceptControl).ElementID ==ElementID)) {SelectElement (control asConceptControl);return;}}throw new ArgumentOutOfRangeException("Argument out of range: element id.");}protected event EventHandler elementSelected;58public event EventHandler ElementSelected {add {elementSelected += value;}remove {elementSelected -= value;}}protected void OnElementSelected () {if (elementSelected != null)elementSelected (this, EventArgs.Empty);}protected void Element_Selected (object sender, EventArgs e) {selectedElement = (sender as ConceptControl);foreach (Control Element in Controls) {if (Element is ConceptControl)if (Element != sender)(Element as ConceptControl).Select (false);}OnElementSelected ();}void click (object sender, EventArgs e) {SelectNone ();}protected void setNormal () {newElement = null;newRelation = null;allowOperate (true);}protected void setElement () {newElement = new ConceptControl ();newElement.ContextMenuStrip = elementContextMenuStrip;newElement.Selected += new EventHandler (Element_Selected);newElement.Click += new EventHandler (Element_Click);newElement.Move += new EventHandler (Element_Move);newElement.ElementNameChanged += new EventHandler(Element_ElementNameChanged);newElement.BackColor = Color.WhiteSmoke;newRelation = null;allowOperate (false);}protected void setRelation () {newElement = null;newRelation = new RelationControl ();allowOperate (false);}protected void allowOperate (bool value) {foreach (Control Element in Controls) {if (Element is MyControl)(Element as MyControl).AllowOperate = value;}}public enum Modes {Select,Element,59Relation};protected Modes mode = Modes.Select;public Modes Mode {get { return mode; }set {if (mode != value)setMode (value);}}protected void setMode (Modes value) {switch (value) {case Modes.Select:mode = Modes.Select;setNormal ();break;case Modes.Element:mode = Modes.Element;setElement ();break;case Modes.Relation:mode = Modes.Relation;setRelation ();break;}OnModeChanged (new EventArgs ());}protected event EventHandler modeChanged;public event EventHandler ModeChanged {add { modeChanged += value; }remove { modeChanged -= value; }}protected void OnModeChanged (EventArgs e) {if (modeChanged != null)modeChanged (this, e);}protected RelationControl newRelation;protected ConceptControl newElement;void Element_MouseDown (object sender, MouseEventArgs e) { }void Element_MouseUp (object sender, MouseEventArgs e) { }void Element_Click (object sender, EventArgs e) {if (mode == Modes.Select)return;if (mode == Modes.Relation) {if (newRelation.Originator == null)newRelation.Originator =(sender as ConceptControl);else {newRelation.Target = (sender as ConceptControl);Controls.Add (newRelation);newRelation = null;Mode = Modes.Select;}return;60}}void Element_Move (object sender, EventArgs e) {OnElementMove (e);}protected event EventHandler elementMove;public event EventHandler ElementMove {add { elementMove += value; }remove { elementMove -= value; }}protected void OnElementMove (EventArgs e) {if (elementMove != null) {elementMove (this, e);}}protected event EventHandler elementResize;public event EventHandler ElementResize {add { elementResize += value; }remove { elementResize -= value; }}protected void OnElementResize (EventArgs e) {if (elementResize != null)elementResize (this, e);}void mouseDown (object sender, MouseEventArgs e) {if (mode == Modes.Element) {newElement.Location = new Point (e.X, e.Y);elements.Add (newElement);Controls.Add (newElement);addElementsMenuEntry (newElement);return;}}void mouseMove (object sender, MouseEventArgs e) {if (mode == Modes.Element) {if (e.X > newElement.Left) {newElement.Width = e.X - newElement.Left;} else {newElement.Width = newElement.Left - e.X;newElement.Left = e.X;}if (e.Y > newElement.Top) {newElement.Height = e.Y - newElement.Top;} else {newElement.Height = newElement.Top - e.Y;newElement.Top = e.Y;}newElement.Invalidate ();return;}}void mouseUp (object sender, MouseEventArgs e) {if (mode == Modes.Element) {Mode = Modes.Select;}}void elementsMenuItem_Click (object sender, EventArgs e) {ToolStripMenuItem tsmi = (sender as ToolStripMenuItem);if (tsmi == null)61return;if (tsmi.Tag == null)return;SelectElement (tsmi.Tag as ConceptControl);}private void SelectElements (ConceptControl Element) {foreach (Control cElement in Controls) {if (cElement is ConceptControl) {(cElement as ConceptControl).Select (cElement ==Element);}}}}}62ПРИЛОЖЕНИЕ ЖМетодика расчета совокупной стоимости владенияпрограммным комплексом (Total Cost of Ownership, ТСО)корпоративным1.

Характеристики

Список файлов диссертации

Технология интеграции данных в гетерогенных корпоративных программных комплексах
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее