- *.[改进]项目支持自动打包功能。

### RySmartEditor    V1.0.2501.2701
- *.[改进]FTP上传时限制300毫秒内只能刷新一次UI进度。
### SuperDesign    V3.0.2501.2701
- *.[新增]新增支持在线升级功能。
#### 项目功能->项目管理
- *.[新增]FTP上传文件列表和打包文件列表支持在软件里直接编辑。
- *.[改进]更新dll版本将比对版本号,只更新版本号更新或者更新日期更新的dll。
#### 项目功能->更新日志
- *.[新增]新增支持自动记录过的分组信息,然后可以进行选择快速插入。
- *.[新增]记录使用过的项目信息到总数据库,以方便总览。
- *.[改进]右键插入日志时直接对富文本框进行编辑,而不是替换内容,从而具备撤销功能。
- *.[改进]改进MD日志输出的样式设计。
- *.[修复]修复《确认日志覆盖》窗口里的按钮,随着窗口大小变化,按钮会错乱的BUG。
- *.[修复]修复双击日志列表显示日志时,针对本周的时间显示不正确的BUG。
- *.[修复]修复右键新增日志时,如果没有分组,插入的行可能不正确的BUG。
- *.[修复]修复设为开发日志后,鼠标指针变到文本开头的问题。
#### 网页抓取工具
- *.[新增]新增多个常用UA。
- *.[新增]切换Url时如果存在Cookie和Header时,则提示是否清空。
- *.[新增]保存记录时新增支持保存UA。
- *.[新增]Url列表支持图标展示。
This commit is contained in:
zilinsoft committed 2025-01-27 15:41:54 +08:00
1 parent 747a97a1c9
commit 1f8c54fe38
47 files changed
+1593 -374

No files matched your search

