Compare commits

..

20 Commits

Author SHA1 Message Date
32c28b76c0 Added client version to form toolstrip 2025-10-02 09:08:06 +02:00
Andrea
903e0b934d Fixed thread not closing issue 2025-10-02 09:00:35 +02:00
Andrea
9a005c15f2 Fixed client form size issues 2025-10-02 08:55:57 +02:00
Andrea
c52c9266af Client log horizontal scrollbar 2025-10-02 08:54:27 +02:00
Andrea
036ea0ed6a Added client commands backend 2025-10-02 08:53:03 +02:00
Andrea
cb74dd00d3 semifix 2025-10-02 08:51:48 +02:00
Andrea
f97f1a7bcb Command support improvements 2025-10-02 08:50:08 +02:00
Andrea
8bea85a5b1 commands overhaul 2025-10-02 08:34:35 +02:00
b0c4dba54b Implementing server support for date and time commands 2025-10-01 08:55:45 +02:00
cf8dc440dd Server assembly info changes 2025-10-01 08:40:59 +02:00
c1eb11a0a1 Added client mainform Italian translation 2025-10-01 08:38:02 +02:00
eb35d2bf6e Server log horizontal scrollbar not showing fixed 2025-10-01 08:29:19 +02:00
e9db84f50c Assigned time and date commands to client buttons 2025-10-01 08:25:18 +02:00
2eabe7f2b9 Fixed server tray name mismatch 2025-10-01 08:21:41 +02:00
cedc1af23f Added GUI support for client logs and get time and date 2025-10-01 08:18:51 +02:00
4c14a85909 Fixed client semi-translation issue 2025-10-01 08:15:25 +02:00
1c56a4032e Small server main form adjustment 2025-10-01 08:13:38 +02:00
302775c0a9 Enabled horizontal scrollbar on server (logs not cut off anymore) 2025-10-01 08:13:02 +02:00
de0ffb0ee8 Small server about form fix 2025-10-01 08:12:19 +02:00
a760fd239a About form improvements 2025-10-01 08:10:06 +02:00
12 changed files with 600 additions and 60 deletions

View File

