Ajout du dossier de projet

master
Jean-Daniel Massard 6 years ago
parent 4856c47844
commit 7e40f83579

Binary file not shown.

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27428.2015
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Serial Observer", "Serial Observer\Serial Observer.csproj", "{8A164521-390A-4860-BA65-922256DAE7EF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8A164521-390A-4860-BA65-922256DAE7EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8A164521-390A-4860-BA65-922256DAE7EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8A164521-390A-4860-BA65-922256DAE7EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8A164521-390A-4860-BA65-922256DAE7EF}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F74407AF-213E-4CFC-A774-E73189B76762}
EndGlobalSection
EndGlobal

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>

@ -0,0 +1,164 @@
namespace Serial_Observer
{
partial class Form1
{
/// <summary>
/// Variable nécessaire au concepteur.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Nettoyage des ressources utilisées.
/// </summary>
/// <param name="disposing">true si les ressources managées doivent être supprimées ; sinon, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Code généré par le Concepteur Windows Form
/// <summary>
/// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
/// le contenu de cette méthode avec l'éditeur de code.
/// </summary>
private void InitializeComponent()
{
this.listBox_portLogs = new System.Windows.Forms.ListBox();
this.comboBox_portName = new System.Windows.Forms.ComboBox();
this.comboBox_portSpeed = new System.Windows.Forms.ComboBox();
this.comboBox_portParity = new System.Windows.Forms.ComboBox();
this.comboBox_portData = new System.Windows.Forms.ComboBox();
this.comboBox_portStop = new System.Windows.Forms.ComboBox();
this.button_portConnect = new System.Windows.Forms.Button();
this.button_portDisconnect = new System.Windows.Forms.Button();
this.button_portSend = new System.Windows.Forms.Button();
this.textBox_textToSend = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// listBox_portLogs
//
this.listBox_portLogs.FormattingEnabled = true;
this.listBox_portLogs.Location = new System.Drawing.Point(12, 39);
this.listBox_portLogs.Name = "listBox_portLogs";
this.listBox_portLogs.Size = new System.Drawing.Size(629, 147);
this.listBox_portLogs.TabIndex = 0;
//
// comboBox_portName
//
this.comboBox_portName.FormattingEnabled = true;
this.comboBox_portName.Location = new System.Drawing.Point(12, 12);
this.comboBox_portName.Name = "comboBox_portName";
this.comboBox_portName.Size = new System.Drawing.Size(121, 21);
this.comboBox_portName.TabIndex = 1;
//
// comboBox_portSpeed
//
this.comboBox_portSpeed.FormattingEnabled = true;
this.comboBox_portSpeed.Location = new System.Drawing.Point(139, 12);
this.comboBox_portSpeed.Name = "comboBox_portSpeed";
this.comboBox_portSpeed.Size = new System.Drawing.Size(121, 21);
this.comboBox_portSpeed.TabIndex = 2;
//
// comboBox_portParity
//
this.comboBox_portParity.FormattingEnabled = true;
this.comboBox_portParity.Location = new System.Drawing.Point(393, 12);
this.comboBox_portParity.Name = "comboBox_portParity";
this.comboBox_portParity.Size = new System.Drawing.Size(121, 21);
this.comboBox_portParity.TabIndex = 3;
//
// comboBox_portData
//
this.comboBox_portData.FormattingEnabled = true;
this.comboBox_portData.Location = new System.Drawing.Point(266, 12);
this.comboBox_portData.Name = "comboBox_portData";
this.comboBox_portData.Size = new System.Drawing.Size(121, 21);
this.comboBox_portData.TabIndex = 4;
//
// comboBox_portStop
//
this.comboBox_portStop.FormattingEnabled = true;
this.comboBox_portStop.Location = new System.Drawing.Point(520, 12);
this.comboBox_portStop.Name = "comboBox_portStop";
this.comboBox_portStop.Size = new System.Drawing.Size(121, 21);
this.comboBox_portStop.TabIndex = 5;
//
// button_portConnect
//
this.button_portConnect.Location = new System.Drawing.Point(12, 219);
this.button_portConnect.Name = "button_portConnect";
this.button_portConnect.Size = new System.Drawing.Size(248, 23);
this.button_portConnect.TabIndex = 6;
this.button_portConnect.Text = "Connecter";
this.button_portConnect.UseVisualStyleBackColor = true;
this.button_portConnect.Click += new System.EventHandler(this.button_portConnect_Click);
//
// button_portDisconnect
//
this.button_portDisconnect.Location = new System.Drawing.Point(266, 219);
this.button_portDisconnect.Name = "button_portDisconnect";
this.button_portDisconnect.Size = new System.Drawing.Size(248, 23);
this.button_portDisconnect.TabIndex = 7;
this.button_portDisconnect.Text = "Déconnecter";
this.button_portDisconnect.UseVisualStyleBackColor = true;
this.button_portDisconnect.Click += new System.EventHandler(this.button_portDisconnect_Click);
//
// button_portSend
//
this.button_portSend.Location = new System.Drawing.Point(520, 219);
this.button_portSend.Name = "button_portSend";
this.button_portSend.Size = new System.Drawing.Size(121, 23);
this.button_portSend.TabIndex = 8;
this.button_portSend.Text = "Envoyer";
this.button_portSend.UseVisualStyleBackColor = true;
this.button_portSend.Click += new System.EventHandler(this.button_portSend_Click);
//
// textBox_textToSend
//
this.textBox_textToSend.Location = new System.Drawing.Point(13, 193);
this.textBox_textToSend.Name = "textBox_textToSend";
this.textBox_textToSend.Size = new System.Drawing.Size(628, 20);
this.textBox_textToSend.TabIndex = 9;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Controls.Add(this.textBox_textToSend);
this.Controls.Add(this.button_portSend);
this.Controls.Add(this.button_portDisconnect);
this.Controls.Add(this.button_portConnect);
this.Controls.Add(this.comboBox_portStop);
this.Controls.Add(this.comboBox_portData);
this.Controls.Add(this.comboBox_portParity);
this.Controls.Add(this.comboBox_portSpeed);
this.Controls.Add(this.comboBox_portName);
this.Controls.Add(this.listBox_portLogs);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ListBox listBox_portLogs;
private System.Windows.Forms.ComboBox comboBox_portName;
private System.Windows.Forms.ComboBox comboBox_portSpeed;
private System.Windows.Forms.ComboBox comboBox_portParity;
private System.Windows.Forms.ComboBox comboBox_portData;
private System.Windows.Forms.ComboBox comboBox_portStop;
private System.Windows.Forms.Button button_portConnect;
private System.Windows.Forms.Button button_portDisconnect;
private System.Windows.Forms.Button button_portSend;
private System.Windows.Forms.TextBox textBox_textToSend;
}
}

@ -0,0 +1,226 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Serial_Observer
{
public partial class Form1 : Form
{
// Variables
SerialPort serialPort;
AddListItem myDelegate;
// Methods
public delegate void AddListItem(String myString);
public Form1()
{
// Initialize
InitializeComponent();
InitializeComboBox();
// Form size
this.Size = new Size(670, 300);
this.FormBorderStyle = FormBorderStyle.Fixed3D;
// Form options
this.Text = "Serial Observer";
// Buttons
modifyButtonsAccess(true, false, false);
}
/***************************** Events *****************************/
private void button_portConnect_Click(object sender, EventArgs e)
{
try
{
// Création d'un port avec les paramètres indiqués
serialPort = new SerialPort(comboBox_portName.Items[comboBox_portName.SelectedIndex].ToString(), parsePortSpeed(comboBox_portSpeed.Items[comboBox_portSpeed.SelectedIndex].ToString()), parsePortParity(comboBox_portParity.Items[comboBox_portParity.SelectedIndex].ToString()),parsePortData(comboBox_portData.Items[comboBox_portData.SelectedIndex].ToString()),parsePortStop(comboBox_portStop.Items[comboBox_portStop.SelectedIndex].ToString()));
// Ouverture du port créé
serialPort.Open();
// Evénement à la réception de données
serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
// Modification des boutons de contrôle
modifyButtonsAccess(false, true, true);
// Effacement du logger
listBox_portLogs.Items.Clear();
// Confirmation de réussite
MessageBox.Show("L'ouverture du port est un succès.", "Succès !", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch(ArgumentOutOfRangeException)
{
// Une des listes déroulantes est vide
MessageBox.Show("Vous devez choisir une configuration !", "Erreur !", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message, "Erreur !", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void button_portDisconnect_Click(object sender, EventArgs e)
{
try
{
serialPort.Close();
modifyButtonsAccess(true, false, false);
MessageBox.Show("La fermeture du port est un succès.", "Succès !", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message, "Erreur !", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void button_portSend_Click(object sender, EventArgs e)
{
try
{
serialPort.Write(textBox_textToSend.Text);
textBox_textToSend.Clear();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message, "Erreur !", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
try
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadLine();
myDelegate = new AddListItem(AddListItemMethod);
listBox_portLogs.Invoke(myDelegate, new Object[] { "[" + DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second + "] : " + indata });
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Erreur !", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
/************************* Private Methods *************************/
private void InitializeComboBox()
{
// Port name
comboBox_portName.DropDownStyle = ComboBoxStyle.DropDownList;
string[] ports = SerialPort.GetPortNames();
foreach(string port in ports)
{
comboBox_portName.Items.Add(port);
}
// Port speed
comboBox_portSpeed.DropDownStyle = ComboBoxStyle.DropDownList;
int[] speeds = {1200,2400,4800,9600,14400,19200,28800,38400,57600,115200,230400};
foreach(int speed in speeds)
{
comboBox_portSpeed.Items.Add(speed);
}
// Port data
comboBox_portData.DropDownStyle = ComboBoxStyle.DropDownList;
int[] datas = {5,6,7,8};
foreach(int data in datas)
{
comboBox_portData.Items.Add(data);
}
// Port parity
comboBox_portParity.DropDownStyle = ComboBoxStyle.DropDownList;
String[] parities = {Parity.None.ToString(),Parity.Even.ToString(),Parity.Odd.ToString(),Parity.Mark.ToString(),Parity.Space.ToString()};
foreach(string parity in parities)
{
comboBox_portParity.Items.Add(parity);
}
// Port stop
comboBox_portStop.DropDownStyle = ComboBoxStyle.DropDownList;
String[] stops = {StopBits.None.ToString(),StopBits.One.ToString(),StopBits.OnePointFive.ToString(),StopBits.Two.ToString()};
foreach(string stop in stops)
{
comboBox_portStop.Items.Add(stop);
}
}
private int parsePortSpeed(string speed)
{
return (int.Parse(speed));
}
private Parity parsePortParity(string parity)
{
if(parity == "None")
{
return (Parity.None);
}
else if(parity == "Even")
{
return (Parity.Even);
}
else if(parity == "Odd")
{
return (Parity.Odd);
}
else if(parity == "Mark")
{
return (Parity.Mark);
}
else
{
return (Parity.Space);
}
}
private int parsePortData(string data)
{
return (int.Parse(data));
}
private StopBits parsePortStop(string stop)
{
if (stop == "None")
{
return (StopBits.None);
}
else if (stop == "One")
{
return (StopBits.One);
}
else if (stop == "OnePointFive")
{
return (StopBits.OnePointFive);
}
else
{
return (StopBits.Two);
}
}
private void modifyButtonsAccess(Boolean _buttonPortConnect, Boolean _buttonPortDisconnect, Boolean _buttonPortSend)
{
button_portConnect.Enabled = _buttonPortConnect;
button_portDisconnect.Enabled = _buttonPortDisconnect;
button_portSend.Enabled = _buttonPortSend;
}
private void AddListItemMethod(String myString)
{
listBox_portLogs.Items.Add(myString);
}
}
}

@ -0,0 +1,120 @@
<?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>
</root>

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Serial_Observer
{
static class Program
{
/// <summary>
/// Point d'entrée principal de l'application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Les informations générales relatives à un assembly dépendent de
// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations
// associées à un assembly.
[assembly: AssemblyTitle("Serial Observer")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Serial Observer")]
[assembly: AssemblyCopyright("Copyright © 2018")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly
// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de
// COM, affectez la valeur true à l'attribut ComVisible sur ce type.
[assembly: ComVisible(false)]
// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM
[assembly: Guid("8a164521-390a-4860-ba65-922256dae7ef")]
// Les informations de version pour un assembly se composent des quatre valeurs suivantes :
//
// Version principale
// Version secondaire
// Numéro de build
// Révision
//
// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut
// en utilisant '*', comme indiqué ci-dessous :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Ce code a été généré par un outil.
// Version du runtime :4.0.30319.42000
//
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
// le code est régénéré.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Serial_Observer.Properties
{
/// <summary>
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
/// </summary>
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
// avec l'option /str ou régénérez votre projet VS.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Serial_Observer.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

@ -0,0 +1,117 @@
<?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.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: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" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</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" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Serial_Observer.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{8A164521-390A-4860-BA65-922256DAE7EF}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>Serial_Observer</RootNamespace>
<AssemblyName>Serial Observer</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>

@ -0,0 +1,10 @@
C:\Users\Jean-Daniel\Desktop\Serial Observer\Serial Observer\bin\Debug\Serial Observer.exe.config
C:\Users\Jean-Daniel\Desktop\Serial Observer\Serial Observer\bin\Debug\Serial Observer.exe
C:\Users\Jean-Daniel\Desktop\Serial Observer\Serial Observer\bin\Debug\Serial Observer.pdb
C:\Users\Jean-Daniel\Desktop\Serial Observer\Serial Observer\obj\Debug\Serial Observer.csprojResolveAssemblyReference.cache
C:\Users\Jean-Daniel\Desktop\Serial Observer\Serial Observer\obj\Debug\Serial_Observer.Properties.Resources.resources
C:\Users\Jean-Daniel\Desktop\Serial Observer\Serial Observer\obj\Debug\Serial Observer.csproj.GenerateResource.cache
C:\Users\Jean-Daniel\Desktop\Serial Observer\Serial Observer\obj\Debug\Serial Observer.csproj.CoreCompileInputs.cache
C:\Users\Jean-Daniel\Desktop\Serial Observer\Serial Observer\obj\Debug\Serial Observer.exe
C:\Users\Jean-Daniel\Desktop\Serial Observer\Serial Observer\obj\Debug\Serial Observer.pdb
C:\Users\Jean-Daniel\Desktop\Serial Observer\Serial Observer\obj\Debug\Serial_Observer.Form1.resources
Loading…
Cancel
Save