Add project files.

This commit is contained in:
2025-11-17 10:30:31 +01:00
parent b3c15fc192
commit 0153557a17
12 changed files with 996 additions and 0 deletions

25
SSP.sln Normal file
View File

@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.14.36408.4 d17.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SSP", "SSP\SSP.csproj", "{FBEA7825-588D-4777-B5A8-13928320E7E2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FBEA7825-588D-4777-B5A8-13928320E7E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FBEA7825-588D-4777-B5A8-13928320E7E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FBEA7825-588D-4777-B5A8-13928320E7E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FBEA7825-588D-4777-B5A8-13928320E7E2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7BAE7C3A-7B1F-4980-A184-F0B73505E893}
EndGlobalSection
EndGlobal

6
SSP/App.config Normal file
View File

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

177
SSP/Form1.Designer.cs generated Normal file
View File

@@ -0,0 +1,177 @@
namespace SSP
{
partial class StenSaxPåse
{
/// <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(StenSaxPåse));
this.pbxSax = new System.Windows.Forms.PictureBox();
this.pbxPåse = new System.Windows.Forms.PictureBox();
this.pbxSten = new System.Windows.Forms.PictureBox();
this.gbxStenSaxPåse = new System.Windows.Forms.GroupBox();
this.lblResultat = new System.Windows.Forms.Label();
this.lblDatornsVal = new System.Windows.Forms.Label();
this.btnSpela = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.textBox1 = new System.Windows.Forms.TextBox();
((System.ComponentModel.ISupportInitialize)(this.pbxSax)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pbxPåse)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pbxSten)).BeginInit();
this.gbxStenSaxPåse.SuspendLayout();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// pbxSax
//
this.pbxSax.Image = ((System.Drawing.Image)(resources.GetObject("pbxSax.Image")));
this.pbxSax.Location = new System.Drawing.Point(151, 76);
this.pbxSax.Name = "pbxSax";
this.pbxSax.Size = new System.Drawing.Size(100, 50);
this.pbxSax.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pbxSax.TabIndex = 0;
this.pbxSax.TabStop = false;
this.pbxSax.Click += new System.EventHandler(this.pbxSax_Click);
//
// pbxPåse
//
this.pbxPåse.Image = ((System.Drawing.Image)(resources.GetObject("pbxPåse.Image")));
this.pbxPåse.Location = new System.Drawing.Point(257, 76);
this.pbxPåse.Name = "pbxPåse";
this.pbxPåse.Size = new System.Drawing.Size(100, 50);
this.pbxPåse.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pbxPåse.TabIndex = 1;
this.pbxPåse.TabStop = false;
this.pbxPåse.Click += new System.EventHandler(this.pbxPåse_Click);
//
// pbxSten
//
this.pbxSten.Image = ((System.Drawing.Image)(resources.GetObject("pbxSten.Image")));
this.pbxSten.Location = new System.Drawing.Point(45, 76);
this.pbxSten.Name = "pbxSten";
this.pbxSten.Size = new System.Drawing.Size(100, 50);
this.pbxSten.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pbxSten.TabIndex = 2;
this.pbxSten.TabStop = false;
this.pbxSten.Click += new System.EventHandler(this.pictureBox3_Click);
//
// gbxStenSaxPåse
//
this.gbxStenSaxPåse.Controls.Add(this.lblResultat);
this.gbxStenSaxPåse.Controls.Add(this.lblDatornsVal);
this.gbxStenSaxPåse.Controls.Add(this.pbxSten);
this.gbxStenSaxPåse.Controls.Add(this.pbxPåse);
this.gbxStenSaxPåse.Controls.Add(this.pbxSax);
this.gbxStenSaxPåse.Enabled = false;
this.gbxStenSaxPåse.Location = new System.Drawing.Point(88, 53);
this.gbxStenSaxPåse.Name = "gbxStenSaxPåse";
this.gbxStenSaxPåse.Size = new System.Drawing.Size(394, 313);
this.gbxStenSaxPåse.TabIndex = 3;
this.gbxStenSaxPåse.TabStop = false;
this.gbxStenSaxPåse.Text = "Sten, sax eller påse";
this.gbxStenSaxPåse.Enter += new System.EventHandler(this.groupBox1_Enter);
//
// lblResultat
//
this.lblResultat.AutoSize = true;
this.lblResultat.Location = new System.Drawing.Point(60, 251);
this.lblResultat.Name = "lblResultat";
this.lblResultat.Size = new System.Drawing.Size(35, 13);
this.lblResultat.TabIndex = 4;
this.lblResultat.Text = "label1";
//
// lblDatornsVal
//
this.lblDatornsVal.AutoSize = true;
this.lblDatornsVal.Location = new System.Drawing.Point(60, 221);
this.lblDatornsVal.Name = "lblDatornsVal";
this.lblDatornsVal.Size = new System.Drawing.Size(35, 13);
this.lblDatornsVal.TabIndex = 5;
this.lblDatornsVal.Text = "label2";
//
// btnSpela
//
this.btnSpela.Location = new System.Drawing.Point(542, 108);
this.btnSpela.Name = "btnSpela";
this.btnSpela.Size = new System.Drawing.Size(75, 23);
this.btnSpela.TabIndex = 6;
this.btnSpela.Text = "Spela";
this.btnSpela.UseVisualStyleBackColor = true;
this.btnSpela.Click += new System.EventHandler(this.button1_Click);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.textBox1);
this.groupBox1.Location = new System.Drawing.Point(542, 167);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(169, 165);
this.groupBox1.TabIndex = 4;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Mina Resultat";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(19, 16);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(100, 134);
this.textBox1.TabIndex = 0;
//
// StenSaxPåse
//
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.btnSpela);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.gbxStenSaxPåse);
this.Name = "StenSaxPåse";
this.Text = "StenSaxPåse";
((System.ComponentModel.ISupportInitialize)(this.pbxSax)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pbxPåse)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pbxSten)).EndInit();
this.gbxStenSaxPåse.ResumeLayout(false);
this.gbxStenSaxPåse.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.PictureBox pbxSax;
private System.Windows.Forms.PictureBox pbxPåse;
private System.Windows.Forms.PictureBox pbxSten;
private System.Windows.Forms.GroupBox gbxStenSaxPåse;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button btnSpela;
private System.Windows.Forms.Label lblResultat;
private System.Windows.Forms.Label lblDatornsVal;
private System.Windows.Forms.TextBox textBox1;
}
}