@@ -5,6 +5,7 @@ using System.Net;
using System.Net.Sockets; using System.Net.Sockets;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms;
namespace SamaPager_Client namespace SamaPager_Client
{ {
@@ -41,6 +42,23 @@ namespace SamaPager_Client
UdpStack.Send(msgData, msgData.Length, serverEndPoint); UdpStack.Send(msgData, msgData.Length, serverEndPoint);
} }
internal string SendCommand(string command)
{
byte[] msgData = Encoding.UTF8.GetBytes(command);
UdpStack.Send(msgData, msgData.Length, serverEndPoint);
try
{
UdpStack.Client.ReceiveTimeout = 5000;
IPEndPoint receiveEndPoint = serverEndPoint;
byte[] receivedBytes = UdpStack.Receive(ref receiveEndPoint);
return $"Server replied: {Encoding.UTF8.GetString(receivedBytes)}";
}
catch(Exception ex)
{
return $"ERROR: {ex.Message}";
}
}
internal void KillClient() internal void KillClient()
{ {
this.UdpStack.Close(); this.UdpStack.Close();

View File

@@ -29,7 +29,10 @@
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.kryptonPanel1 = new Krypton.Toolkit.KryptonPanel(); this.kryptonPanel1 = new Krypton.Toolkit.KryptonPanel();
this.cmdLst = new Krypton.Toolkit.KryptonComboBox();
this.logLst = new Krypton.Toolkit.KryptonListBox();
this.kryptonPictureBox1 = new Krypton.Toolkit.KryptonPictureBox(); this.kryptonPictureBox1 = new Krypton.Toolkit.KryptonPictureBox();
this.sendBtn = new Krypton.Toolkit.KryptonButton(); this.sendBtn = new Krypton.Toolkit.KryptonButton();
this.kryptonStatusStrip1 = new Krypton.Toolkit.KryptonStatusStrip(); this.kryptonStatusStrip1 = new Krypton.Toolkit.KryptonStatusStrip();
@@ -40,8 +43,10 @@
this.restartUDPClientToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.restartUDPClientToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.messageTxt = new Krypton.Toolkit.KryptonTextBox(); this.messageTxt = new Krypton.Toolkit.KryptonTextBox();
this.kryptonManager2 = new Krypton.Toolkit.KryptonManager(this.components); this.kryptonManager2 = new Krypton.Toolkit.KryptonManager(this.components);
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
((System.ComponentModel.ISupportInitialize)(this.kryptonPanel1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.kryptonPanel1)).BeginInit();
this.kryptonPanel1.SuspendLayout(); this.kryptonPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.cmdLst)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.kryptonPictureBox1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.kryptonPictureBox1)).BeginInit();
this.kryptonStatusStrip1.SuspendLayout(); this.kryptonStatusStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout();
@@ -49,66 +54,69 @@
// //
// kryptonPanel1 // kryptonPanel1
// //
this.kryptonPanel1.Controls.Add(this.cmdLst);
this.kryptonPanel1.Controls.Add(this.logLst);
this.kryptonPanel1.Controls.Add(this.kryptonPictureBox1); this.kryptonPanel1.Controls.Add(this.kryptonPictureBox1);
this.kryptonPanel1.Controls.Add(this.sendBtn); this.kryptonPanel1.Controls.Add(this.sendBtn);
this.kryptonPanel1.Controls.Add(this.kryptonStatusStrip1); this.kryptonPanel1.Controls.Add(this.kryptonStatusStrip1);
this.kryptonPanel1.Controls.Add(this.menuStrip1); this.kryptonPanel1.Controls.Add(this.menuStrip1);
this.kryptonPanel1.Controls.Add(this.messageTxt); this.kryptonPanel1.Controls.Add(this.messageTxt);
this.kryptonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; resources.ApplyResources(this.kryptonPanel1, "kryptonPanel1");
this.kryptonPanel1.Location = new System.Drawing.Point(0, 0);
this.kryptonPanel1.Name = "kryptonPanel1"; this.kryptonPanel1.Name = "kryptonPanel1";
this.kryptonPanel1.Size = new System.Drawing.Size(350, 356); //
this.kryptonPanel1.TabIndex = 0; // cmdLst
//
this.cmdLst.DropDownWidth = 318;
this.cmdLst.Items.AddRange(new object[] {
resources.GetString("cmdLst.Items"),
resources.GetString("cmdLst.Items1"),
resources.GetString("cmdLst.Items2")});
resources.ApplyResources(this.cmdLst, "cmdLst");
this.cmdLst.Name = "cmdLst";
this.cmdLst.StateCommon.ComboBox.Content.TextH = Krypton.Toolkit.PaletteRelativeAlign.Near;
this.cmdLst.SelectedIndexChanged += new System.EventHandler(this.cmdLst_SelectedIndexChanged);
//
// logLst
//
resources.ApplyResources(this.logLst, "logLst");
this.logLst.Name = "logLst";
// //
// kryptonPictureBox1 // kryptonPictureBox1
// //
this.kryptonPictureBox1.Image = global::SamaPager_Client.Properties.Resources.shalom; this.kryptonPictureBox1.Image = global::SamaPager_Client.Properties.Resources.shalom;
this.kryptonPictureBox1.Location = new System.Drawing.Point(32, 43); resources.ApplyResources(this.kryptonPictureBox1, "kryptonPictureBox1");
this.kryptonPictureBox1.Name = "kryptonPictureBox1"; this.kryptonPictureBox1.Name = "kryptonPictureBox1";
this.kryptonPictureBox1.Size = new System.Drawing.Size(278, 181);
this.kryptonPictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
this.kryptonPictureBox1.TabIndex = 3;
this.kryptonPictureBox1.TabStop = false; this.kryptonPictureBox1.TabStop = false;
// //
// sendBtn // sendBtn
// //
this.sendBtn.Location = new System.Drawing.Point(250, 248); resources.ApplyResources(this.sendBtn, "sendBtn");
this.sendBtn.Name = "sendBtn"; this.sendBtn.Name = "sendBtn";
this.sendBtn.Size = new System.Drawing.Size(80, 67);
this.sendBtn.TabIndex = 2;
this.sendBtn.Values.DropDownArrowColor = System.Drawing.Color.Empty; this.sendBtn.Values.DropDownArrowColor = System.Drawing.Color.Empty;
this.sendBtn.Values.Text = "INVIA"; this.sendBtn.Values.Text = resources.GetString("sendBtn.Values.Text");
this.sendBtn.Click += new System.EventHandler(this.sendBtn_Click); this.sendBtn.Click += new System.EventHandler(this.sendBtn_Click);
// //
// kryptonStatusStrip1 // kryptonStatusStrip1
// //
this.kryptonStatusStrip1.Font = new System.Drawing.Font("Segoe UI", 9F); resources.ApplyResources(this.kryptonStatusStrip1, "kryptonStatusStrip1");
this.kryptonStatusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.kryptonStatusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.statusTxt}); this.statusTxt,
this.kryptonStatusStrip1.Location = new System.Drawing.Point(0, 334); this.toolStripStatusLabel1});
this.kryptonStatusStrip1.Name = "kryptonStatusStrip1"; this.kryptonStatusStrip1.Name = "kryptonStatusStrip1";
this.kryptonStatusStrip1.ProgressBars = null; this.kryptonStatusStrip1.ProgressBars = null;
this.kryptonStatusStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.ManagerRenderMode; this.kryptonStatusStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.ManagerRenderMode;
this.kryptonStatusStrip1.Size = new System.Drawing.Size(350, 22);
this.kryptonStatusStrip1.TabIndex = 1;
this.kryptonStatusStrip1.Text = "kryptonStatusStrip1";
// //
// statusTxt // statusTxt
// //
this.statusTxt.Name = "statusTxt"; this.statusTxt.Name = "statusTxt";
this.statusTxt.Size = new System.Drawing.Size(70, 17); resources.ApplyResources(this.statusTxt, "statusTxt");
this.statusTxt.Text = "STATUS: Off";
// //
// menuStrip1 // menuStrip1
// //
this.menuStrip1.Font = new System.Drawing.Font("Segoe UI", 9F); resources.ApplyResources(this.menuStrip1, "menuStrip1");
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem}); this.fileToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(350, 24);
this.menuStrip1.TabIndex = 4;
this.menuStrip1.Text = "menuStrip1";
// //
// fileToolStripMenuItem // fileToolStripMenuItem
// //
@@ -116,51 +124,49 @@
this.changeDestinationAddressToolStripMenuItem, this.changeDestinationAddressToolStripMenuItem,
this.restartUDPClientToolStripMenuItem}); this.restartUDPClientToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(64, 20); resources.ApplyResources(this.fileToolStripMenuItem, "fileToolStripMenuItem");
this.fileToolStripMenuItem.Text = "Network";
// //
// changeDestinationAddressToolStripMenuItem // changeDestinationAddressToolStripMenuItem
// //
this.changeDestinationAddressToolStripMenuItem.Name = "changeDestinationAddressToolStripMenuItem"; this.changeDestinationAddressToolStripMenuItem.Name = "changeDestinationAddressToolStripMenuItem";
this.changeDestinationAddressToolStripMenuItem.Size = new System.Drawing.Size(220, 22); resources.ApplyResources(this.changeDestinationAddressToolStripMenuItem, "changeDestinationAddressToolStripMenuItem");
this.changeDestinationAddressToolStripMenuItem.Text = "Change destination address";
this.changeDestinationAddressToolStripMenuItem.Click += new System.EventHandler(this.changeDestinationAddressToolStripMenuItem_Click); this.changeDestinationAddressToolStripMenuItem.Click += new System.EventHandler(this.changeDestinationAddressToolStripMenuItem_Click);
// //
// restartUDPClientToolStripMenuItem // restartUDPClientToolStripMenuItem
// //
this.restartUDPClientToolStripMenuItem.Name = "restartUDPClientToolStripMenuItem"; this.restartUDPClientToolStripMenuItem.Name = "restartUDPClientToolStripMenuItem";
this.restartUDPClientToolStripMenuItem.Size = new System.Drawing.Size(220, 22); resources.ApplyResources(this.restartUDPClientToolStripMenuItem, "restartUDPClientToolStripMenuItem");
this.restartUDPClientToolStripMenuItem.Text = "Restart UDP Client";
this.restartUDPClientToolStripMenuItem.Click += new System.EventHandler(this.restartUDPClientToolStripMenuItem_Click); this.restartUDPClientToolStripMenuItem.Click += new System.EventHandler(this.restartUDPClientToolStripMenuItem_Click);
// //
// messageTxt // messageTxt
// //
this.messageTxt.Location = new System.Drawing.Point(12, 248); resources.ApplyResources(this.messageTxt, "messageTxt");
this.messageTxt.Multiline = true;
this.messageTxt.Name = "messageTxt"; this.messageTxt.Name = "messageTxt";
this.messageTxt.Size = new System.Drawing.Size(232, 67);
this.messageTxt.TabIndex = 0;
// //
// kryptonManager2 // kryptonManager2
// //
this.kryptonManager2.GlobalPaletteMode = Krypton.Toolkit.PaletteMode.Office2010Silver; this.kryptonManager2.GlobalPaletteMode = Krypton.Toolkit.PaletteMode.Office2010Silver;
// //
// toolStripStatusLabel1
//
this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
resources.ApplyResources(this.toolStripStatusLabel1, "toolStripStatusLabel1");
this.toolStripStatusLabel1.Spring = true;
//
// Form1 // Form1
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(350, 356);
this.Controls.Add(this.kryptonPanel1); this.Controls.Add(this.kryptonPanel1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MainMenuStrip = this.menuStrip1; this.MainMenuStrip = this.menuStrip1;
this.MaximizeBox = false; this.MaximizeBox = false;
this.Name = "Form1"; this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "SamaPager Client";
this.Load += new System.EventHandler(this.Form1_Load); this.Load += new System.EventHandler(this.Form1_Load);
((System.ComponentModel.ISupportInitialize)(this.kryptonPanel1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.kryptonPanel1)).EndInit();
this.kryptonPanel1.ResumeLayout(false); this.kryptonPanel1.ResumeLayout(false);
this.kryptonPanel1.PerformLayout(); this.kryptonPanel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.cmdLst)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.kryptonPictureBox1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.kryptonPictureBox1)).EndInit();
this.kryptonStatusStrip1.ResumeLayout(false); this.kryptonStatusStrip1.ResumeLayout(false);
this.kryptonStatusStrip1.PerformLayout(); this.kryptonStatusStrip1.PerformLayout();
@@ -183,6 +189,9 @@
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem changeDestinationAddressToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem changeDestinationAddressToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem restartUDPClientToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem restartUDPClientToolStripMenuItem;
private Krypton.Toolkit.KryptonListBox logLst;
private Krypton.Toolkit.KryptonComboBox cmdLst;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
} }
} }

