aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--VB.Net Projects/Kartoteka/Kartoteka.sln25
-rw-r--r--VB.Net Projects/Kartoteka/Kartoteka/ApplicationEvents.vb22
-rw-r--r--VB.Net Projects/Kartoteka/Kartoteka/Form1.Designer.vb311
-rw-r--r--VB.Net Projects/Kartoteka/Kartoteka/Form1.resx60
-rw-r--r--VB.Net Projects/Kartoteka/Kartoteka/Form1.vb95
-rw-r--r--VB.Net Projects/Kartoteka/Kartoteka/Kartoteka.vbproj37
-rw-r--r--VB.Net Projects/Kartoteka/Kartoteka/Kartoteka.vbproj.user8
-rw-r--r--VB.Net Projects/Kartoteka/Kartoteka/My Project/Application.Designer.HighDpi.vb69
-rw-r--r--VB.Net Projects/Kartoteka/Kartoteka/My Project/Application.Designer.vb38
-rw-r--r--VB.Net Projects/Kartoteka/Kartoteka/My Project/Application.myapp10
10 files changed, 675 insertions, 0 deletions
diff --git a/VB.Net Projects/Kartoteka/Kartoteka.sln b/VB.Net Projects/Kartoteka/Kartoteka.sln
new file mode 100644
index 0000000..f549801
--- /dev/null
+++ b/VB.Net Projects/Kartoteka/Kartoteka.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31005.135
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Kartoteka", "Kartoteka\Kartoteka.vbproj", "{E1BFD171-F718-448D-BCD1-99535FB78135}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {E1BFD171-F718-448D-BCD1-99535FB78135}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E1BFD171-F718-448D-BCD1-99535FB78135}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E1BFD171-F718-448D-BCD1-99535FB78135}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E1BFD171-F718-448D-BCD1-99535FB78135}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {81ADF95E-151D-4560-BCCD-16D768787ABE}
+ EndGlobalSection
+EndGlobal
diff --git a/VB.Net Projects/Kartoteka/Kartoteka/ApplicationEvents.vb b/VB.Net Projects/Kartoteka/Kartoteka/ApplicationEvents.vb
new file mode 100644
index 0000000..b892537
--- /dev/null
+++ b/VB.Net Projects/Kartoteka/Kartoteka/ApplicationEvents.vb
@@ -0,0 +1,22 @@
+Imports Microsoft.VisualBasic.ApplicationServices
+
+Namespace My
+ ' The following events are available for MyApplication:
+ ' Startup: Raised when the application starts, before the startup form is created.
+ ' Shutdown: Raised after all application forms are closed. This event is not raised if the application terminates abnormally.
+ ' UnhandledException: Raised if the application encounters an unhandled exception.
+ ' StartupNextInstance: Raised when launching a single-instance application and the application is already active.
+ ' NetworkAvailabilityChanged: Raised when the network connection is connected or disconnected.
+
+ ' **NEW** ApplyHighDpiMode: Raised when the application queries the HighDpiMode to set it for the application.
+
+ ' Example:
+
+ ' Private Sub MyApplication_ApplyHighDpiMode(sender As Object, e As ApplyHighDpiModeEventArgs) Handles Me.ApplyHighDpiMode
+ ' e.HighDpiMode = HighDpiMode.PerMonitorV2
+ ' End Sub
+
+ Partial Friend Class MyApplication
+
+ End Class
+End Namespace
diff --git a/VB.Net Projects/Kartoteka/Kartoteka/Form1.Designer.vb b/VB.Net Projects/Kartoteka/Kartoteka/Form1.Designer.vb
new file mode 100644
index 0000000..f93855b
--- /dev/null
+++ b/VB.Net Projects/Kartoteka/Kartoteka/Form1.Designer.vb
@@ -0,0 +1,311 @@
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class Form1
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ <System.Diagnostics.DebuggerNonUserCode()> _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ <System.Diagnostics.DebuggerStepThrough()>
+ Private Sub InitializeComponent()
+ Me.TabControl1 = New System.Windows.Forms.TabControl()
+ Me.TabPage1 = New System.Windows.Forms.TabPage()
+ Me.lblStatus = New System.Windows.Forms.Label()
+ Me.btnClear = New System.Windows.Forms.Button()
+ Me.btnLoad = New System.Windows.Forms.Button()
+ Me.btnInput = New System.Windows.Forms.Button()
+ Me.btnSave = New System.Windows.Forms.Button()
+ Me.dtBirth = New System.Windows.Forms.DateTimePicker()
+ Me.txtEmail = New System.Windows.Forms.TextBox()
+ Me.txtPhoneNumber = New System.Windows.Forms.TextBox()
+ Me.txtLastName = New System.Windows.Forms.TextBox()
+ Me.txtMiddleName = New System.Windows.Forms.TextBox()
+ Me.txtFirstName = New System.Windows.Forms.TextBox()
+ Me.Label6 = New System.Windows.Forms.Label()
+ Me.Label5 = New System.Windows.Forms.Label()
+ Me.Label4 = New System.Windows.Forms.Label()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.TabPage2 = New System.Windows.Forms.TabPage()
+ Me.lblPersonData = New System.Windows.Forms.Label()
+ Me.cbNames = New System.Windows.Forms.ComboBox()
+ Me.Label7 = New System.Windows.Forms.Label()
+ Me.TabControl1.SuspendLayout()
+ Me.TabPage1.SuspendLayout()
+ Me.TabPage2.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'TabControl1
+ '
+ Me.TabControl1.Controls.Add(Me.TabPage1)
+ Me.TabControl1.Controls.Add(Me.TabPage2)
+ Me.TabControl1.Location = New System.Drawing.Point(12, 12)
+ Me.TabControl1.Name = "TabControl1"
+ Me.TabControl1.SelectedIndex = 0
+ Me.TabControl1.Size = New System.Drawing.Size(448, 297)
+ Me.TabControl1.TabIndex = 0
+ '
+ 'TabPage1
+ '
+ Me.TabPage1.Controls.Add(Me.lblStatus)
+ Me.TabPage1.Controls.Add(Me.btnClear)
+ Me.TabPage1.Controls.Add(Me.btnLoad)
+ Me.TabPage1.Controls.Add(Me.btnInput)
+ Me.TabPage1.Controls.Add(Me.btnSave)
+ Me.TabPage1.Controls.Add(Me.dtBirth)
+ Me.TabPage1.Controls.Add(Me.txtEmail)
+ Me.TabPage1.Controls.Add(Me.txtPhoneNumber)
+ Me.TabPage1.Controls.Add(Me.txtLastName)
+ Me.TabPage1.Controls.Add(Me.txtMiddleName)
+ Me.TabPage1.Controls.Add(Me.txtFirstName)
+ Me.TabPage1.Controls.Add(Me.Label6)
+ Me.TabPage1.Controls.Add(Me.Label5)
+ Me.TabPage1.Controls.Add(Me.Label4)
+ Me.TabPage1.Controls.Add(Me.Label3)
+ Me.TabPage1.Controls.Add(Me.Label2)
+ Me.TabPage1.Controls.Add(Me.Label1)
+ Me.TabPage1.Location = New System.Drawing.Point(4, 24)
+ Me.TabPage1.Name = "TabPage1"
+ Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
+ Me.TabPage1.Size = New System.Drawing.Size(440, 269)
+ Me.TabPage1.TabIndex = 0
+ Me.TabPage1.Text = "Въвеждане"
+ Me.TabPage1.UseVisualStyleBackColor = True
+ '
+ 'lblStatus
+ '
+ Me.lblStatus.Location = New System.Drawing.Point(100, 206)
+ Me.lblStatus.Name = "lblStatus"
+ Me.lblStatus.Size = New System.Drawing.Size(250, 47)
+ Me.lblStatus.TabIndex = 18
+ Me.lblStatus.Text = "ERR"
+ Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
+ '
+ 'btnClear
+ '
+ Me.btnClear.Location = New System.Drawing.Point(356, 16)
+ Me.btnClear.Name = "btnClear"
+ Me.btnClear.Size = New System.Drawing.Size(72, 47)
+ Me.btnClear.TabIndex = 17
+ Me.btnClear.Text = "Изчисти"
+ Me.btnClear.UseVisualStyleBackColor = True
+ '
+ 'btnLoad
+ '
+ Me.btnLoad.Location = New System.Drawing.Point(356, 153)
+ Me.btnLoad.Name = "btnLoad"
+ Me.btnLoad.Size = New System.Drawing.Size(72, 47)
+ Me.btnLoad.TabIndex = 16
+ Me.btnLoad.Text = "Зареди файл"
+ Me.btnLoad.UseVisualStyleBackColor = True
+ '
+ 'btnInput
+ '
+ Me.btnInput.Location = New System.Drawing.Point(22, 206)
+ Me.btnInput.Name = "btnInput"
+ Me.btnInput.Size = New System.Drawing.Size(72, 47)
+ Me.btnInput.TabIndex = 15
+ Me.btnInput.Text = "Въведи"
+ Me.btnInput.UseVisualStyleBackColor = True
+ '
+ 'btnSave
+ '
+ Me.btnSave.Location = New System.Drawing.Point(356, 206)
+ Me.btnSave.Name = "btnSave"
+ Me.btnSave.Size = New System.Drawing.Size(72, 47)
+ Me.btnSave.TabIndex = 14
+ Me.btnSave.Text = "Запази файл"
+ Me.btnSave.UseVisualStyleBackColor = True
+ '
+ 'dtBirth
+ '
+ Me.dtBirth.Location = New System.Drawing.Point(129, 162)
+ Me.dtBirth.Name = "dtBirth"
+ Me.dtBirth.Size = New System.Drawing.Size(197, 23)
+ Me.dtBirth.TabIndex = 11
+ '
+ 'txtEmail
+ '
+ Me.txtEmail.Location = New System.Drawing.Point(98, 133)
+ Me.txtEmail.Name = "txtEmail"
+ Me.txtEmail.Size = New System.Drawing.Size(228, 23)
+ Me.txtEmail.TabIndex = 10
+ '
+ 'txtPhoneNumber
+ '
+ Me.txtPhoneNumber.Location = New System.Drawing.Point(98, 104)
+ Me.txtPhoneNumber.Name = "txtPhoneNumber"
+ Me.txtPhoneNumber.Size = New System.Drawing.Size(228, 23)
+ Me.txtPhoneNumber.TabIndex = 9
+ '
+ 'txtLastName
+ '
+ Me.txtLastName.Location = New System.Drawing.Point(98, 75)
+ Me.txtLastName.Name = "txtLastName"
+ Me.txtLastName.Size = New System.Drawing.Size(228, 23)
+ Me.txtLastName.TabIndex = 8
+ '
+ 'txtMiddleName
+ '
+ Me.txtMiddleName.Location = New System.Drawing.Point(98, 46)
+ Me.txtMiddleName.Name = "txtMiddleName"
+ Me.txtMiddleName.Size = New System.Drawing.Size(228, 23)
+ Me.txtMiddleName.TabIndex = 7
+ '
+ 'txtFirstName
+ '
+ Me.txtFirstName.Location = New System.Drawing.Point(98, 16)
+ Me.txtFirstName.Name = "txtFirstName"
+ Me.txtFirstName.Size = New System.Drawing.Size(228, 23)
+ Me.txtFirstName.TabIndex = 6
+ '
+ 'Label6
+ '
+ Me.Label6.AutoSize = True
+ Me.Label6.Location = New System.Drawing.Point(22, 168)
+ Me.Label6.Name = "Label6"
+ Me.Label6.Size = New System.Drawing.Size(101, 15)
+ Me.Label6.TabIndex = 5
+ Me.Label6.Text = "Дата на раждане:"
+ '
+ 'Label5
+ '
+ Me.Label5.AutoSize = True
+ Me.Label5.Location = New System.Drawing.Point(22, 136)
+ Me.Label5.Name = "Label5"
+ Me.Label5.Size = New System.Drawing.Size(44, 15)
+ Me.Label5.TabIndex = 4
+ Me.Label5.Text = "E-mail:"
+ '
+ 'Label4
+ '
+ Me.Label4.AutoSize = True
+ Me.Label4.Location = New System.Drawing.Point(22, 107)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(59, 15)
+ Me.Label4.TabIndex = 3
+ Me.Label4.Text = "Телефон:"
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Location = New System.Drawing.Point(22, 78)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(61, 15)
+ Me.Label3.TabIndex = 2
+ Me.Label3.Text = "Фамилия:"
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Location = New System.Drawing.Point(22, 49)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(59, 15)
+ Me.Label2.TabIndex = 1
+ Me.Label2.Text = "Презиме:"
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Location = New System.Drawing.Point(22, 19)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(34, 15)
+ Me.Label1.TabIndex = 0
+ Me.Label1.Text = "Име:"
+ '
+ 'TabPage2
+ '
+ Me.TabPage2.Controls.Add(Me.lblPersonData)
+ Me.TabPage2.Controls.Add(Me.cbNames)
+ Me.TabPage2.Controls.Add(Me.Label7)
+ Me.TabPage2.Location = New System.Drawing.Point(4, 24)
+ Me.TabPage2.Name = "TabPage2"
+ Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
+ Me.TabPage2.Size = New System.Drawing.Size(440, 269)
+ Me.TabPage2.TabIndex = 1
+ Me.TabPage2.Text = "Справки"
+ Me.TabPage2.UseVisualStyleBackColor = True
+ '
+ 'lblPersonData
+ '
+ Me.lblPersonData.AutoSize = True
+ Me.lblPersonData.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point)
+ Me.lblPersonData.Location = New System.Drawing.Point(12, 77)
+ Me.lblPersonData.Name = "lblPersonData"
+ Me.lblPersonData.Size = New System.Drawing.Size(128, 21)
+ Me.lblPersonData.TabIndex = 19
+ Me.lblPersonData.Text = "Информация за:"
+ '
+ 'cbNames
+ '
+ Me.cbNames.FormattingEnabled = True
+ Me.cbNames.Location = New System.Drawing.Point(52, 11)
+ Me.cbNames.Name = "cbNames"
+ Me.cbNames.Size = New System.Drawing.Size(375, 23)
+ Me.cbNames.TabIndex = 1
+ '
+ 'Label7
+ '
+ Me.Label7.AutoSize = True
+ Me.Label7.Location = New System.Drawing.Point(12, 14)
+ Me.Label7.Name = "Label7"
+ Me.Label7.Size = New System.Drawing.Size(34, 15)
+ Me.Label7.TabIndex = 0
+ Me.Label7.Text = "Име:"
+ '
+ 'Form1
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(472, 321)
+ Me.Controls.Add(Me.TabControl1)
+ Me.Name = "Form1"
+ Me.Text = "Картотека"
+ Me.TabControl1.ResumeLayout(False)
+ Me.TabPage1.ResumeLayout(False)
+ Me.TabPage1.PerformLayout()
+ Me.TabPage2.ResumeLayout(False)
+ Me.TabPage2.PerformLayout()
+ Me.ResumeLayout(False)
+
+ End Sub
+
+ Friend WithEvents TabControl1 As TabControl
+ Friend WithEvents TabPage1 As TabPage
+ Friend WithEvents TabPage2 As TabPage
+ Friend WithEvents txtEmail As TextBox
+ Friend WithEvents txtPhoneNumber As TextBox
+ Friend WithEvents txtLastName As TextBox
+ Friend WithEvents txtMiddleName As TextBox
+ Friend WithEvents txtFirstName As TextBox
+ Friend WithEvents Label6 As Label
+ Friend WithEvents Label5 As Label
+ Friend WithEvents Label4 As Label
+ Friend WithEvents Label3 As Label
+ Friend WithEvents Label2 As Label
+ Friend WithEvents Label1 As Label
+ Friend WithEvents dtBirth As DateTimePicker
+ Friend WithEvents btnClear As Button
+ Friend WithEvents btnLoad As Button
+ Friend WithEvents btnInput As Button
+ Friend WithEvents btnSave As Button
+ Friend WithEvents cbNames As ComboBox
+ Friend WithEvents Label7 As Label
+ Friend WithEvents lblStatus As Label
+ Friend WithEvents lblPersonData As Label
+End Class
diff --git a/VB.Net Projects/Kartoteka/Kartoteka/Form1.resx b/VB.Net Projects/Kartoteka/Kartoteka/Form1.resx
new file mode 100644
index 0000000..b5ae26c
--- /dev/null
+++ b/VB.Net Projects/Kartoteka/Kartoteka/Form1.resx
@@ -0,0 +1,60 @@
+<root>
+ <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> \ No newline at end of file
diff --git a/VB.Net Projects/Kartoteka/Kartoteka/Form1.vb b/VB.Net Projects/Kartoteka/Kartoteka/Form1.vb
new file mode 100644
index 0000000..be6fc4a
--- /dev/null
+++ b/VB.Net Projects/Kartoteka/Kartoteka/Form1.vb
@@ -0,0 +1,95 @@
+Imports Newtonsoft.Json
+
+Public Class Form1
+ ' The "C:\" directory is protected, only administrator priviledges can write to it,
+ ' so instead I save the file to the desktop (of the current user)
+ ReadOnly filePath As String = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\Desktop\data.json"
+
+ ReadOnly people As List(Of Person) = New List(Of Person)
+
+ Private Sub btnInput_Click(sender As Object, e As EventArgs) Handles btnInput.Click
+ Dim newPerson = New Person(txtFirstName.Text, txtMiddleName.Text, txtLastName.Text, txtPhoneNumber.Text, txtEmail.Text, dtBirth.Value)
+
+ people.Add(newPerson)
+ cbNames.Items.Add($"{people.Count() - 1} || {newPerson.GetFullName()}")
+
+ changeStatus("Въведено!")
+ End Sub
+
+ Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click, MyBase.Load
+ txtFirstName.ResetText()
+ txtMiddleName.ResetText()
+ txtLastName.ResetText()
+ txtPhoneNumber.ResetText()
+ txtEmail.ResetText()
+ dtBirth.Value = Date.Now
+ changeStatus(String.Empty)
+ End Sub
+
+ Private Sub resetReportTab(sender As Object, e As EventArgs) Handles MyBase.Load
+ cbNames.Items.Clear()
+ cbNames.ResetText()
+ lblPersonData.Text = "Изберете потребител!"
+ End Sub
+
+ Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
+ FileOpen(1, filePath, OpenMode.Output)
+
+ ' Json Serialization, as it's an easier and a more universal way to serialize data
+ Print(1, JsonConvert.SerializeObject(people))
+
+ FileClose(1)
+ changeStatus("Данните са запазени във файла успешно!")
+ End Sub
+
+ Private Sub btnLoad_Click(sender As Object, e As EventArgs) Handles btnLoad.Click
+ FileOpen(1, filePath, OpenMode.Input)
+
+ people.Clear()
+ people.AddRange(JsonConvert.DeserializeObject(LineInput(1), GetType(List(Of Person))))
+
+ resetReportTab(sender, e)
+ cbNames.Items.AddRange(people.Select(Function(p, i) $"{i} || {p.GetFullName()}").ToArray())
+
+ FileClose(1)
+ changeStatus("Данните са заредени от файла успешно!")
+ End Sub
+
+ Private Sub cbNames_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbNames.SelectedIndexChanged
+ lblPersonData.Text = $"Информация за:{Environment.NewLine}{Environment.NewLine}" + people(cbNames.SelectedIndex).ToString()
+ End Sub
+
+ Private Sub changeStatus(message As String)
+ lblStatus.ForeColor = Color.Green
+ lblStatus.Text = message
+ End Sub
+End Class
+
+Public Class Person
+ Public FirstName As String
+ Public MiddleName As String
+ Public LastName As String
+ Public PhoneNumber As String
+ Public Email As String
+ Public BirthDay As Date
+
+ Public Sub New(firstName As String, middleName As String, lastName As String, phoneNumber As String, email As String, birthDay As Date)
+ Me.FirstName = firstName
+ Me.MiddleName = middleName
+ Me.LastName = lastName
+ Me.PhoneNumber = phoneNumber
+ Me.Email = email
+ Me.BirthDay = birthDay
+ End Sub
+
+ Public Function GetFullName()
+ Return $"{Me.FirstName} {Me.MiddleName} {Me.LastName}"
+ End Function
+
+ Public Overrides Function ToString() As String
+ Return $"Имена: {Me.FirstName} {Me.MiddleName} {Me.LastName}{Environment.NewLine}" +
+ $"Телефон: {Me.PhoneNumber}{Environment.NewLine}" +
+ $"E-mail: {Me.Email}{Environment.NewLine}" +
+ $"Рожденна дата: {Me.BirthDay}{Environment.NewLine}"
+ End Function
+End Class \ No newline at end of file
diff --git a/VB.Net Projects/Kartoteka/Kartoteka/Kartoteka.vbproj b/VB.Net Projects/Kartoteka/Kartoteka/Kartoteka.vbproj
new file mode 100644
index 0000000..a23f100
--- /dev/null
+++ b/VB.Net Projects/Kartoteka/Kartoteka/Kartoteka.vbproj
@@ -0,0 +1,37 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <OutputType>WinExe</OutputType>
+ <TargetFramework>net5.0-windows</TargetFramework>
+ <RootNamespace>Kartoteka</RootNamespace>
+ <StartupObject>Sub Main</StartupObject>
+ <UseWindowsForms>true</UseWindowsForms>
+ <MyType>WindowsForms</MyType>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <Import Include="System.Data" />
+ <Import Include="System.Drawing" />
+ <Import Include="System.Windows.Forms" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <Compile Update="My Project\Application.Designer.vb">
+ <DesignTime>True</DesignTime>
+ <AutoGen>True</AutoGen>
+ <DependentUpon>Application.myapp</DependentUpon>
+ </Compile>
+ </ItemGroup>
+
+ <ItemGroup>
+ <None Update="My Project\Application.myapp">
+ <Generator>MyApplicationCodeGenerator</Generator>
+ <LastGenOutput>Application.Designer.vb</LastGenOutput>
+ </None>
+ </ItemGroup>
+
+</Project> \ No newline at end of file
diff --git a/VB.Net Projects/Kartoteka/Kartoteka/Kartoteka.vbproj.user b/VB.Net Projects/Kartoteka/Kartoteka/Kartoteka.vbproj.user
new file mode 100644
index 0000000..2cfee94
--- /dev/null
+++ b/VB.Net Projects/Kartoteka/Kartoteka/Kartoteka.vbproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Compile Update="Form1.vb">
+ <SubType>Form</SubType>
+ </Compile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/VB.Net Projects/Kartoteka/Kartoteka/My Project/Application.Designer.HighDpi.vb b/VB.Net Projects/Kartoteka/Kartoteka/My Project/Application.Designer.HighDpi.vb
new file mode 100644
index 0000000..a3576c4
--- /dev/null
+++ b/VB.Net Projects/Kartoteka/Kartoteka/My Project/Application.Designer.HighDpi.vb
@@ -0,0 +1,69 @@
+Option Strict On
+Option Explicit On
+
+'This constant indicates whether the Application Framework is in use.
+#Const APPLICATION_FRAMEWORK = True
+
+#If APPLICATION_FRAMEWORK Then
+
+#If NET5_0 And Not NET6_0 Then
+
+Imports System.Collections.ObjectModel
+
+Namespace My
+
+ Partial Friend Class MyApplication
+
+ Public Event ApplyHighDpiMode(sender As Object, e As ApplyHighDpiModeEventArgs)
+
+ Private _highDpiMode As HighDpiMode?
+
+ Friend Shadows Property HighDpiMode As HighDpiMode
+ Get
+ Return If(
+ _highDpiMode Is Nothing,
+ Application.HighDpiMode,
+ _highDpiMode.Value)
+ End Get
+ Set(value As HighDpiMode)
+ _highDpiMode = value
+ End Set
+ End Property
+
+ ' IMPORTANT:
+ ' If this method causes an compilation error after you've unchecked 'Application Framework'
+ ' in the project properties, go to the top of this file and change the value to 'False' in this line:
+ ' #Const APPLICATION_FRAMEWORK = False
+
+ ' For more about using WinForms without the Application Framework
+ ' see: https://aka.ms/visualbasic-appframework-net5
+ Protected Overrides Function OnInitialize(commandLineArgs As ReadOnlyCollection(Of String)) As Boolean
+ Dim eventArgs = New ApplyHighDpiModeEventArgs(
+ If(
+ _highDpiMode Is Nothing,
+ HighDpiMode.SystemAware,
+ _highDpiMode.Value))
+
+ RaiseEvent ApplyHighDpiMode(Me, eventArgs)
+
+ Windows.Forms.Application.SetHighDpiMode(eventArgs.HighDpiMode)
+
+ Return MyBase.OnInitialize(commandLineArgs)
+ End Function
+ End Class
+
+ Public Class ApplyHighDpiModeEventArgs
+ Inherits EventArgs
+
+ Public Sub New(highDpiMode As HighDpiMode)
+ Me.HighDpiMode = highDpiMode
+ End Sub
+
+ Public Property HighDpiMode As HighDpiMode
+
+ End Class
+
+End Namespace
+
+#End If ' #If NET5_0 And Not NET6_0
+#End If ' #If APPLICATION_FRAMEWORK
diff --git a/VB.Net Projects/Kartoteka/Kartoteka/My Project/Application.Designer.vb b/VB.Net Projects/Kartoteka/Kartoteka/My Project/Application.Designer.vb
new file mode 100644
index 0000000..8b8d4fc
--- /dev/null
+++ b/VB.Net Projects/Kartoteka/Kartoteka/My Project/Application.Designer.vb
@@ -0,0 +1,38 @@
+'------------------------------------------------------------------------------
+' <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>
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ 'NOTE: This file is auto-generated; do not modify it directly. To make changes,
+ ' or if you encounter build errors in this file, go to the Project Designer
+ ' (go to Project Properties or double-click the My Project node in
+ ' Solution Explorer), and make changes on the Application tab.
+ '
+ Partial Friend Class MyApplication
+
+ <Global.System.Diagnostics.DebuggerStepThroughAttribute()>
+ Public Sub New()
+ MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
+ Me.IsSingleInstance = False
+ Me.EnableVisualStyles = True
+ Me.SaveMySettingsOnExit = True
+ Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
+ End Sub
+
+ <Global.System.Diagnostics.DebuggerStepThroughAttribute()>
+ Protected Overrides Sub OnCreateMainForm()
+ Me.MainForm = Form1
+ End Sub
+ End Class
+End Namespace
diff --git a/VB.Net Projects/Kartoteka/Kartoteka/My Project/Application.myapp b/VB.Net Projects/Kartoteka/Kartoteka/My Project/Application.myapp
new file mode 100644
index 0000000..fbb5858
--- /dev/null
+++ b/VB.Net Projects/Kartoteka/Kartoteka/My Project/Application.myapp
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <MySubMain>true</MySubMain>
+ <MainForm>Form1</MainForm>
+ <SingleInstance>false</SingleInstance>
+ <ShutdownMode>0</ShutdownMode>
+ <EnableVisualStyles>true</EnableVisualStyles>
+ <AuthenticationMode>0</AuthenticationMode>
+ <SaveMySettingsOnExit>true</SaveMySettingsOnExit>
+</MyApplicationData> \ No newline at end of file