124
SSP/Form1.cs Normal file
View File

@@ -0,0 +1,124 @@
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 SSP
{
partial class StenSaxPåse : Form
{
string spelarensVal = "";
int spelarvinster = 0;
int datorvinster = 0;
Random slump = new Random();
public StenSaxPåse()
{
InitializeComponent();
}
private void Spel()
{
int datornsTal = slump.Next(1, 4);
string datornsVal = "";
switch (datornsTal)
{
case 1:
datornsVal = "Sten";
break;
case 2:
datornsVal = "Sax";
break;
case 3:
datornsVal = "Påse";
break;
default:
break;
}
lblDatornsVal.Text = "Datorns val: " + datornsVal;
if (spelarensVal == "Sten" && datornsVal == "Påse")
{
datorvinster++;
}
else if (spelarensVal == "Sten" && datornsVal == "Sax")
{
spelarvinster++;
}
else if (spelarensVal == "Sax" && datornsVal == "Sten")
{
datorvinster++;
}
else if (spelarensVal == "Sax" && datornsVal == "Påse")
{
spelarvinster++;
}
else if (spelarensVal == "Påse" && datornsVal == "Sax")
{
datorvinster++;
}
else if (spelarensVal == "Påse" && datornsVal == "Sten")
{
spelarvinster++;
}
lblResultat.Text = "Dator: " + datorvinster +
" Spelare: " + spelarvinster + "\r\n";
if (datorvinster > 2 || spelarvinster > 2)
{
gbxStenSaxPåse.Enabled = false;
btnSpela.Enabled = true;
textBox1.AppendText("Dator: " + datorvinster +
" Spelare: " + spelarvinster + "\r\n");
}
}
private void pictureBox3_Click(object sender, EventArgs e) //sten
{
spelarensVal = "Sten";
Spel();
}
private void groupBox1_Enter(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e) //btnSpela
{
btnSpela.Enabled = false;
gbxStenSaxPåse.Enabled = true;
lblDatornsVal.Text = "";
lblResultat.Text = "";
spelarvinster = 0;
datorvinster = 0;
}
private void pbxSax_Click(object sender, EventArgs e)
{
spelarensVal = "Sax";
Spel();
}
private void pbxPåse_Click(object sender, EventArgs e)
{
spelarensVal = "Påse";
Spel();
}
}
}