View File

@@ -55,9 +55,16 @@ namespace SamaPager_Client
else else
{ {
pageClient.SendMessage(messageTxt.Text); pageClient.SendMessage(messageTxt.Text);
logLst.Items.Add($"Sent: {messageTxt.Text}");
messageTxt.Text = String.Empty; messageTxt.Text = String.Empty;
} }
} }
private void cmdLst_SelectedIndexChanged(object sender, EventArgs e)
{
logLst.Items.Add(pageClient.SendCommand(cmdLst.Text));
cmdLst.Text = String.Empty;
}
} }
} }

View File

@@ -0,0 +1,157 @@
<?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>
<data name="sendBtn.Values.Text" xml:space="preserve">
<value>INVIA</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="kryptonStatusStrip1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 555</value>
</data>
<data name="kryptonStatusStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>342, 22</value>
</data>
<data name="menuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>342, 24</value>
</data>
<data name="kryptonPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>342, 577</value>
</data>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>42, 20</value>
</data>
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>Rete</value>
</data>
<data name="changeDestinationAddressToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>210, 22</value>
</data>
<data name="changeDestinationAddressToolStripMenuItem.Text" xml:space="preserve">
<value>Cambia IP di destinazione</value>
</data>
<data name="restartUDPClientToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>210, 22</value>
</data>
<data name="restartUDPClientToolStripMenuItem.Text" xml:space="preserve">
<value>Riavvia il socket UDP</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>342, 577</value>
</data>
</root>