@@ -48,6 +48,7 @@
this.Rich1.Size = new System.Drawing.Size(356, 497);
this.Rich1.TabIndex = 0;
this.Rich1.Text = "";
this.Rich1.WordWrap = true;
//
// Rich2
//
@@ -60,10 +61,10 @@
this.Rich2.Size = new System.Drawing.Size(356, 497);
this.Rich2.TabIndex = 1;
this.Rich2.Text = "";
this.Rich2.WordWrap = true;
//
// BtnSubmit
//
this.BtnSubmit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnSubmit.BaseColor = System.Drawing.Color.Green;
this.BtnSubmit.ColorGradient = true;
this.BtnSubmit.Location = new System.Drawing.Point(2, 5);
@@ -77,7 +78,6 @@
//
// BtnCancel
//
this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.BtnCancel.ColorGradient = true;
this.BtnCancel.Location = new System.Drawing.Point(83, 5);
@@ -0,0 +1,100 @@
namespace SuperDesign.Tools.UpLog
{
partial class FrmGroupSelected
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmGroupSelected));
this.objectListView1 = new BrightIdeasSoftware.ObjectListView();
this.OlvGroup = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.BtnDel = new ryControls.ButtonEx();
((System.ComponentModel.ISupportInitialize)(this.objectListView1)).BeginInit();
this.SuspendLayout();
//
// objectListView1
//
this.objectListView1.AllColumns.Add(this.OlvGroup);
this.objectListView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.objectListView1.CellEditUseWholeCell = false;
this.objectListView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.OlvGroup});
this.objectListView1.Cursor = System.Windows.Forms.Cursors.Default;
this.objectListView1.FullRowSelect = true;
this.objectListView1.HideSelection = false;
this.objectListView1.Location = new System.Drawing.Point(12, 42);
this.objectListView1.Name = "objectListView1";
this.objectListView1.Size = new System.Drawing.Size(636, 504);
this.objectListView1.TabIndex = 0;
this.objectListView1.UseCompatibleStateImageBehavior = false;
this.objectListView1.View = System.Windows.Forms.View.Details;
this.objectListView1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.ObjectListView1_MouseDoubleClick);
//
// OlvGroup
//
this.OlvGroup.Text = "分组";
this.OlvGroup.Width = 300;
//
// BtnDel
//
this.BtnDel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnDel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.BtnDel.ColorGradient = true;
this.BtnDel.Location = new System.Drawing.Point(573, 3);
this.BtnDel.Name = "BtnDel";
this.BtnDel.Size = new System.Drawing.Size(75, 33);
this.BtnDel.TabIndex = 12;
this.BtnDel.Text = "删除";
this.BtnDel.UseDefSkin = false;
this.BtnDel.UseVisualStyleBackColor = true;
this.BtnDel.Click += new System.EventHandler(this.BtnDel_Click);
//
// FrmGroupSelected
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(660, 558);
this.Controls.Add(this.BtnDel);
this.Controls.Add(this.objectListView1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmGroupSelected";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "分组";
this.Load += new System.EventHandler(this.FrmGroupSelected_Load);
((System.ComponentModel.ISupportInitialize)(this.objectListView1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private BrightIdeasSoftware.ObjectListView objectListView1;
private BrightIdeasSoftware.OLVColumn OlvGroup;
private ryControls.ButtonEx BtnDel;
}
}
@@ -0,0 +1,128 @@
using Newtonsoft.Json.Linq;
using ryCommon;
using ryCommonDb;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SuperDesign.Tools.UpLog
{
public partial class FrmGroupSelected : Form
{
public FrmGroupSelected()
{
InitializeComponent();
OlvGroup.AspectGetter = delegate (object x) { return ((GroupInfo)x).GroupName; };
}
public string ProjectName { get; set; }
public string DbPath { get; set; }
public string SelectedGroupName { get; private set; } = "";
class GroupInfo
{
public string GroupName { get; set; }
public long Time { get; set; }
}
private void ObjectListView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (objectListView1.SelectedObject == null) { return; }
var item = (GroupInfo)objectListView1.SelectedObject;
SelectedGroupName = item.GroupName;
DialogResult = DialogResult.OK;
}
private void FrmGroupSelected_Load(object sender, EventArgs e)
{
IDbInterface db = new SQLiteDataProvider();
if (db.ConnDb(DbPath) == 1)
{
JObject jo_group;
try
{
var ds_group = db.ReadData("select * from Settings where Name='GroupList'");
if (ds_group.HaveData())
{
jo_group = JObject.Parse(ds_group.GetRow(0)["Value"].ToString());
}
else
{
jo_group = new JObject();
}
ds_group?.Dispose();
}
catch { jo_group = new JObject(); }
var jarr_group = jo_group.GetJsonValue("group_" +ProjectName, new JArray());
List<GroupInfo> list = new List<GroupInfo>();
for (int i = 0; i < jarr_group.Count; i++)
{
list.Add(new GroupInfo()
{
GroupName = jarr_group[i].GetJsonValue("text",""),
Time = jarr_group[i].GetJsonValue("time", 0L),
});
}
objectListView1.AddObjects(list);
}
db.Free();
}
private void BtnDel_Click(object sender, EventArgs e)
{
if (objectListView1.SelectedObject == null) {
MessageBox.Show("请选择分组。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (MessageBox.Show("是否确认要删除该分组?", "询问", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) != DialogResult.OK)
{
return;
}
var item = (GroupInfo)objectListView1.SelectedObject;
IDbInterface db = new SQLiteDataProvider();
if (db.ConnDb(DbPath) == 1)
{
JObject jo_group;
try
{
var ds_group = db.ReadData("select * from Settings where Name='GroupList'");
if (ds_group.HaveData())
{
jo_group = JObject.Parse(ds_group.GetRow(0)["Value"].ToString());
}
else
{
jo_group = new JObject();
}
ds_group?.Dispose();
}
catch { jo_group = new JObject(); }
var jarr_group = jo_group.GetJsonValue("group_" + ProjectName, new JArray());
for (int i = 0; i < jarr_group.Count; i++)
{
if(jarr_group[i].GetJsonValue("text", "")==item.GroupName)
{
jarr_group[i].Remove();
objectListView1.RemoveObject(item);
break;
}
}
jo_group["group_" + ProjectName] = jarr_group;
RyQuickSQL MySQL_Setting = new RyQuickSQL("Settings");
MySQL_Setting.AddField("Name", "GroupList");
MySQL_Setting.AddField("Value", jo_group.ToString());
MySQL_Setting.AddField("EditTime", DateTime.Now);
if (db.Update(MySQL_Setting, "Name=@Name") == 0)
{
MySQL_Setting.AddField("AddTime", DateTime.Now);
db.Insert(MySQL_Setting);
}
}
db.Free();
}
}
}
@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAAAAAAIAAxAgAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAAHoSURBVFhHxVZLTsMwEO1ROEgXPQqLInEAVmx6hNwAH6EiLCoWkEWFIkGlsi0b
Lyp1AwuKaMVH7UNj7MoeJ46bNPCkJ7XJeN6zPfak06mJpI9BcgIkJ5D0m79vDZYwZ7tGtLAsEOY8rJGk
j16kMCeNOeb5opGc4qimMCetSI/nL4UWzgoSNWXYiBYWBQMPTeEYUcLlld0mBWl3WlruWMr/NiD+cu9d
8ruixernzNTel4Euj5aMhI9hPnRdaSOtXESOFv3JU2R5CuQphP3SOqJ1jHhXsdK6wkBrZUorTyH1A0Op
goqNcJEies2ICTtaZMDMnnNfI/sIG4qYIGXETsy2po4weE5TC8ILDBgpwt7CHIsZurN7TL2BASMxM368
Rb5+w5k9zgEtK4AMGh8rjGgQT+QY+WVZDSlObzD/WiMxeQHIyQhdR9hcPHeXGH9/IreDV0uMKQlPXEUa
876EsHJhs8H86WF3ye26IT/jkoxQsBm43WL++oxhjBGKodiAsKNV2g0vzjGfXGPIjbws1JLzu4Mo6V2k
sGFWdbaVEUpC28GNUI3QjGsIE4VXhKG2bBkJIkK4ohtWtGXLyM5M5Iy9phRElRFjhsifNxLmaNCWvW5Y
G3o1Yo14veFgqPg+aE+YwzJCNdJI+AcH16VD0jG8swAAAABJRU5ErkJggg==
</value>
</data>
</root>
@@ -0,0 +1,102 @@
namespace SuperDesign.Tools.UpLog
{
partial class FrmSaveContent
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmSaveContent));
this.Rich1 = new ryControls.Controls.RichTextBox2();
this.BtnSave = new ryControls.ButtonEx();
this.BtnCancel = new ryControls.ButtonEx();
this.SuspendLayout();
//
// Rich1
//
this.Rich1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.Rich1.DetectUrls = false;
this.Rich1.EmptyText = "";
this.Rich1.Font = new System.Drawing.Font("Courier New", 10F);
this.Rich1.Location = new System.Drawing.Point(1, 44);
this.Rich1.Name = "Rich1";
this.Rich1.OnlyInputText = true;
this.Rich1.Size = new System.Drawing.Size(786, 515);
this.Rich1.TabIndex = 0;
this.Rich1.Text = "";
this.Rich1.WordWrap = true;
//
// BtnSave
//
this.BtnSave.BaseColor = System.Drawing.Color.Green;
this.BtnSave.ColorGradient = true;
this.BtnSave.Location = new System.Drawing.Point(2, 5);
this.BtnSave.Name = "BtnSave";
this.BtnSave.Size = new System.Drawing.Size(75, 33);
this.BtnSave.TabIndex = 10;
this.BtnSave.Text = "保存";
this.BtnSave.UseDefSkin = false;
this.BtnSave.UseVisualStyleBackColor = true;
this.BtnSave.Click += new System.EventHandler(this.BtnSubmit_Click);
//
// BtnCancel
//
this.BtnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.BtnCancel.ColorGradient = true;
this.BtnCancel.Location = new System.Drawing.Point(83, 5);
this.BtnCancel.Name = "BtnCancel";
this.BtnCancel.Size = new System.Drawing.Size(75, 33);
this.BtnCancel.TabIndex = 11;
this.BtnCancel.Text = "取消";
this.BtnCancel.UseDefSkin = false;
this.BtnCancel.UseVisualStyleBackColor = true;
this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click);
//
// FrmSaveContent
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(790, 563);
this.Controls.Add(this.BtnCancel);
this.Controls.Add(this.BtnSave);
this.Controls.Add(this.Rich1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmSaveContent";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "内容设置";
this.Load += new System.EventHandler(this.FrmCompareLog_Load);
this.Resize += new System.EventHandler(this.FrmCompareLog_Resize);
this.ResumeLayout(false);
}
#endregion
private ryControls.ButtonEx BtnSave;
private ryControls.ButtonEx BtnCancel;
public ryControls.Controls.RichTextBox2 Rich1;
}
}
@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SuperDesign.Tools.UpLog
{
public partial class FrmSaveContent : Form
{
public FrmSaveContent()
{
InitializeComponent();
}
private void FrmCompareLog_Resize(object sender, EventArgs e)
{
}
private void FrmCompareLog_Load(object sender, EventArgs e)
{
}
private void BtnSubmit_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK;
}
private void BtnCancel_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
}
}
}
@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAAAAAAIADGAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAAF9SURBVFhHY2CAgsOP/zscevR//qFH/+8fevT//9rTr/5L6oRSjNVss/5P33Ll
P8hMqNn7QXbB7AWDQ4/+J0AVwDFIE8gAoZRXFGE5cxQHwPHhh//rkX2OoQCkCaRZMPc/RRiXA0B4//3/
CiDfg4IdQ5JcB/hO+v9/6Yn///XrCTsAFB0gB6ALUuQAGDh8iygH/KeZA0BgZDvg4dsBcgAoAYJAxzYI
X9GSTAeACiJQISIcewXDEkIYlgNAekFlCcgsdPMJOgCES6bu/y9tmgUuUNAtIYRBemQdGv5HFkzFMJdo
B4BcntSw6r+yddZ/ZZcGkjDI54QsJ+gAGAY5pGnefpIwuhm4MFEOoCUedcCoA0YdMOoAgg5Yf+/T/9IL
Z0nGHVdvgvWim4eOCTrA/8Tm/xr7Z5GFrQ8vxzAPHQ9+B4CCERSc6EFMDKZKFNAagxwA7ooNEL4PcgDW
jgmd8H5Y12xAQgHeSQV1FNEl6YATUHrI0JDYT4fQmI/cPQcAn3IBrGGmgNcAAAAASUVORK5CYII=
</value>
</data>
</root>
@@ -99,7 +99,7 @@ namespace SuperDesign.Tools
DateTime retStartDay = DateTime.Now.Date.AddDays(-(index - 1));
if(dt >= retStartDay && dt < retStartDay.AddDays(7))
{
dt_str = "本周 " + dt.ToString("dd HH:mm");
dt_str = "本" + dt.ToString("ddd HH:mm");
}
}
line += "<span color='red'>" + System.Web.HttpUtility.HtmlEncode("=>" + dt_str) + "</span>";