301
SSP/Form1.resx Normal file
View File

@@ -0,0 +1,301 @@
<?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="pbxSax.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAD
rwAAA68BGB6xfQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAtVSURBVHhe7Z1l
qO7KFYbfuntv/dZpqVxu3WgLdXe3S93doa5UqRfq3t66t9QFKlB3d3d35YFsGF5m75kkE/ly1gMv58fZ
M5l8SSazZFakIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIJiUk0o6laSzSzq5
/2ewLc4l6baSXiLpC5L+KOl/pn9I+pqkoyXdU9IR3snKuaCkh0p6m6QfSPptp+9LepOk+0o6zBttleNL
uqakF0j6ReZi1+pLku4n6cR+gBVwXElXkvTs7oL72HP6e/cQnNY72wKnkHRLSa+X9KfMyY/RryTdR9Kx
/KAzw6vqpt0s9fvMOGv1a0k39M53kcMl3U3S+yT9M3OirfWp7nUyJ2eRdPcJzvE/ku7oB9sFTifp3pI+
Kem/mRObWr+TdBUfVEOOIelCkh4l6bOZ47cUv99NfABrhUXZy7rFmp/I3GIM1/IBjoD3+ZUlPUfSDzPH
m1IsFM/oA1oTTPMv76YsH/yS+puki/pge8D7/Gbd+/wPmf7n1Kt9cGuAqZD3e+sFXUv9qKcP4ayS7iHp
/Y3f52PFWM7gg12SU0t6T2agY8TK942drXxjSZfvbGccQUdKuoyku0p6naS/ZNrvp+f54BO4iS8s6dGS
Ppdp21pfl/QkSZeVdLzOHL6apC9m/tb1YB/8UnAxau3akr4q6Yndxe1jwmFS8kMyzXufLp6eMydt997n
z+1mCP/7lvq3pI9KeoCkcydjcPB64tPw9qne6o2WgDuXVbYPrlZcDKZXrIRzeOcDOJ+kH2eO48LhdHNJ
r53hfc4r8Q2SjupmylpYtHpfqXjoFuVSkv6cGVhJuHVf0U3rJ/NOG3C2bqXsx51TzCTMKFftpvYh0I4Z
w/veEzfWYpx/wJOPU+YOkk7inU0AT7cff0phn39G0iM7nwBribEcp3ADMHMtAu/bb2cGtJ8IblzXO5kY
LgAXxMfSUvjp3y3pLpLO5ANowBUyx0z1PW8wF2/JDCYnnoonSDqhdzATuE19TGNFjAHn1g0mDjgxS34+
c/xUxFBm59aZgeSEWbZ08OK8mXEN0Z6p1tcyGQL9YwaWLAB0L288NaxgaxZXv+xs6aU5UWZsNao11VqB
yXejznuK78PHkxPmbh+Logn4vX0gLgaGdbAWanMLhppqQ8FSIYnlvQNjJS/2DqeGEGfJFYrvnzt5TXwi
M85U7xppqtVyTEmXlPT4yun9ILEOOY0fYGqelRmIC7t3bRA08XGmepg3aAiLxOt3T2vtTFQSDxl9zgrv
0lxOXqqf9QyyzMXjMmNN9SJvMBJSt3iNvL0zE/14Y4RVdWc/4BxwQj4YF2HSKWA9wY/JwvInXSCnT37c
7TJjTfUhb9ATpnZCzI+ZOHj0m85zughcAB9QKhwSrc0j0riIBPqx0HckndIb7MPlMu1T4aTqC36Na3fx
BGY+77OlWHe9asnQ7wkqQq0P9EYjYHGDtVFacD7FG+4D8XxvmwqTD5drCTJw7iTpHZL+mumntUgtIwx+
eh/I3BCD98Gl+le3WWMsrDNYkJXWGnuqfXKPXXEzlaKQuHmXyGXMieAbeyGwXnBBTz4z8HT7IFKR6DkW
PGxD4vClC7dHKW5xRW+Q4cuZdmsQDyDWV591US9KZhTJG2Ng9hiaL09ksQbSs71t336w373dmjRZ5vPH
MwdLNTbT9iGZPmv1Gu9sH7AcvG0qLm6JS2TarU2sZ5rvGyhl11zAG/SEbU/eZ61+Xhl3J3fO26aquZEw
9zDFvO3axE3QdCYopUuNjYPXeBgPEilgJbCfvV2q2nUM5q63XaN4HTRbE7DI8AOkIot1DEQNx+wfIGW7
BI4ab5cKJ1MNu3IDIEzpJnjHrhYQ13ZTjYAHewwIkfoxU73ZO8tAdM/buWqSO3bpBuD3bOJD8I5drSDX
Hz8ArwRy/feSRW+ROWYq8hNqvJClV9mu1BbgRmUbfU1EsUncwDt1TQ0bS0tOmJrkk1J6Fa7dXYKUsdJN
gAt/NN6paw5KThgyd0pQccPbpZo9vaoBpX0DeAxH45265uAZmeOmIjO3xFMz7VKxECVmz1P1fEnX6eIg
a4ZZwM8jFW710XinrjlgevbjpiKdqxTQoWCDtysJDyWrafYjrhFyCX3MqTZzA7AgLJmjl/ZGxtUzbfro
092iih99LZQejM28AqCU2/dwb2CcJ9NmiIjGkeK1dOIr039pbbSZRSA8NnPsVKXMHt7nJWuir77SFaJq
EQ6vhQvPk1+6+GgTZuAepcwe8u9KizZSyrzdVrVzjqASpG2XMpNKcf0PZ9psVdQibIJ37JoTNlH48VOV
wrpPz7TZovCONts34J275uRBmeOnwtt3EKW8AMqv8d6celfxlMJaohppM/wArjm5SOb4LtYKOfATlDZn
pKXXiCC+cGABjKXExb99cg5N8IO45oSgTykpg5281C9IIZmDLd3+t6mIPvJ3Dj4IopIUrPY2axLTPnWO
muMHcs0NCZA+Btc3uxRunD/8S8KH/42rpu4ee/teOlNaeK1Y7bPga/bOd/yArrnBodPankd90qiYYQge
4QfwfqYWbm8qqbE/gZu7ial3ED4A1xLst2NoqNiEUZNbmIMqaa/ssQ/wyd7B2vETcC0Bi7VSgketSKK8
uB9gAGQdsT+wFLNgQ8vQm20R/ARcS0EN/jG5hHv6hhWNHEtNCR1eYzuDD961JFTY8PEMEbMA71RyANhK
NpYPZo6Raqeyj0rlSyizuiRU6+pbr/Ag/bSrKUCO4lCITHq/qchN2BlKRYtqt2lPCVM4IVrPLB4jXi9s
KWNPQd+bnNJ43l+q5s6aKSmlQtdszJgLbGG+NEbVjw90SRwtTDX2DbAdvaZiGAu8UrIms9bOQLk0P4FU
1/MGK4KSNS1ugD3hf/iIpFsdsCGmFK9Ac3/DaBRUwfATSEWixhrBbcws4ONtJVyvz+xS0TBL2Txa2sSC
vusDXTt8vNBPItXHvMFKqDHHltDOOYIuljmJVCyW1vYBI6bnVh+waCkii802bc4FU2nJzLq/N1qYmqpm
iPwBCjDx5Q0Wev7/rVWzgWWV8E0eP5lUuDdLeflzwoZRH2MqUstYyKUwfha01N5p4WF0MaadcgGnlLYg
IerxrQWcOT6+VKUqGvgV+AjkkLpFOfFx6KVK5jehJpuGah1rqBRa2i7Fe7i2LjCvP27+dw6cFQgMUUOp
hXt5cR6ROUEXyRJLwyLLx5WKjKEhUCwbk7c0u6Qq7VbaKUiCqAnBYn4tCeP0MaViv9yY9QptqS5e2m6O
CC5tCj6I5CfpInhUys+fmpLVchtvMAAKNZB65n2nIql0U7DzplR0EZG2tORNUKoLyCzQYnwkYXrfqdbq
JBsF019NTh4zwVKvAz5C6eNxcQ4s7q5RWWImB4u7gzKAKLG3SZ6WOdn9xMLQ07SnhhB1n3x+vIZDCjMT
Jj7IOmDBuEk48ZpU6z1hQhIDH7P46kvpQxE5kU9Awik7a3J7BBy+7uV9pCIsvFkwt76VOemDhMcQt/Hk
Fa67eADp0z6GWrHWoVD2fvn2NR93rilht9OQNtXHLt4TOXjUIOYpJTmCEm1M230zb0qcs4GPn7UMpWRZ
NOLN48LjHKr5vHuT/flrh5ug70xwKIjF4eH+Y20VXgd91gSHgiiCfUjB9I11UGMibl04olruNdgpWBnz
USf/UQ4V8QCs7eOZs4PHkOBRTexgS+Li8x2foIPwMAWgCRX7j7U1kSS6ueBPK3CZUuH66Mqvj++ScB5R
emYO38YmwO9OdW/89fxw1PdjzUDlj9I2tDWIQBIOLYpP87GK/RxFQRAEQRAEQRAEQRAEQRAEQRAEQRAE
QRAEQRAEQRAEs/F/iPyHwNzgiaYAAAAASUVORK5CYII=
</value>
</data>
<data name="pbxPåse.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="pbxSten.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
</root>

22
SSP/Program.cs Normal file
View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SSP
{
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new StenSaxPåse());
}
}
}

View File

@@ -0,0 +1,33 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("SSP")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Gislaveds kommun")]
[assembly: AssemblyProduct("SSP")]
[assembly: AssemblyCopyright("Copyright © Gislaveds kommun 2025")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("fbea7825-588d-4777-b5a8-13928320e7e2")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

71
SSP/Properties/Resources.Designer.cs generated Normal file
View File

@@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <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 SSP.Properties
{
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[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>
/// Returns the cached ResourceManager instance used by this class.
/// </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("SSP.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

View File

@@ -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>

30
SSP/Properties/Settings.Designer.cs generated Normal file
View File

@@ -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 SSP.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;
}
}
}
}

View File

@@ -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>

83
SSP/SSP.csproj Normal file
View File

@@ -0,0 +1,83 @@
<?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>{FBEA7825-588D-4777-B5A8-13928320E7E2}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>SSP</RootNamespace>
<AssemblyName>SSP</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</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>