View File

@@ -117,13 +117,316 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="cmdLst.Items" xml:space="preserve">
<value>!getDateTime</value>
</data>
<data name="cmdLst.Items1" xml:space="preserve">
<value>!getCurrentDir</value>
</data>
<data name="cmdLst.Items2" xml:space="preserve">
<value>!getCurrentUser</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="cmdLst.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 524</value>
</data>
<data name="cmdLst.Size" type="System.Drawing.Size, System.Drawing">
<value>318, 22</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="cmdLst.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;cmdLst.Name" xml:space="preserve">
<value>cmdLst</value>
</data>
<data name="&gt;&gt;cmdLst.Type" xml:space="preserve">
<value>Krypton.Toolkit.KryptonComboBox, Krypton.Toolkit, Version=95.25.8.235, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e</value>
</data>
<data name="&gt;&gt;cmdLst.Parent" xml:space="preserve">
<value>kryptonPanel1</value>
</data>
<data name="&gt;&gt;cmdLst.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="logLst.HorizontalExtent" type="System.Int32, mscorlib">
<value>4000</value>
</data>
<data name="logLst.HorizontalScrollbar" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="logLst.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 230</value>
</data>
<data name="logLst.Size" type="System.Drawing.Size, System.Drawing">
<value>318, 215</value>
</data>
<data name="logLst.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;logLst.Name" xml:space="preserve">
<value>logLst</value>
</data>
<data name="&gt;&gt;logLst.Type" xml:space="preserve">
<value>Krypton.Toolkit.KryptonListBox, Krypton.Toolkit, Version=95.25.8.235, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e</value>
</data>
<data name="&gt;&gt;logLst.Parent" xml:space="preserve">
<value>kryptonPanel1</value>
</data>
<data name="&gt;&gt;logLst.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="kryptonPictureBox1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="kryptonPictureBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>31, 38</value>
</data>
<data name="kryptonPictureBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>278, 181</value>
</data>
<data name="kryptonPictureBox1.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>AutoSize</value>
</data>
<data name="kryptonPictureBox1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;kryptonPictureBox1.Name" xml:space="preserve">
<value>kryptonPictureBox1</value>
</data>
<data name="&gt;&gt;kryptonPictureBox1.Type" xml:space="preserve">
<value>Krypton.Toolkit.KryptonPictureBox, Krypton.Toolkit, Version=95.25.8.235, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e</value>
</data>
<data name="&gt;&gt;kryptonPictureBox1.Parent" xml:space="preserve">
<value>kryptonPanel1</value>
</data>
<data name="&gt;&gt;kryptonPictureBox1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="sendBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>250, 451</value>
</data>
<data name="sendBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 67</value>
</data>
<data name="sendBtn.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="sendBtn.Values.Text" xml:space="preserve">
<value>SEND</value>
</data>
<data name="&gt;&gt;sendBtn.Name" xml:space="preserve">
<value>sendBtn</value>
</data>
<data name="&gt;&gt;sendBtn.Type" xml:space="preserve">
<value>Krypton.Toolkit.KryptonButton, Krypton.Toolkit, Version=95.25.8.235, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e</value>
</data>
<data name="&gt;&gt;sendBtn.Parent" xml:space="preserve">
<value>kryptonPanel1</value>
</data>
<data name="&gt;&gt;sendBtn.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<metadata name="kryptonStatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="kryptonStatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>165, 17</value> <value>165, 17</value>
</metadata> </metadata>
<data name="kryptonStatusStrip1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="statusTxt.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 17</value>
</data>
<data name="statusTxt.Text" xml:space="preserve">
<value>STATUS: Off</value>
</data>
<data name="toolStripStatusLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>259, 17</value>
</data>
<data name="toolStripStatusLabel1.Text" xml:space="preserve">
<value>v1.1</value>
</data>
<data name="toolStripStatusLabel1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleRight</value>
</data>
<data name="kryptonStatusStrip1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 556</value>
</data>
<data name="kryptonStatusStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>344, 22</value>
</data>
<data name="kryptonStatusStrip1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="kryptonStatusStrip1.Text" xml:space="preserve">
<value>kryptonStatusStrip1</value>
</data>
<data name="&gt;&gt;kryptonStatusStrip1.Name" xml:space="preserve">
<value>kryptonStatusStrip1</value>
</data>
<data name="&gt;&gt;kryptonStatusStrip1.Type" xml:space="preserve">
<value>Krypton.Toolkit.KryptonStatusStrip, Krypton.Toolkit, Version=95.25.8.235, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e</value>
</data>
<data name="&gt;&gt;kryptonStatusStrip1.Parent" xml:space="preserve">
<value>kryptonPanel1</value>
</data>
<data name="&gt;&gt;kryptonStatusStrip1.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>322, 17</value> <value>322, 17</value>
</metadata> </metadata>
<data name="menuStrip1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="menuStrip1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="menuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>344, 24</value>
</data>
<data name="menuStrip1.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="menuStrip1.Text" xml:space="preserve">
<value>menuStrip1</value>
</data>
<data name="&gt;&gt;menuStrip1.Name" xml:space="preserve">
<value>menuStrip1</value>
</data>
<data name="&gt;&gt;menuStrip1.Type" xml:space="preserve">
<value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;menuStrip1.Parent" xml:space="preserve">
<value>kryptonPanel1</value>
</data>
<data name="&gt;&gt;menuStrip1.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="messageTxt.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 451</value>
</data>
<data name="messageTxt.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="messageTxt.Size" type="System.Drawing.Size, System.Drawing">
<value>232, 67</value>
</data>
<data name="messageTxt.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;messageTxt.Name" xml:space="preserve">
<value>messageTxt</value>
</data>
<data name="&gt;&gt;messageTxt.Type" xml:space="preserve">
<value>Krypton.Toolkit.KryptonTextBox, Krypton.Toolkit, Version=95.25.8.235, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e</value>
</data>
<data name="&gt;&gt;messageTxt.Parent" xml:space="preserve">
<value>kryptonPanel1</value>
</data>
<data name="&gt;&gt;messageTxt.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="kryptonPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="kryptonPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="kryptonPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>344, 578</value>
</data>
<data name="kryptonPanel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;kryptonPanel1.Name" xml:space="preserve">
<value>kryptonPanel1</value>
</data>
<data name="&gt;&gt;kryptonPanel1.Type" xml:space="preserve">
<value>Krypton.Toolkit.KryptonPanel, Krypton.Toolkit, Version=95.25.8.235, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e</value>
</data>
<data name="&gt;&gt;kryptonPanel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;kryptonPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>64, 20</value>
</data>
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>Network</value>
</data>
<data name="changeDestinationAddressToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>220, 22</value>
</data>
<data name="changeDestinationAddressToolStripMenuItem.Text" xml:space="preserve">
<value>Change destination address</value>
</data>
<data name="restartUDPClientToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>220, 22</value>
</data>
<data name="restartUDPClientToolStripMenuItem.Text" xml:space="preserve">
<value>Restart UDP Client</value>
</data>
<metadata name="kryptonManager2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="kryptonManager2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>344, 578</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterScreen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>SamaPager Client</value>
</data>
<data name="&gt;&gt;statusTxt.Name" xml:space="preserve">
<value>statusTxt</value>
</data>
<data name="&gt;&gt;statusTxt.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;fileToolStripMenuItem.Name" xml:space="preserve">
<value>fileToolStripMenuItem</value>
</data>
<data name="&gt;&gt;fileToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;changeDestinationAddressToolStripMenuItem.Name" xml:space="preserve">
<value>changeDestinationAddressToolStripMenuItem</value>
</data>
<data name="&gt;&gt;changeDestinationAddressToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;restartUDPClientToolStripMenuItem.Name" xml:space="preserve">
<value>restartUDPClientToolStripMenuItem</value>
</data>
<data name="&gt;&gt;restartUDPClientToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;kryptonManager2.Name" xml:space="preserve">
<value>kryptonManager2</value>
</data>
<data name="&gt;&gt;kryptonManager2.Type" xml:space="preserve">
<value>Krypton.Toolkit.KryptonManager, Krypton.Toolkit, Version=95.25.8.235, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e</value>
</data>
<data name="&gt;&gt;toolStripStatusLabel1.Name" xml:space="preserve">
<value>toolStripStatusLabel1</value>
</data>
<data name="&gt;&gt;toolStripStatusLabel1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>Form1</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>Krypton.Toolkit.KryptonForm, Krypton.Toolkit, Version=95.25.8.235, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e</value>
</data>
</root> </root>

View File

@@ -59,8 +59,13 @@
</Compile> </Compile>
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.it-IT.resx">
<DependentUpon>Form1.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Form1.resx"> <EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon> <DependentUpon>Form1.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx"> <EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator> <Generator>ResXFileCodeGenerator</Generator>

View File

@@ -35,6 +35,8 @@
this.kryptonLabel2 = new Krypton.Toolkit.KryptonLabel(); this.kryptonLabel2 = new Krypton.Toolkit.KryptonLabel();
this.kryptonLabel1 = new Krypton.Toolkit.KryptonLabel(); this.kryptonLabel1 = new Krypton.Toolkit.KryptonLabel();
this.kryptonPictureBox1 = new Krypton.Toolkit.KryptonPictureBox(); this.kryptonPictureBox1 = new Krypton.Toolkit.KryptonPictureBox();
this.kryptonLabel4 = new Krypton.Toolkit.KryptonLabel();
this.gitLnk = new Krypton.Toolkit.KryptonLinkLabel();
((System.ComponentModel.ISupportInitialize)(this.kryptonPanel1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.kryptonPanel1)).BeginInit();
this.kryptonPanel1.SuspendLayout(); this.kryptonPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.kryptonPictureBox1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.kryptonPictureBox1)).BeginInit();
@@ -42,6 +44,8 @@
// //
// kryptonPanel1 // kryptonPanel1
// //
this.kryptonPanel1.Controls.Add(this.gitLnk);
this.kryptonPanel1.Controls.Add(this.kryptonLabel4);
this.kryptonPanel1.Controls.Add(this.kryptonLabel3); this.kryptonPanel1.Controls.Add(this.kryptonLabel3);
this.kryptonPanel1.Controls.Add(this.storkUrl); this.kryptonPanel1.Controls.Add(this.storkUrl);
this.kryptonPanel1.Controls.Add(this.kryptonLabel2); this.kryptonPanel1.Controls.Add(this.kryptonLabel2);
@@ -50,12 +54,12 @@
this.kryptonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.kryptonPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.kryptonPanel1.Location = new System.Drawing.Point(0, 0); this.kryptonPanel1.Location = new System.Drawing.Point(0, 0);
this.kryptonPanel1.Name = "kryptonPanel1"; this.kryptonPanel1.Name = "kryptonPanel1";
this.kryptonPanel1.Size = new System.Drawing.Size(982, 309); this.kryptonPanel1.Size = new System.Drawing.Size(499, 526);
this.kryptonPanel1.TabIndex = 0; this.kryptonPanel1.TabIndex = 0;
// //
// kryptonLabel3 // kryptonLabel3
// //
this.kryptonLabel3.Location = new System.Drawing.Point(12, 228); this.kryptonLabel3.Location = new System.Drawing.Point(12, 436);
this.kryptonLabel3.Name = "kryptonLabel3"; this.kryptonLabel3.Name = "kryptonLabel3";
this.kryptonLabel3.Size = new System.Drawing.Size(446, 52); this.kryptonLabel3.Size = new System.Drawing.Size(446, 52);
this.kryptonLabel3.TabIndex = 4; this.kryptonLabel3.TabIndex = 4;
@@ -63,7 +67,7 @@
// //
// storkUrl // storkUrl
// //
this.storkUrl.Location = new System.Drawing.Point(12, 283); this.storkUrl.Location = new System.Drawing.Point(12, 494);
this.storkUrl.Name = "storkUrl"; this.storkUrl.Name = "storkUrl";
this.storkUrl.Size = new System.Drawing.Size(123, 20); this.storkUrl.Size = new System.Drawing.Size(123, 20);
this.storkUrl.TabIndex = 3; this.storkUrl.TabIndex = 3;
@@ -72,7 +76,7 @@
// //
// kryptonLabel2 // kryptonLabel2
// //
this.kryptonLabel2.Location = new System.Drawing.Point(12, 47); this.kryptonLabel2.Location = new System.Drawing.Point(12, 371);
this.kryptonLabel2.Name = "kryptonLabel2"; this.kryptonLabel2.Name = "kryptonLabel2";
this.kryptonLabel2.Size = new System.Drawing.Size(400, 36); this.kryptonLabel2.Size = new System.Drawing.Size(400, 36);
this.kryptonLabel2.TabIndex = 2; this.kryptonLabel2.TabIndex = 2;
@@ -82,7 +86,7 @@
// kryptonLabel1 // kryptonLabel1
// //
this.kryptonLabel1.LabelStyle = Krypton.Toolkit.LabelStyle.TitlePanel; this.kryptonLabel1.LabelStyle = Krypton.Toolkit.LabelStyle.TitlePanel;
this.kryptonLabel1.Location = new System.Drawing.Point(12, 12); this.kryptonLabel1.Location = new System.Drawing.Point(12, 318);
this.kryptonLabel1.Name = "kryptonLabel1"; this.kryptonLabel1.Name = "kryptonLabel1";
this.kryptonLabel1.Size = new System.Drawing.Size(110, 29); this.kryptonLabel1.Size = new System.Drawing.Size(110, 29);
this.kryptonLabel1.TabIndex = 1; this.kryptonLabel1.TabIndex = 1;
@@ -91,18 +95,36 @@
// kryptonPictureBox1 // kryptonPictureBox1
// //
this.kryptonPictureBox1.Image = global::SamaPager_Server.Properties.Resources._5pagers1shalom; this.kryptonPictureBox1.Image = global::SamaPager_Server.Properties.Resources._5pagers1shalom;
this.kryptonPictureBox1.Location = new System.Drawing.Point(494, 12); this.kryptonPictureBox1.Location = new System.Drawing.Point(12, 12);
this.kryptonPictureBox1.Name = "kryptonPictureBox1"; this.kryptonPictureBox1.Name = "kryptonPictureBox1";
this.kryptonPictureBox1.Size = new System.Drawing.Size(472, 291); this.kryptonPictureBox1.Size = new System.Drawing.Size(472, 291);
this.kryptonPictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.kryptonPictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.kryptonPictureBox1.TabIndex = 0; this.kryptonPictureBox1.TabIndex = 0;
this.kryptonPictureBox1.TabStop = false; this.kryptonPictureBox1.TabStop = false;
// //
// kryptonLabel4
//
this.kryptonLabel4.LabelStyle = Krypton.Toolkit.LabelStyle.BoldPanel;
this.kryptonLabel4.Location = new System.Drawing.Point(12, 345);
this.kryptonLabel4.Name = "kryptonLabel4";
this.kryptonLabel4.Size = new System.Drawing.Size(114, 20);
this.kryptonLabel4.TabIndex = 5;
this.kryptonLabel4.Values.Text = "v1.1 (Castagnetti)";
//
// gitLnk
//
this.gitLnk.Location = new System.Drawing.Point(411, 494);
this.gitLnk.Name = "gitLnk";
this.gitLnk.Size = new System.Drawing.Size(73, 20);
this.gitLnk.TabIndex = 6;
this.gitLnk.Values.Text = "View on Git";
this.gitLnk.LinkClicked += new System.EventHandler(this.gitLnk_LinkClicked);
//
// AboutForm // AboutForm
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(982, 309); this.ClientSize = new System.Drawing.Size(499, 526);
this.Controls.Add(this.kryptonPanel1); this.Controls.Add(this.kryptonPanel1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false; this.MaximizeBox = false;
@@ -126,5 +148,7 @@
private Krypton.Toolkit.KryptonLabel kryptonLabel1; private Krypton.Toolkit.KryptonLabel kryptonLabel1;
private Krypton.Toolkit.KryptonLabel kryptonLabel3; private Krypton.Toolkit.KryptonLabel kryptonLabel3;
private Krypton.Toolkit.KryptonLinkLabel storkUrl; private Krypton.Toolkit.KryptonLinkLabel storkUrl;
private Krypton.Toolkit.KryptonLinkLabel gitLnk;
private Krypton.Toolkit.KryptonLabel kryptonLabel4;
} }
} }

View File

@@ -22,5 +22,10 @@ namespace SamaPager_Server
{ {
Process.Start("https://andrestork.moe"); Process.Start("https://andrestork.moe");
} }
private void gitLnk_LinkClicked(object sender, EventArgs e)
{
Process.Start("https://git.fiorencis.eu/AndreStork/SamaPager");
}
} }
} }

View File

@@ -72,14 +72,16 @@
this.kryptonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.kryptonPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.kryptonPanel1.Location = new System.Drawing.Point(0, 0); this.kryptonPanel1.Location = new System.Drawing.Point(0, 0);
this.kryptonPanel1.Name = "kryptonPanel1"; this.kryptonPanel1.Name = "kryptonPanel1";
this.kryptonPanel1.Size = new System.Drawing.Size(432, 389); this.kryptonPanel1.Size = new System.Drawing.Size(426, 383);
this.kryptonPanel1.TabIndex = 0; this.kryptonPanel1.TabIndex = 0;
// //
// logList // logList
// //
this.logList.HorizontalExtent = 4000;
this.logList.HorizontalScrollbar = true;
this.logList.Location = new System.Drawing.Point(12, 27); this.logList.Location = new System.Drawing.Point(12, 27);
this.logList.Name = "logList"; this.logList.Name = "logList";
this.logList.Size = new System.Drawing.Size(400, 322); this.logList.Size = new System.Drawing.Size(402, 322);
this.logList.TabIndex = 4; this.logList.TabIndex = 4;
// //
// kryptonStatusStrip1 // kryptonStatusStrip1
@@ -87,11 +89,11 @@
this.kryptonStatusStrip1.Font = new System.Drawing.Font("Segoe UI", 9F); this.kryptonStatusStrip1.Font = new System.Drawing.Font("Segoe UI", 9F);
this.kryptonStatusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.kryptonStatusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.statusLabel}); this.statusLabel});
this.kryptonStatusStrip1.Location = new System.Drawing.Point(0, 367); this.kryptonStatusStrip1.Location = new System.Drawing.Point(0, 361);
this.kryptonStatusStrip1.Name = "kryptonStatusStrip1"; this.kryptonStatusStrip1.Name = "kryptonStatusStrip1";
this.kryptonStatusStrip1.ProgressBars = null; this.kryptonStatusStrip1.ProgressBars = null;
this.kryptonStatusStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.ManagerRenderMode; this.kryptonStatusStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.ManagerRenderMode;
this.kryptonStatusStrip1.Size = new System.Drawing.Size(432, 22); this.kryptonStatusStrip1.Size = new System.Drawing.Size(426, 22);
this.kryptonStatusStrip1.TabIndex = 3; this.kryptonStatusStrip1.TabIndex = 3;
this.kryptonStatusStrip1.Text = "kryptonStatusStrip1"; this.kryptonStatusStrip1.Text = "kryptonStatusStrip1";
// //
@@ -109,7 +111,7 @@
this.helpToolStripMenuItem}); this.helpToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(432, 24); this.menuStrip1.Size = new System.Drawing.Size(426, 24);
this.menuStrip1.TabIndex = 0; this.menuStrip1.TabIndex = 0;
this.menuStrip1.Text = "menuStrip1"; this.menuStrip1.Text = "menuStrip1";
// //
@@ -160,7 +162,7 @@
// //
this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip1; this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip1;
this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon"))); this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon")));
this.notifyIcon1.Text = "notifyIcon1"; this.notifyIcon1.Text = "SamaPager Server";
this.notifyIcon1.Visible = true; this.notifyIcon1.Visible = true;
// //
// contextMenuStrip1 // contextMenuStrip1
@@ -190,7 +192,7 @@
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(432, 389); this.ClientSize = new System.Drawing.Size(426, 383);
this.Controls.Add(this.kryptonPanel1); this.Controls.Add(this.kryptonPanel1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));

View File

@@ -73,6 +73,7 @@ namespace SamaPager_Server
private void Exit() private void Exit()
{ {
srv.KillServer();
this.Stop = true; this.Stop = true;
Application.Exit(); Application.Exit();
} }

View File

@@ -5,12 +5,12 @@ using System.Runtime.InteropServices;
// Le informazioni generali relative a un assembly sono controllate dal seguente // Le informazioni generali relative a un assembly sono controllate dal seguente
// set di attributi. Modificare i valori di questi attributi per modificare le informazioni // set di attributi. Modificare i valori di questi attributi per modificare le informazioni
// associate a un assembly. // associate a un assembly.
[assembly: AssemblyTitle("SamaPager_Server")] [assembly: AssemblyTitle("SamaPager Server")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("AndreStork")]
[assembly: AssemblyProduct("SamaPager_Server")] [assembly: AssemblyProduct("SamaPager Server")]
[assembly: AssemblyCopyright("Copyright © 2025")] [assembly: AssemblyCopyright("©2025 NiggaChain AI Layer 2 Blockchain")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Numero di build // Numero di build
// Revisione // Revisione
// //
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("1.0.0.1")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.1.0.0")]

View File

@@ -40,7 +40,16 @@ namespace SamaPager_Server
IPEndPoint receiveEndPoint = ServerEndPoint; IPEndPoint receiveEndPoint = ServerEndPoint;
byte[] receivedBytes = UdpServer.Receive(ref receiveEndPoint); byte[] receivedBytes = UdpServer.Receive(ref receiveEndPoint);
string receivedMessage = Encoding.UTF8.GetString(receivedBytes); string receivedMessage = Encoding.UTF8.GetString(receivedBytes);
return $"[{DateTime.Now}] {receiveEndPoint}: {receivedMessage}"; byte[] bytesToSend;
switch (receivedMessage)
{
case "!getDateTime":
bytesToSend = Encoding.UTF8.GetBytes($"Hi, it's {DateTime.Now}");
this.UdpServer.Send(bytesToSend, bytesToSend.Length, receiveEndPoint);
return $"Time command received by {receiveEndPoint}, sent local server time";
default:
return $"[{DateTime.Now}] {receiveEndPoint}: {receivedMessage}";
}
} }
internal void KillServer() internal void KillServer()