Projektdateien hinzufügen.

This commit is contained in:
BuildTools 2024-01-18 18:10:27 +01:00
parent 176212b9d6
commit 838d5a110d
33 changed files with 2585 additions and 0 deletions

20
FWCreateCalendar.sln Normal file
View File

@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "FWCreateCalendar", "FWCreateCalendar\FWCreateCalendar.vbproj", "{48878F92-E7DC-4EAE-A468-97A7F66FDBE6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{48878F92-E7DC-4EAE-A468-97A7F66FDBE6}.Debug|x86.ActiveCfg = Debug|x86
{48878F92-E7DC-4EAE-A468-97A7F66FDBE6}.Debug|x86.Build.0 = Debug|x86
{48878F92-E7DC-4EAE-A468-97A7F66FDBE6}.Release|x86.ActiveCfg = Release|x86
{48878F92-E7DC-4EAE-A468-97A7F66FDBE6}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,14 @@
Public Class General
Shared _settings As Settings
Public Shared ReadOnly Property Settings As Settings
Get
If _settings Is Nothing Then
_settings = New Settings
End If
Return _settings
End Get
End Property
End Class

View File

@ -0,0 +1,28 @@
Imports DevExpress.XtraEditors
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
Public Class GridFunctions
Public Shared Function CreateFormatRule(ByRef grdv As GridView, Column As String, ApplyToRow As Boolean, Condition As DevExpress.XtraEditors.FormatCondition, value1 As Object, Optional value2 As Object = Nothing, Optional backcolor As Color = Nothing, Optional fontstyle As FontStyle = Nothing) As GridFormatRule
Dim rule As New GridFormatRule
rule.Column = grdv.Columns(Column)
rule.ApplyToRow = ApplyToRow
rule.Rule = New FormatConditionRuleValue With {
.Condition = Condition,
.Value1 = value1,
.Value2 = value2
}
If backcolor <> Nothing Then rule.RuleCast(Of FormatConditionRuleValue).Appearance.BackColor = backcolor
If fontstyle <> Nothing Then rule.RuleCast(Of FormatConditionRuleValue).Appearance.FontStyleDelta = fontstyle
Return rule
End Function
Public Shared Sub EndGridEdit(grdv As DevExpress.XtraGrid.Views.Grid.GridView)
If grdv.FocusedRowHandle <> DevExpress.XtraGrid.GridControl.NewItemRowHandle Then
grdv.CloseEditor()
grdv.UpdateCurrentRow()
End If
End Sub
End Class

View File

@ -0,0 +1,27 @@
Imports Newtonsoft.Json
Public Class Settings
Public Property Categories As List(Of Category)
Public Sub New()
Load()
End Sub
Private Sub Load()
If My.Settings.CategoryList IsNot Nothing AndAlso My.Settings.CategoryList.Trim.Length > 0 Then
Try
Categories = JsonConvert.DeserializeObject(Of List(Of Category))(My.Settings.CategoryList)
Catch ex As Exception
Categories = New List(Of Category)
End Try
Else
Categories = New List(Of Category)
End If
End Sub
Public Sub Save()
My.Settings.CategoryList = JsonConvert.SerializeObject(Categories)
My.Settings.Save()
End Sub
End Class

View File

@ -0,0 +1,258 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{48878F92-E7DC-4EAE-A468-97A7F66FDBE6}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>FWCreateCalendar.My.MyApplication</StartupObject>
<RootNamespace>FWCreateCalendar</RootNamespace>
<AssemblyName>FWCreateCalendar</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>FWCreateCalendar.xml</DocumentationFile>
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</NoWarn>
<WarningsAsErrors>
</WarningsAsErrors>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>FWCreateCalendar.xml</DocumentationFile>
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</NoWarn>
<WarningsAsErrors>
</WarningsAsErrors>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.DataAccess.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataAccess.v23.2.UI, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.DataVisualization.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Dialogs.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Office.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.RichEdit.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Spreadsheet.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v23.2.UI, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Charts.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraCharts.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraDialogs.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraNavBar.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraRichEdit.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraScheduler.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v23.2.Core.Desktop, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraScheduler.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraScheduler.v23.2.Extensions, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Images.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraSpreadsheet.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraTreeList.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraTreeMap.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="Objects\clsCalEvent.vb" />
<Compile Include="Objects\clsCategory.vb" />
<Compile Include="Objects\clsEventEntry.vb" />
<Compile Include="Classes\clsGlobal.vb" />
<Compile Include="Classes\clsGridFunctions.vb" />
<Compile Include="Classes\clsSettings.vb" />
<Compile Include="Objects\clsTableHeader.vb" />
<Compile Include="frmCategoryEdit.Designer.vb">
<DependentUpon>frmCategoryEdit.vb</DependentUpon>
</Compile>
<Compile Include="frmCategoryEdit.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmMain.Designer.vb">
<DependentUpon>frmMain.vb</DependentUpon>
</Compile>
<Compile Include="frmMain.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="frmCategoryEdit.resx">
<DependentUpon>frmCategoryEdit.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmMain.resx">
<DependentUpon>frmMain.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\licenses.licx" />
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="Feuerwehr 2019.xlsx" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.6.1">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.6.1 %28x86 und x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="Resources\open.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\save.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\viewsettings.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\exportfile.svg" />
</ItemGroup>
<ItemGroup>
<COMReference Include="Microsoft.Office.Core">
<Guid>{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>8</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
<COMReference Include="Microsoft.Office.Interop.Excel">
<Guid>{00020813-0000-0000-C000-000000000046}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>9</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
<COMReference Include="VBIDE">
<Guid>{0002E157-0000-0000-C000-000000000046}</Guid>
<VersionMajor>5</VersionMajor>
<VersionMinor>3</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -0,0 +1,231 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{48878F92-E7DC-4EAE-A468-97A7F66FDBE6}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>FWCreateCalendar.My.MyApplication</StartupObject>
<RootNamespace>FWCreateCalendar</RootNamespace>
<AssemblyName>FWCreateCalendar</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>FWCreateCalendar.xml</DocumentationFile>
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</NoWarn>
<WarningsAsErrors>
</WarningsAsErrors>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>FWCreateCalendar.xml</DocumentationFile>
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</NoWarn>
<WarningsAsErrors>
</WarningsAsErrors>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Drawing.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.DataAccess.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataAccess.v22.1.UI, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.DataVisualization.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Dialogs.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Office.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Printing.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.Desktop.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.RichEdit.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Spreadsheet.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v22.1.UI, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraBars.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Charts.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraCharts.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraDialogs.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraGrid.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraNavBar.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraPrinting.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraRichEdit.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraScheduler.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v22.1.Core.Desktop, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraScheduler.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraScheduler.v22.1.Extensions, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraSpreadsheet.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraTreeList.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraTreeMap.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="Objects\clsCalEvent.vb" />
<Compile Include="Objects\clsCategory.vb" />
<Compile Include="Objects\clsEventEntry.vb" />
<Compile Include="Classes\clsGlobal.vb" />
<Compile Include="Classes\clsGridFunctions.vb" />
<Compile Include="Classes\clsSettings.vb" />
<Compile Include="Objects\clsTableHeader.vb" />
<Compile Include="frmCategoryEdit.Designer.vb">
<DependentUpon>frmCategoryEdit.vb</DependentUpon>
</Compile>
<Compile Include="frmCategoryEdit.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmMain.Designer.vb">
<DependentUpon>frmMain.vb</DependentUpon>
</Compile>
<Compile Include="frmMain.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="frmCategoryEdit.resx">
<DependentUpon>frmCategoryEdit.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmMain.resx">
<DependentUpon>frmMain.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\licenses.licx" />
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="Feuerwehr 2019.xlsx" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.6.1">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.6.1 %28x86 und x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="Resources\open.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\save.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\viewsettings.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\exportfile.svg" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Binary file not shown.

View File

@ -0,0 +1,38 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.42000
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
'HINWEIS: Diese Datei wird automatisch generiert und darf nicht direkt bearbeitet werden. Wenn Sie Änderungen vornehmen möchten
' oder in dieser Datei Buildfehler auftreten, wechseln Sie zum Projekt-Designer.
' (Wechseln Sie dazu zu den Projekteigenschaften, oder doppelklicken Sie auf den Knoten "Mein Projekt" im
' Projektmappen-Explorer). Nehmen Sie auf der Registerkarte "Anwendung" entsprechende Änderungen vor.
'
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 = Global.FWCreateCalendar.frmMain
End Sub
End Class
End Namespace

View File

@ -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>frmMain</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

View File

@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' Allgemeine Informationen über eine Assembly werden über die folgenden
' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
' die mit einer Assembly verknüpft sind.
' Die Werte der Assemblyattribute überprüfen
<Assembly: AssemblyTitle("FWCreateCalendar")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("FWCreateCalendar")>
<Assembly: AssemblyCopyright("Copyright © 2014")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
<Assembly: Guid("696e8bf1-319f-4eed-b697-baa6f7f0d8c3")>
' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
'
' Hauptversion
' Nebenversion
' Buildnummer
' Revision
'
' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

View File

@ -0,0 +1,103 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.42000
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
'-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
'''<summary>
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("FWCreateCalendar.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''</summary>
Friend ReadOnly Property exportfile() As DevExpress.Utils.Svg.SvgImage
Get
Dim obj As Object = ResourceManager.GetObject("exportfile", resourceCulture)
Return CType(obj,DevExpress.Utils.Svg.SvgImage)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''</summary>
Friend ReadOnly Property open() As DevExpress.Utils.Svg.SvgImage
Get
Dim obj As Object = ResourceManager.GetObject("open", resourceCulture)
Return CType(obj,DevExpress.Utils.Svg.SvgImage)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''</summary>
Friend ReadOnly Property save() As DevExpress.Utils.Svg.SvgImage
Get
Dim obj As Object = ResourceManager.GetObject("save", resourceCulture)
Return CType(obj,DevExpress.Utils.Svg.SvgImage)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''</summary>
Friend ReadOnly Property viewsettings() As DevExpress.Utils.Svg.SvgImage
Get
Dim obj As Object = ResourceManager.GetObject("viewsettings", resourceCulture)
Return CType(obj,DevExpress.Utils.Svg.SvgImage)
End Get
End Property
End Module
End Namespace

View File

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="viewsettings" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\viewsettings.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="save" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\save.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="open" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\open.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="exportfile" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\exportfile.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
</root>

View File

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="viewsettings" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\viewsettings.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="save" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\save.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="open" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\open.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="exportfile" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\exportfile.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
</root>

View File

@ -0,0 +1,97 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.42000
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
#Region "Automatische My.Settings-Speicherfunktion"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property CategoryList() As String
Get
Return CType(Me("CategoryList"),String)
End Get
Set
Me("CategoryList") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("2")> _
Public Property EndDateCalculationHoursToAdd() As Integer
Get
Return CType(Me("EndDateCalculationHoursToAdd"),Integer)
End Get
Set
Me("EndDateCalculationHoursToAdd") = value
End Set
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.FWCreateCalendar.My.MySettings
Get
Return Global.FWCreateCalendar.My.MySettings.Default
End Get
End Property
End Module
End Namespace

View File

@ -0,0 +1,12 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
<Profiles />
<Settings>
<Setting Name="CategoryList" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="EndDateCalculationHoursToAdd" Type="System.Int32" Scope="User">
<Value Profile="(Default)">2</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@ -0,0 +1,5 @@
DevExpress.XtraScheduler.SchedulerControl, DevExpress.XtraScheduler.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraSpreadsheet.SpreadsheetControl, DevExpress.XtraSpreadsheet.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@ -0,0 +1,5 @@
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraSpreadsheet.SpreadsheetControl, DevExpress.XtraSpreadsheet.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraScheduler.SchedulerControl, DevExpress.XtraScheduler.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@ -0,0 +1,105 @@
Public Class CalEvent
Dim varTitle As String
Public Location As String
Public Organizer As User
Dim varStartDate, varStopDate As DateTime
Dim UID As String
Dim Busy As Boolean = True
Public Categories As New List(Of String)
Dim StartDateSet, StopDateSet, StartTimeSet, StopTimeSet As Boolean
Public Sub New(creator As User)
UID = Format(DateTime.Now, "yyyyMMdd-HHmmssffff") & "@" & creator.EMail.Split(CChar("@"))(1)
setStartDate(Now.Year, Now.Month, Now.Day)
End Sub
Public Function getVEvent() As String
If StartTimeSet = False Then StopTimeSet = False
If StopDateSet = False Then
setStopDate(varStartDate.Year, varStartDate.Month, varStartDate.Day)
End If
If StartTimeSet And StopTimeSet = False Then
setStopTime(DateAdd(DateInterval.Hour, 3, varStartDate))
End If
getVEvent = "BEGIN:VEVENT" & vbCrLf
getVEvent &= "UID:" & UID & vbCrLf
getVEvent &= "DTSTAMP:" & Format(DateTime.UtcNow, "yyyyMMdd""T""HHmmss") & vbCrLf
If Organizer IsNot Nothing Then getVEvent &= "ORGANIZER:" & Organizer.QualifiedName & vbCrLf
If StartTimeSet = False Then
getVEvent &= "DTSTART;VALUE=DATE:" & Format(varStartDate, "yyyyMMdd") & vbCrLf
getVEvent &= "DTEND;VALUE=DATE:" & Format(varStopDate, "yyyyMMdd") & vbCrLf
Else
getVEvent &= "DTSTART:" & Format(varStartDate, "yyyyMMdd""T""HHmmss") & vbCrLf
getVEvent &= "DTEND:" & Format(varStopDate, "yyyyMMdd""T""HHmmss") & vbCrLf
End If
getVEvent &= "SUMMARY:" & varTitle & vbCrLf
Dim catstring As String = Nothing
For Each itm As String In Categories
catstring &= itm & ","
Next
catstring = catstring.Remove(catstring.LastIndexOf(","))
getVEvent &= "CATEGORIES:" & catstring & vbCrLf
getVEvent &= "END:VEVENT"
End Function
Public Property Title As String
Get
Return varTitle
End Get
Set(value As String)
varTitle = value.Replace("\", "\\").Replace(";", "\;").Replace(",", "\,")
End Set
End Property
Public Sub setStartDate(year As Integer, month As Integer, day As Integer)
varStartDate = New Date(year, month, day, varStartDate.Hour, varStartDate.Minute, varStartDate.Second)
StartDateSet = True
End Sub
Public Sub setStopDate(year As Integer, month As Integer, day As Integer)
varStopDate = New Date(year, month, day, varStopDate.Hour, varStopDate.Minute, varStopDate.Second)
StopDateSet = True
End Sub
Public Sub setStartTime(hour As Integer, minute As Integer, second As Integer)
varStartDate = New Date(varStartDate.Year, varStartDate.Month, varStartDate.Day, hour, minute, second)
StartTimeSet = True
End Sub
Public Sub setStopTime(hour As Integer, minute As Integer, second As Integer)
varStopDate = New Date(varStopDate.Year, varStopDate.Month, varStopDate.Day, hour, minute, second)
StopTimeSet = True
End Sub
Public Sub setStopTime(time As Date)
varStopDate = time
StopTimeSet = True
End Sub
End Class
Public Class User
Public Name, EMail As String
Public Sub New(varName As String, varMail As String)
Name = varName
EMail = varMail
End Sub
Public Function QualifiedName() As String
QualifiedName = "CN=" & Name & ":MAILTO:" & EMail
End Function
End Class

View File

@ -0,0 +1,19 @@
Imports Newtonsoft.Json
<Serializable>
Public Class Category
Public Property Key As String
Public Property Text As String
Public Property Color As Color
Public Property Exclude As Boolean
Public Sub New()
End Sub
Public Sub New(Key As String, Text As String, Color As Color)
Me.Key = Key
Me.Text = Text
Me.Color = Color
End Sub
End Class

View File

@ -0,0 +1,14 @@
Public Class EventEntry
Public Property StartDate As Date = New Date(1900, 1, 1)
Public Property EndDate As Date = New Date(1900, 1, 1)
Public Property AllDay As Boolean
Public Property Category As String
Public Property Subject As String
Public Property Location As String
Public Property Status As String
Public Property IsInvalid As Boolean
Public Property Exclude As Boolean
Public Property RowIndex As Integer
End Class

View File

@ -0,0 +1,8 @@
Public Class TableHeader
Public Property FieldName As String
Public Property ColumnIndex As Integer
Public Sub New(fieldname As String)
Me.FieldName = fieldname
ColumnIndex = -1
End Sub
End Class

View File

@ -0,0 +1,11 @@
<?xml version='1.0' encoding='UTF-8'?>
<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer_1" style="enable-background:new 0 0 32 32">
<style type="text/css">
.Black{fill:#727272;}
.Green{fill:#039C23;}
</style>
<g id="Export">
<path d="M10,12H6V6h4V12z M22,12v6v9c0,0.6-0.4,1-1,1H1c-0.6,0-1-0.4-1-1V7c0-0.6,0.4-1,1-1h3v8h14v-2H22z M18,18H4 v6h14V18z" class="Black" />
<polygon points="16,10 24,10 24,14 32,8 24,2 24,6 16,6 " class="Green" />
</g>
</svg>

View File

@ -0,0 +1,11 @@
<?xml version='1.0' encoding='UTF-8'?>
<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Open" style="enable-background:new 0 0 32 32">
<style type="text/css">
.Yellow{fill:#FFB115;}
.st0{opacity:0.75;}
</style>
<g class="st0">
<path d="M2.2,25.2l5.5-12c0.3-0.7,1-1.2,1.8-1.2H26V9c0-0.6-0.4-1-1-1H12V5c0-0.6-0.4-1-1-1H3C2.4,4,2,4.4,2,5v20 c0,0.2,0,0.3,0.1,0.4C2.1,25.3,2.2,25.3,2.2,25.2z" class="Yellow" />
</g>
<path d="M31.3,14H9.6L4,26h21.8c0.5,0,1.1-0.3,1.3-0.7L32,14.7C32.1,14.3,31.8,14,31.3,14z" class="Yellow" />
</svg>

View File

@ -0,0 +1,16 @@
<?xml version='1.0' encoding='UTF-8'?>
<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer_1" style="enable-background:new 0 0 32 32">
<style type="text/css">
.Black{fill:#737374;}
.Yellow{fill:#FCB01B;}
.Green{fill:#129C49;}
.Blue{fill:#387CB7;}
.Red{fill:#D02127;}
.White{fill:#FFFFFF;}
.st0{opacity:0.5;}
.st1{opacity:0.75;}
.st2{opacity:0.25;}
.st3{display:none;fill:#737374;}
</style>
<path d="M27,4h-3v10H8V4H5C4.4,4,4,4.4,4,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V5C28,4.4,27.6,4,27,4z M24,24H8v-6 h16V24z M10,4v8h10V4H10z M14,10h-2V6h2V10z" class="Black" />
</svg>

View File

@ -0,0 +1,17 @@
<?xml version='1.0' encoding='UTF-8'?>
<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer_1" style="enable-background:new 0 0 32 32">
<style type="text/css">
.Red{fill:#D11C1C;}
.Black{fill:#727272;}
.Blue{fill:#1177D7;}
.Green{fill:#039C23;}
.Yellow{fill:#FFB115;}
.White{fill:#FFFFFF;}
.st0{opacity:0.5;}
.st1{opacity:0.75;}
.st2{opacity:0.25;}
</style>
<g id="ViewSettings_1_">
<path d="M32,9V7l-2.5-0.6C29.4,6,29.2,5.6,29,5.2l1.5-2.1l-1.6-1.6L26.8,3c-0.4-0.2-0.8-0.4-1.2-0.5L25,0h-2 l-0.6,2.5C22,2.6,21.6,2.8,21.2,3l-2-1.5l-1.7,1.7l1.5,2c-0.2,0.4-0.4,0.8-0.5,1.2L16,7v2l2.5,0.6c0.1,0.4,0.3,0.8,0.5,1.2 l-1.5,2.1l1.6,1.6l2.1-1.5c0.4,0.2,0.8,0.4,1.2,0.5L23,16h2l0.6-2.5c0.4-0.1,0.8-0.3,1.2-0.5l2.1,1.5l1.6-1.6L29,10.8 c0.2-0.4,0.4-0.8,0.5-1.2L32,9z M24,10c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2s2,0.9,2,2C26,9.1,25.1,10,24,10z M18,21 c0-0.3,0-0.6-0.1-0.8l2.1-1.8l-0.8-1.9l-2.7,0.2c-0.3-0.4-0.7-0.8-1.2-1.2l0.2-2.7L13.6,12l-1.8,2.1C11.6,14,11.3,14,11,14 s-0.6,0-0.8,0.1L8.4,12l-1.9,0.8l0.2,2.7c-0.4,0.3-0.8,0.7-1.2,1.2l-2.7-0.2L2,18.4l2.1,1.8C4,20.4,4,20.7,4,21s0,0.6,0.1,0.8 L2,23.6l0.8,1.9l2.7-0.2c0.3,0.4,0.7,0.8,1.2,1.2l-0.2,2.7L8.4,30l1.8-2.1c0.3,0,0.5,0.1,0.8,0.1s0.6,0,0.8-0.1l1.8,2.1l1.9-0.8 l-0.2-2.7c0.4-0.3,0.8-0.7,1.2-1.2l2.7,0.2l0.8-1.9l-2.1-1.8C18,21.6,18,21.3,18,21z M11,24c-1.7,0-3-1.3-3-3s1.3-3,3-3s3,1.3,3,3 S12.7,24,11,24z" class="Black" />
</g>
</svg>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="FWCreateCalendar.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<system.diagnostics>
<sources>
<!-- Dieser Abschnitt definiert die Protokollierungskonfiguration für My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information"/>
</switches>
<sharedListeners>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben und APPLICATION_NAME durch den Namen der Anwendung ersetzen, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup><userSettings>
<FWCreateCalendar.My.MySettings>
<setting name="CategoryList" serializeAs="String">
<value />
</setting>
<setting name="EndDateCalculationHoursToAdd" serializeAs="String">
<value>2</value>
</setting>
</FWCreateCalendar.My.MySettings>
</userSettings>
</configuration>

View File

@ -0,0 +1,110 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmCategoryEdit
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<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
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.rcMain = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.btnSave = New DevExpress.XtraBars.BarButtonItem()
Me.rpMain = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.rpgGeneral = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.grd = New DevExpress.XtraGrid.GridControl()
Me.grdv = New DevExpress.XtraGrid.Views.Grid.GridView()
CType(Me.rcMain, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.grd, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.grdv, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'rcMain
'
Me.rcMain.DrawGroupCaptions = DevExpress.Utils.DefaultBoolean.[False]
Me.rcMain.ExpandCollapseItem.Id = 0
Me.rcMain.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.rcMain.ExpandCollapseItem, Me.btnSave, Me.rcMain.SearchEditItem})
Me.rcMain.Location = New System.Drawing.Point(0, 0)
Me.rcMain.MaxItemId = 3
Me.rcMain.Name = "rcMain"
Me.rcMain.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.rpMain})
Me.rcMain.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.rcMain.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.ShowOnMultiplePages
Me.rcMain.Size = New System.Drawing.Size(800, 79)
Me.rcMain.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden
'
'btnSave
'
Me.btnSave.Caption = "Speichern u. schließen"
Me.btnSave.Id = 1
Me.btnSave.ImageOptions.SvgImage = Global.FWCreateCalendar.My.Resources.Resources.save
Me.btnSave.Name = "btnSave"
'
'rpMain
'
Me.rpMain.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.rpgGeneral})
Me.rpMain.Name = "rpMain"
Me.rpMain.Text = "Allgemein"
'
'rpgGeneral
'
Me.rpgGeneral.ItemLinks.Add(Me.btnSave)
Me.rpgGeneral.Name = "rpgGeneral"
Me.rpgGeneral.Text = "Allgemein"
'
'grd
'
Me.grd.Dock = System.Windows.Forms.DockStyle.Fill
Me.grd.Location = New System.Drawing.Point(0, 79)
Me.grd.MainView = Me.grdv
Me.grd.MenuManager = Me.rcMain
Me.grd.Name = "grd"
Me.grd.Size = New System.Drawing.Size(800, 371)
Me.grd.TabIndex = 1
Me.grd.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.grdv})
'
'grdv
'
Me.grdv.GridControl = Me.grd
Me.grdv.Name = "grdv"
Me.grdv.OptionsView.ShowGroupPanel = False
Me.grdv.OptionsView.ShowIndicator = False
'
'frmCategoryEdit
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.grd)
Me.Controls.Add(Me.rcMain)
Me.Name = "frmCategoryEdit"
Me.Text = "Kategorien bearbeiten"
CType(Me.rcMain, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.grd, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.grdv, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents rcMain As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents btnSave As DevExpress.XtraBars.BarButtonItem
Friend WithEvents rpMain As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents rpgGeneral As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents grd As DevExpress.XtraGrid.GridControl
Friend WithEvents grdv As DevExpress.XtraGrid.Views.Grid.GridView
End Class

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,25 @@
Public Class frmCategoryEdit
Private Sub frmCategoryEdit_Load(sender As Object, e As EventArgs) Handles MyBase.Load
prepare()
End Sub
Private Sub prepare()
grd.DataSource = General.Settings.Categories
With grdv
.PopulateColumns()
.Columns(NameOf(Category.Key)).OptionsColumn.AllowEdit = False
.Columns(NameOf(Category.Key)).Caption = "Kürzel"
.Columns(NameOf(Category.Text)).Caption = "Bezeichnung"
.Columns(NameOf(Category.Color)).Caption = "Farbe"
.Columns(NameOf(Category.Exclude)).Caption = "Auf Kalender ausschließen"
End With
End Sub
Private Sub btnSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnSave.ItemClick
GridFunctions.EndGridEdit(grdv)
General.Settings.Save()
DialogResult = DialogResult.OK
End Sub
End Class

520
FWCreateCalendar/frmMain.Designer.vb generated Normal file
View File

@ -0,0 +1,520 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmMain
Inherits DevExpress.XtraBars.FluentDesignSystem.FluentDesignForm
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<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
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim TimeRuler1 As DevExpress.XtraScheduler.TimeRuler = New DevExpress.XtraScheduler.TimeRuler()
Dim TimeRuler2 As DevExpress.XtraScheduler.TimeRuler = New DevExpress.XtraScheduler.TimeRuler()
Dim TimeRuler3 As DevExpress.XtraScheduler.TimeRuler = New DevExpress.XtraScheduler.TimeRuler()
Me.grd = New DevExpress.XtraGrid.GridControl()
Me.grdv = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.ridtpStartEndDate = New DevExpress.XtraEditors.Repository.RepositoryItemDateEdit()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.btnOpenFile = New DevExpress.XtraBars.BarButtonItem()
Me.btnCategories = New DevExpress.XtraBars.BarButtonItem()
Me.btnExport = New DevExpress.XtraBars.BarButtonItem()
Me.SwitchToDayViewItem1 = New DevExpress.XtraScheduler.UI.SwitchToDayViewItem()
Me.SwitchToWorkWeekViewItem1 = New DevExpress.XtraScheduler.UI.SwitchToWorkWeekViewItem()
Me.SwitchToWeekViewItem1 = New DevExpress.XtraScheduler.UI.SwitchToWeekViewItem()
Me.SwitchToFullWeekViewItem1 = New DevExpress.XtraScheduler.UI.SwitchToFullWeekViewItem()
Me.SwitchToMonthViewItem1 = New DevExpress.XtraScheduler.UI.SwitchToMonthViewItem()
Me.SwitchToTimelineViewItem1 = New DevExpress.XtraScheduler.UI.SwitchToTimelineViewItem()
Me.SwitchToGanttViewItem1 = New DevExpress.XtraScheduler.UI.SwitchToGanttViewItem()
Me.SwitchToAgendaViewItem1 = New DevExpress.XtraScheduler.UI.SwitchToAgendaViewItem()
Me.SwitchToYearViewItem1 = New DevExpress.XtraScheduler.UI.SwitchToYearViewItem()
Me.SwitchTimeScalesItem1 = New DevExpress.XtraScheduler.UI.SwitchTimeScalesItem()
Me.ChangeScaleWidthItem1 = New DevExpress.XtraScheduler.UI.ChangeScaleWidthItem()
Me.RepositoryItemSpinEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemSpinEdit()
Me.SwitchTimeScalesCaptionItem1 = New DevExpress.XtraScheduler.UI.SwitchTimeScalesCaptionItem()
Me.SwitchCompressWeekendItem1 = New DevExpress.XtraScheduler.UI.SwitchCompressWeekendItem()
Me.SwitchShowWorkTimeOnlyItem1 = New DevExpress.XtraScheduler.UI.SwitchShowWorkTimeOnlyItem()
Me.SwitchCellsAutoHeightItem1 = New DevExpress.XtraScheduler.UI.SwitchCellsAutoHeightItem()
Me.ChangeSnapToCellsUIItem1 = New DevExpress.XtraScheduler.UI.ChangeSnapToCellsUIItem()
Me.rpMain = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.rpgGeneral = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.ViewRibbonPage1 = New DevExpress.XtraScheduler.UI.ViewRibbonPage()
Me.ActiveViewRibbonPageGroup1 = New DevExpress.XtraScheduler.UI.ActiveViewRibbonPageGroup()
Me.TimeScaleRibbonPageGroup1 = New DevExpress.XtraScheduler.UI.TimeScaleRibbonPageGroup()
Me.LayoutRibbonPageGroup1 = New DevExpress.XtraScheduler.UI.LayoutRibbonPageGroup()
Me.OFD = New System.Windows.Forms.OpenFileDialog()
Me.tcMain = New DevExpress.XtraTab.XtraTabControl()
Me.tpGrid = New DevExpress.XtraTab.XtraTabPage()
Me.tpCalendar = New DevExpress.XtraTab.XtraTabPage()
Me.sched = New DevExpress.XtraScheduler.SchedulerControl()
Me.schedStorage = New DevExpress.XtraScheduler.SchedulerDataStorage(Me.components)
Me.SFD = New System.Windows.Forms.SaveFileDialog()
Me.splMain = New DevExpress.XtraEditors.SplitContainerControl()
Me.xlsSheet = New DevExpress.XtraSpreadsheet.SpreadsheetControl()
Me.SchedulerBarController1 = New DevExpress.XtraScheduler.UI.SchedulerBarController(Me.components)
Me.FluentDesignFormContainer1 = New DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormContainer()
Me.FluentDesignFormControl1 = New DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl()
CType(Me.grd, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.grdv, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ridtpStartEndDate, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ridtpStartEndDate.CalendarTimeProperties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemSpinEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.tcMain, System.ComponentModel.ISupportInitialize).BeginInit()
Me.tcMain.SuspendLayout()
Me.tpGrid.SuspendLayout()
Me.tpCalendar.SuspendLayout()
CType(Me.sched, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.schedStorage, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.splMain, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.splMain.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.splMain.Panel1.SuspendLayout()
CType(Me.splMain.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.splMain.Panel2.SuspendLayout()
Me.splMain.SuspendLayout()
CType(Me.SchedulerBarController1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.FluentDesignFormControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'grd
'
Me.grd.Dock = System.Windows.Forms.DockStyle.Fill
Me.grd.Location = New System.Drawing.Point(0, 0)
Me.grd.MainView = Me.grdv
Me.grd.Name = "grd"
Me.grd.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.ridtpStartEndDate})
Me.grd.Size = New System.Drawing.Size(650, 517)
Me.grd.TabIndex = 0
Me.grd.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.grdv})
'
'grdv
'
Me.grdv.GridControl = Me.grd
Me.grdv.Name = "grdv"
'
'ridtpStartEndDate
'
Me.ridtpStartEndDate.AutoHeight = False
Me.ridtpStartEndDate.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.ridtpStartEndDate.CalendarTimeProperties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.ridtpStartEndDate.DisplayFormat.FormatString = "g"
Me.ridtpStartEndDate.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime
Me.ridtpStartEndDate.EditFormat.FormatString = "g"
Me.ridtpStartEndDate.EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime
Me.ridtpStartEndDate.MaskSettings.Set("mask", "g")
Me.ridtpStartEndDate.Name = "ridtpStartEndDate"
'
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.btnOpenFile, Me.btnCategories, Me.btnExport, Me.SwitchToDayViewItem1, Me.SwitchToWorkWeekViewItem1, Me.SwitchToWeekViewItem1, Me.SwitchToFullWeekViewItem1, Me.SwitchToMonthViewItem1, Me.SwitchToTimelineViewItem1, Me.SwitchToGanttViewItem1, Me.SwitchToAgendaViewItem1, Me.SwitchToYearViewItem1, Me.SwitchTimeScalesItem1, Me.ChangeScaleWidthItem1, Me.SwitchTimeScalesCaptionItem1, Me.SwitchCompressWeekendItem1, Me.SwitchShowWorkTimeOnlyItem1, Me.SwitchCellsAutoHeightItem1, Me.ChangeSnapToCellsUIItem1})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 31)
Me.RibbonControl1.MaxItemId = 20
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.rpMain, Me.ViewRibbonPage1})
Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemSpinEdit1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.ShowOnMultiplePages
Me.RibbonControl1.Size = New System.Drawing.Size(1062, 126)
Me.RibbonControl1.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden
'
'btnOpenFile
'
Me.btnOpenFile.Caption = "Exceldatei öffnen..."
Me.btnOpenFile.Id = 1
Me.btnOpenFile.ImageOptions.SvgImage = Global.FWCreateCalendar.My.Resources.Resources.open
Me.btnOpenFile.Name = "btnOpenFile"
'
'btnCategories
'
Me.btnCategories.Caption = "Kategorien bearbeiten..."
Me.btnCategories.Id = 2
Me.btnCategories.ImageOptions.SvgImage = Global.FWCreateCalendar.My.Resources.Resources.viewsettings
Me.btnCategories.Name = "btnCategories"
Me.btnCategories.RibbonStyle = CType(((DevExpress.XtraBars.Ribbon.RibbonItemStyles.Large Or DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText) _
Or DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithoutText), DevExpress.XtraBars.Ribbon.RibbonItemStyles)
'
'btnExport
'
Me.btnExport.Caption = "Exportieren..."
Me.btnExport.Id = 3
Me.btnExport.ImageOptions.SvgImage = Global.FWCreateCalendar.My.Resources.Resources.exportfile
Me.btnExport.Name = "btnExport"
'
'SwitchToDayViewItem1
'
Me.SwitchToDayViewItem1.Id = 4
Me.SwitchToDayViewItem1.Name = "SwitchToDayViewItem1"
'
'SwitchToWorkWeekViewItem1
'
Me.SwitchToWorkWeekViewItem1.Id = 5
Me.SwitchToWorkWeekViewItem1.Name = "SwitchToWorkWeekViewItem1"
'
'SwitchToWeekViewItem1
'
Me.SwitchToWeekViewItem1.Id = 6
Me.SwitchToWeekViewItem1.Name = "SwitchToWeekViewItem1"
'
'SwitchToFullWeekViewItem1
'
Me.SwitchToFullWeekViewItem1.Id = 7
Me.SwitchToFullWeekViewItem1.Name = "SwitchToFullWeekViewItem1"
'
'SwitchToMonthViewItem1
'
Me.SwitchToMonthViewItem1.Id = 8
Me.SwitchToMonthViewItem1.Name = "SwitchToMonthViewItem1"
'
'SwitchToTimelineViewItem1
'
Me.SwitchToTimelineViewItem1.Id = 9
Me.SwitchToTimelineViewItem1.Name = "SwitchToTimelineViewItem1"
'
'SwitchToGanttViewItem1
'
Me.SwitchToGanttViewItem1.Id = 10
Me.SwitchToGanttViewItem1.Name = "SwitchToGanttViewItem1"
'
'SwitchToAgendaViewItem1
'
Me.SwitchToAgendaViewItem1.Id = 11
Me.SwitchToAgendaViewItem1.Name = "SwitchToAgendaViewItem1"
'
'SwitchToYearViewItem1
'
Me.SwitchToYearViewItem1.Id = 12
Me.SwitchToYearViewItem1.Name = "SwitchToYearViewItem1"
'
'SwitchTimeScalesItem1
'
Me.SwitchTimeScalesItem1.Id = 13
Me.SwitchTimeScalesItem1.Name = "SwitchTimeScalesItem1"
'
'ChangeScaleWidthItem1
'
Me.ChangeScaleWidthItem1.Edit = Me.RepositoryItemSpinEdit1
Me.ChangeScaleWidthItem1.Id = 14
Me.ChangeScaleWidthItem1.Name = "ChangeScaleWidthItem1"
Me.ChangeScaleWidthItem1.UseCommandCaption = True
'
'RepositoryItemSpinEdit1
'
Me.RepositoryItemSpinEdit1.AutoHeight = False
Me.RepositoryItemSpinEdit1.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.RepositoryItemSpinEdit1.EditValueChangedFiringMode = DevExpress.XtraEditors.Controls.EditValueChangedFiringMode.[Default]
Me.RepositoryItemSpinEdit1.MaxValue = New Decimal(New Integer() {200, 0, 0, 0})
Me.RepositoryItemSpinEdit1.MinValue = New Decimal(New Integer() {10, 0, 0, 0})
Me.RepositoryItemSpinEdit1.Name = "RepositoryItemSpinEdit1"
'
'SwitchTimeScalesCaptionItem1
'
Me.SwitchTimeScalesCaptionItem1.Id = 15
Me.SwitchTimeScalesCaptionItem1.Name = "SwitchTimeScalesCaptionItem1"
'
'SwitchCompressWeekendItem1
'
Me.SwitchCompressWeekendItem1.Id = 16
Me.SwitchCompressWeekendItem1.Name = "SwitchCompressWeekendItem1"
'
'SwitchShowWorkTimeOnlyItem1
'
Me.SwitchShowWorkTimeOnlyItem1.Id = 17
Me.SwitchShowWorkTimeOnlyItem1.Name = "SwitchShowWorkTimeOnlyItem1"
'
'SwitchCellsAutoHeightItem1
'
Me.SwitchCellsAutoHeightItem1.Id = 18
Me.SwitchCellsAutoHeightItem1.Name = "SwitchCellsAutoHeightItem1"
'
'ChangeSnapToCellsUIItem1
'
Me.ChangeSnapToCellsUIItem1.Id = 19
Me.ChangeSnapToCellsUIItem1.Name = "ChangeSnapToCellsUIItem1"
'
'rpMain
'
Me.rpMain.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.rpgGeneral})
Me.rpMain.Name = "rpMain"
Me.rpMain.Text = "Allgemein"
'
'rpgGeneral
'
Me.rpgGeneral.ItemLinks.Add(Me.btnOpenFile)
Me.rpgGeneral.ItemLinks.Add(Me.btnCategories)
Me.rpgGeneral.ItemLinks.Add(Me.btnExport)
Me.rpgGeneral.Name = "rpgGeneral"
Me.rpgGeneral.Text = "Allgemein"
'
'ViewRibbonPage1
'
Me.ViewRibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.ActiveViewRibbonPageGroup1, Me.TimeScaleRibbonPageGroup1, Me.LayoutRibbonPageGroup1})
Me.ViewRibbonPage1.Name = "ViewRibbonPage1"
'
'ActiveViewRibbonPageGroup1
'
Me.ActiveViewRibbonPageGroup1.CaptionButtonVisible = DevExpress.Utils.DefaultBoolean.[False]
Me.ActiveViewRibbonPageGroup1.ItemLinks.Add(Me.SwitchToDayViewItem1)
Me.ActiveViewRibbonPageGroup1.ItemLinks.Add(Me.SwitchToWorkWeekViewItem1)
Me.ActiveViewRibbonPageGroup1.ItemLinks.Add(Me.SwitchToWeekViewItem1)
Me.ActiveViewRibbonPageGroup1.ItemLinks.Add(Me.SwitchToFullWeekViewItem1)
Me.ActiveViewRibbonPageGroup1.ItemLinks.Add(Me.SwitchToMonthViewItem1)
Me.ActiveViewRibbonPageGroup1.ItemLinks.Add(Me.SwitchToTimelineViewItem1)
Me.ActiveViewRibbonPageGroup1.ItemLinks.Add(Me.SwitchToGanttViewItem1)
Me.ActiveViewRibbonPageGroup1.ItemLinks.Add(Me.SwitchToAgendaViewItem1)
Me.ActiveViewRibbonPageGroup1.ItemLinks.Add(Me.SwitchToYearViewItem1)
Me.ActiveViewRibbonPageGroup1.Name = "ActiveViewRibbonPageGroup1"
'
'TimeScaleRibbonPageGroup1
'
Me.TimeScaleRibbonPageGroup1.CaptionButtonVisible = DevExpress.Utils.DefaultBoolean.[False]
Me.TimeScaleRibbonPageGroup1.ItemLinks.Add(Me.SwitchTimeScalesItem1)
Me.TimeScaleRibbonPageGroup1.ItemLinks.Add(Me.ChangeScaleWidthItem1)
Me.TimeScaleRibbonPageGroup1.ItemLinks.Add(Me.SwitchTimeScalesCaptionItem1)
Me.TimeScaleRibbonPageGroup1.Name = "TimeScaleRibbonPageGroup1"
'
'LayoutRibbonPageGroup1
'
Me.LayoutRibbonPageGroup1.CaptionButtonVisible = DevExpress.Utils.DefaultBoolean.[False]
Me.LayoutRibbonPageGroup1.ItemLinks.Add(Me.SwitchCompressWeekendItem1)
Me.LayoutRibbonPageGroup1.ItemLinks.Add(Me.SwitchShowWorkTimeOnlyItem1)
Me.LayoutRibbonPageGroup1.ItemLinks.Add(Me.SwitchCellsAutoHeightItem1)
Me.LayoutRibbonPageGroup1.ItemLinks.Add(Me.ChangeSnapToCellsUIItem1)
Me.LayoutRibbonPageGroup1.Name = "LayoutRibbonPageGroup1"
'
'OFD
'
Me.OFD.Filter = "Excel-Dateien (*.xls, *.xlsx, *.xlsm)|*.xlsx;*.xls;*.xlsm|Alle Dateien (*.*)|*.*"
'
'tcMain
'
Me.tcMain.Dock = System.Windows.Forms.DockStyle.Fill
Me.tcMain.Location = New System.Drawing.Point(0, 0)
Me.tcMain.Name = "tcMain"
Me.tcMain.SelectedTabPage = Me.tpGrid
Me.tcMain.Size = New System.Drawing.Size(652, 542)
Me.tcMain.TabIndex = 2
Me.tcMain.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.tpGrid, Me.tpCalendar})
'
'tpGrid
'
Me.tpGrid.Controls.Add(Me.grd)
Me.tpGrid.Name = "tpGrid"
Me.tpGrid.Size = New System.Drawing.Size(650, 517)
Me.tpGrid.Text = "Tabelle"
'
'tpCalendar
'
Me.tpCalendar.Controls.Add(Me.sched)
Me.tpCalendar.Name = "tpCalendar"
Me.tpCalendar.Size = New System.Drawing.Size(650, 521)
Me.tpCalendar.Text = "Kalender"
'
'sched
'
Me.sched.ActiveViewType = DevExpress.XtraScheduler.SchedulerViewType.Year
Me.sched.DataStorage = Me.schedStorage
Me.sched.Dock = System.Windows.Forms.DockStyle.Fill
Me.sched.Location = New System.Drawing.Point(0, 0)
Me.sched.MenuManager = Me.RibbonControl1
Me.sched.Name = "sched"
Me.sched.Size = New System.Drawing.Size(650, 521)
Me.sched.Start = New Date(2021, 12, 27, 0, 0, 0, 0)
Me.sched.TabIndex = 0
Me.sched.Text = "SchedulerControl1"
Me.sched.Views.DayView.TimeRulers.Add(TimeRuler1)
Me.sched.Views.FullWeekView.Enabled = True
Me.sched.Views.FullWeekView.TimeRulers.Add(TimeRuler2)
Me.sched.Views.WeekView.Enabled = False
Me.sched.Views.WorkWeekView.TimeRulers.Add(TimeRuler3)
Me.sched.Views.YearView.UseOptimizedScrolling = False
'
'schedStorage
'
'
'
'
Me.schedStorage.AppointmentDependencies.AutoReload = False
'
'
'
Me.schedStorage.Appointments.Labels.CreateNewLabel(0, "Keine", "&Keine", System.Drawing.SystemColors.Window)
Me.schedStorage.Appointments.Labels.CreateNewLabel(1, "Wichtig", "W&ichtig", System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(194, Byte), Integer), CType(CType(190, Byte), Integer)))
Me.schedStorage.Appointments.Labels.CreateNewLabel(2, "Geschäftlich", "&Geschäftlich", System.Drawing.Color.FromArgb(CType(CType(168, Byte), Integer), CType(CType(213, Byte), Integer), CType(CType(255, Byte), Integer)))
Me.schedStorage.Appointments.Labels.CreateNewLabel(3, "Persönliche", "&Privat", System.Drawing.Color.FromArgb(CType(CType(193, Byte), Integer), CType(CType(244, Byte), Integer), CType(CType(156, Byte), Integer)))
Me.schedStorage.Appointments.Labels.CreateNewLabel(4, "Urlaub", "&Urlaub", System.Drawing.Color.FromArgb(CType(CType(243, Byte), Integer), CType(CType(228, Byte), Integer), CType(CType(199, Byte), Integer)))
Me.schedStorage.Appointments.Labels.CreateNewLabel(5, "Teilnahme erforderlich", "Teiln&ahme erforderlich", System.Drawing.Color.FromArgb(CType(CType(244, Byte), Integer), CType(CType(206, Byte), Integer), CType(CType(147, Byte), Integer)))
Me.schedStorage.Appointments.Labels.CreateNewLabel(6, "Anreise einplanen", "&Anreise notwendig", System.Drawing.Color.FromArgb(CType(CType(199, Byte), Integer), CType(CType(244, Byte), Integer), CType(CType(255, Byte), Integer)))
Me.schedStorage.Appointments.Labels.CreateNewLabel(7, "Vorbereitung notwendig", "Vorbereitung &notwendig", System.Drawing.Color.FromArgb(CType(CType(207, Byte), Integer), CType(CType(219, Byte), Integer), CType(CType(152, Byte), Integer)))
Me.schedStorage.Appointments.Labels.CreateNewLabel(8, "Geburtstag", "Ge&burtstag", System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(207, Byte), Integer), CType(CType(233, Byte), Integer)))
Me.schedStorage.Appointments.Labels.CreateNewLabel(9, "Jahrestag", "J&ahrestag", System.Drawing.Color.FromArgb(CType(CType(141, Byte), Integer), CType(CType(233, Byte), Integer), CType(CType(223, Byte), Integer)))
Me.schedStorage.Appointments.Labels.CreateNewLabel(10, "Telefonanruf", "&Telefonanruf", System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(247, Byte), Integer), CType(CType(165, Byte), Integer)))
'
'SFD
'
Me.SFD.Filter = "iCalendar (*.ics)|*.ics|Alle Dateien (*.*)|*.*"
'
'splMain
'
Me.splMain.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2
Me.splMain.Dock = System.Windows.Forms.DockStyle.Fill
Me.splMain.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.None
Me.splMain.Location = New System.Drawing.Point(0, 157)
Me.splMain.Name = "splMain"
'
'splMain.Panel1
'
Me.splMain.Panel1.Controls.Add(Me.tcMain)
Me.splMain.Panel1.Text = "Panel1"
'
'splMain.Panel2
'
Me.splMain.Panel2.Controls.Add(Me.xlsSheet)
Me.splMain.Panel2.Text = "Panel2"
Me.splMain.Size = New System.Drawing.Size(1062, 542)
Me.splMain.SplitterPosition = 652
Me.splMain.TabIndex = 4
'
'xlsSheet
'
Me.xlsSheet.Dock = System.Windows.Forms.DockStyle.Fill
Me.xlsSheet.Location = New System.Drawing.Point(0, 0)
Me.xlsSheet.MenuManager = Me.RibbonControl1
Me.xlsSheet.Name = "xlsSheet"
Me.xlsSheet.ReadOnly = True
Me.xlsSheet.Size = New System.Drawing.Size(400, 542)
Me.xlsSheet.TabIndex = 0
Me.xlsSheet.Text = "SpreadsheetControl1"
'
'SchedulerBarController1
'
Me.SchedulerBarController1.BarItems.Add(Me.SwitchToDayViewItem1)
Me.SchedulerBarController1.BarItems.Add(Me.SwitchToWorkWeekViewItem1)
Me.SchedulerBarController1.BarItems.Add(Me.SwitchToWeekViewItem1)
Me.SchedulerBarController1.BarItems.Add(Me.SwitchToFullWeekViewItem1)
Me.SchedulerBarController1.BarItems.Add(Me.SwitchToMonthViewItem1)
Me.SchedulerBarController1.BarItems.Add(Me.SwitchToTimelineViewItem1)
Me.SchedulerBarController1.BarItems.Add(Me.SwitchToGanttViewItem1)
Me.SchedulerBarController1.BarItems.Add(Me.SwitchToAgendaViewItem1)
Me.SchedulerBarController1.BarItems.Add(Me.SwitchToYearViewItem1)
Me.SchedulerBarController1.BarItems.Add(Me.SwitchTimeScalesItem1)
Me.SchedulerBarController1.BarItems.Add(Me.ChangeScaleWidthItem1)
Me.SchedulerBarController1.BarItems.Add(Me.SwitchTimeScalesCaptionItem1)
Me.SchedulerBarController1.BarItems.Add(Me.SwitchCompressWeekendItem1)
Me.SchedulerBarController1.BarItems.Add(Me.SwitchShowWorkTimeOnlyItem1)
Me.SchedulerBarController1.BarItems.Add(Me.SwitchCellsAutoHeightItem1)
Me.SchedulerBarController1.BarItems.Add(Me.ChangeSnapToCellsUIItem1)
Me.SchedulerBarController1.Control = Me.sched
'
'FluentDesignFormContainer1
'
Me.FluentDesignFormContainer1.Dock = System.Windows.Forms.DockStyle.Fill
Me.FluentDesignFormContainer1.Location = New System.Drawing.Point(0, 31)
Me.FluentDesignFormContainer1.Name = "FluentDesignFormContainer1"
Me.FluentDesignFormContainer1.Size = New System.Drawing.Size(1062, 668)
Me.FluentDesignFormContainer1.TabIndex = 6
'
'FluentDesignFormControl1
'
Me.FluentDesignFormControl1.FluentDesignForm = Me
Me.FluentDesignFormControl1.Location = New System.Drawing.Point(0, 0)
Me.FluentDesignFormControl1.Name = "FluentDesignFormControl1"
Me.FluentDesignFormControl1.Size = New System.Drawing.Size(1062, 31)
Me.FluentDesignFormControl1.TabIndex = 8
Me.FluentDesignFormControl1.TabStop = False
'
'frmMain
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1062, 699)
Me.ControlContainer = Me.FluentDesignFormContainer1
Me.Controls.Add(Me.splMain)
Me.Controls.Add(Me.RibbonControl1)
Me.Controls.Add(Me.FluentDesignFormContainer1)
Me.Controls.Add(Me.FluentDesignFormControl1)
Me.FluentDesignFormControl = Me.FluentDesignFormControl1
Me.Name = "frmMain"
Me.Text = "Feuerwehrkalender erstellen"
CType(Me.grd, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.grdv, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ridtpStartEndDate.CalendarTimeProperties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ridtpStartEndDate, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemSpinEdit1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.tcMain, System.ComponentModel.ISupportInitialize).EndInit()
Me.tcMain.ResumeLayout(False)
Me.tpGrid.ResumeLayout(False)
Me.tpCalendar.ResumeLayout(False)
CType(Me.sched, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.schedStorage, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.splMain.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
Me.splMain.Panel1.ResumeLayout(False)
CType(Me.splMain.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
Me.splMain.Panel2.ResumeLayout(False)
CType(Me.splMain, System.ComponentModel.ISupportInitialize).EndInit()
Me.splMain.ResumeLayout(False)
CType(Me.SchedulerBarController1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.FluentDesignFormControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents grd As DevExpress.XtraGrid.GridControl
Friend WithEvents grdv As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents rpMain As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents rpgGeneral As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents btnOpenFile As DevExpress.XtraBars.BarButtonItem
Friend WithEvents OFD As OpenFileDialog
Friend WithEvents tcMain As DevExpress.XtraTab.XtraTabControl
Friend WithEvents tpGrid As DevExpress.XtraTab.XtraTabPage
Friend WithEvents tpCalendar As DevExpress.XtraTab.XtraTabPage
Friend WithEvents sched As DevExpress.XtraScheduler.SchedulerControl
Friend WithEvents schedStorage As DevExpress.XtraScheduler.SchedulerDataStorage
Friend WithEvents btnCategories As DevExpress.XtraBars.BarButtonItem
Friend WithEvents btnExport As DevExpress.XtraBars.BarButtonItem
Friend WithEvents SFD As SaveFileDialog
Friend WithEvents splMain As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents xlsSheet As DevExpress.XtraSpreadsheet.SpreadsheetControl
Friend WithEvents SwitchToDayViewItem1 As DevExpress.XtraScheduler.UI.SwitchToDayViewItem
Friend WithEvents SwitchToWorkWeekViewItem1 As DevExpress.XtraScheduler.UI.SwitchToWorkWeekViewItem
Friend WithEvents SwitchToWeekViewItem1 As DevExpress.XtraScheduler.UI.SwitchToWeekViewItem
Friend WithEvents SwitchToFullWeekViewItem1 As DevExpress.XtraScheduler.UI.SwitchToFullWeekViewItem
Friend WithEvents SwitchToMonthViewItem1 As DevExpress.XtraScheduler.UI.SwitchToMonthViewItem
Friend WithEvents SwitchToTimelineViewItem1 As DevExpress.XtraScheduler.UI.SwitchToTimelineViewItem
Friend WithEvents SwitchToGanttViewItem1 As DevExpress.XtraScheduler.UI.SwitchToGanttViewItem
Friend WithEvents SwitchToAgendaViewItem1 As DevExpress.XtraScheduler.UI.SwitchToAgendaViewItem
Friend WithEvents SwitchToYearViewItem1 As DevExpress.XtraScheduler.UI.SwitchToYearViewItem
Friend WithEvents SwitchTimeScalesItem1 As DevExpress.XtraScheduler.UI.SwitchTimeScalesItem
Friend WithEvents ChangeScaleWidthItem1 As DevExpress.XtraScheduler.UI.ChangeScaleWidthItem
Friend WithEvents RepositoryItemSpinEdit1 As DevExpress.XtraEditors.Repository.RepositoryItemSpinEdit
Friend WithEvents SwitchTimeScalesCaptionItem1 As DevExpress.XtraScheduler.UI.SwitchTimeScalesCaptionItem
Friend WithEvents SwitchCompressWeekendItem1 As DevExpress.XtraScheduler.UI.SwitchCompressWeekendItem
Friend WithEvents SwitchShowWorkTimeOnlyItem1 As DevExpress.XtraScheduler.UI.SwitchShowWorkTimeOnlyItem
Friend WithEvents SwitchCellsAutoHeightItem1 As DevExpress.XtraScheduler.UI.SwitchCellsAutoHeightItem
Friend WithEvents ChangeSnapToCellsUIItem1 As DevExpress.XtraScheduler.UI.ChangeSnapToCellsUIItem
Friend WithEvents ViewRibbonPage1 As DevExpress.XtraScheduler.UI.ViewRibbonPage
Friend WithEvents ActiveViewRibbonPageGroup1 As DevExpress.XtraScheduler.UI.ActiveViewRibbonPageGroup
Friend WithEvents TimeScaleRibbonPageGroup1 As DevExpress.XtraScheduler.UI.TimeScaleRibbonPageGroup
Friend WithEvents LayoutRibbonPageGroup1 As DevExpress.XtraScheduler.UI.LayoutRibbonPageGroup
Friend WithEvents SchedulerBarController1 As DevExpress.XtraScheduler.UI.SchedulerBarController
Friend WithEvents FluentDesignFormContainer1 As DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormContainer
Friend WithEvents FluentDesignFormControl1 As DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl
Friend WithEvents ridtpStartEndDate As DevExpress.XtraEditors.Repository.RepositoryItemDateEdit
End Class

View File

@ -0,0 +1,132 @@
<?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>
<metadata name="OFD.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="schedStorage.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>93, 17</value>
</metadata>
<metadata name="SFD.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>220, 19</value>
</metadata>
<metadata name="SchedulerBarController1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>293, 19</value>
</metadata>
</root>

286
FWCreateCalendar/frmMain.vb Normal file
View File

@ -0,0 +1,286 @@
Option Strict On
Imports System.IO
Imports DevExpress.Data
Imports DevExpress.Spreadsheet
Imports DevExpress.XtraEditors
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Base
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraScheduler
Imports DevExpress.XtraScheduler.iCalendar
Imports Microsoft.Office.Interop
Public Class frmMain
' Dinge, die in My.Settings gepackt werden können:
Dim headDate As New TableHeader("Datum")
Dim headTime As New TableHeader("Start")
Dim headSubject As New TableHeader("Ausbildung")
Dim headLocation As New TableHeader("Ort")
Dim headCategory As New TableHeader("Art")
Dim TableHeaders As New List(Of TableHeader)
Dim ds As New List(Of EventEntry)
Dim dv As DataView
Dim dt1900 As New Date(1900, 1, 1)
'In diesem Form kann direkt die Excel-Datei von Jörg eingelesen werden
'Im Idealfall das dann direkt in den Scheduler gegeben werden, der dann eine ICS ausspuckt
'Dann muss nichtmal mehr die Excel-Datei bearbeitet werden
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
prepare()
With TableHeaders
.Clear()
.AddRange({headDate, headTime, headSubject, headLocation, headCategory})
End With
End Sub
Private Sub prepare()
grd.DataSource = ds
With grdv
.PopulateColumns()
.Columns(NameOf(EventEntry.StartDate)).DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime
.Columns(NameOf(EventEntry.StartDate)).DisplayFormat.FormatString = "ddd dd.MM.yy HH:mm"
.Columns(NameOf(EventEntry.StartDate)).MinWidth = 100
.Columns(NameOf(EventEntry.StartDate)).ColumnEdit = ridtpStartEndDate
.Columns(NameOf(EventEntry.EndDate)).DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime
.Columns(NameOf(EventEntry.EndDate)).DisplayFormat.FormatString = "ddd dd.MM.yy HH:mm"
.Columns(NameOf(EventEntry.EndDate)).MinWidth = 100
.Columns(NameOf(EventEntry.EndDate)).ColumnEdit = ridtpStartEndDate
.Columns(NameOf(EventEntry.StartDate)).Caption = "Start"
.Columns(NameOf(EventEntry.EndDate)).Caption = "Ende"
.Columns(NameOf(EventEntry.AllDay)).Caption = "Ganztag"
.Columns(NameOf(EventEntry.Category)).Caption = "Art"
.Columns(NameOf(EventEntry.Subject)).Caption = "Betreff"
.Columns(NameOf(EventEntry.Location)).Caption = "Ort"
.Columns(NameOf(EventEntry.Status)).Caption = "Hinweis"
.Columns(NameOf(EventEntry.Status)).Visible = False
.Columns(NameOf(EventEntry.Status)).OptionsColumn.AllowEdit = False
.Columns(NameOf(EventEntry.Exclude)).Caption = "Ausschließen"
.Columns(NameOf(EventEntry.IsInvalid)).Caption = "Ungültig"
.Columns(NameOf(EventEntry.IsInvalid)).Visible = False
.Columns(NameOf(EventEntry.IsInvalid)).OptionsColumn.AllowEdit = False
.Columns(NameOf(EventEntry.RowIndex)).Visible = False
.Columns(NameOf(EventEntry.RowIndex)).OptionsColumn.AllowEdit = False
End With
grdv.FormatRules.Add(GridFunctions.CreateFormatRule(grdv, NameOf(EventEntry.Exclude), True, FormatCondition.Equal, True, backcolor:=Color.LightGray))
grdv.FormatRules.Add(GridFunctions.CreateFormatRule(grdv, NameOf(EventEntry.IsInvalid), True, FormatCondition.Equal, True, backcolor:=Color.MistyRose))
With schedStorage
.Appointments.DataSource = ds
With .Appointments.Mappings
.AllDay = NameOf(EventEntry.AllDay)
.Start = NameOf(EventEntry.StartDate)
.End = NameOf(EventEntry.EndDate)
.Subject = NameOf(EventEntry.Subject)
.Location = NameOf(EventEntry.Location)
.Label = NameOf(EventEntry.Category)
End With
.Appointments.CustomFieldMappings.Add(New AppointmentCustomFieldMapping(NameOf(EventEntry.IsInvalid), NameOf(EventEntry.IsInvalid)))
.Appointments.CustomFieldMappings.Add(New AppointmentCustomFieldMapping(NameOf(EventEntry.Exclude), NameOf(EventEntry.Exclude)))
.Labels.DataSource = General.Settings.Categories
With schedStorage.Labels.Mappings
.Color = NameOf(Category.Color)
.Id = NameOf(Category.Key)
.DisplayName = NameOf(Category.Text)
.MenuCaption = NameOf(Category.Text)
End With
.Appointments.Filter = $"[{NameOf(EventEntry.IsInvalid)}] = FALSE AND [{NameOf(EventEntry.Exclude)}] = FALSE"
End With
sched.GoToToday()
End Sub
Private Sub fill(datei As String)
schedStorage.Appointments.DataSource = Nothing
grd.BeginUpdate()
grd.DataSource = Nothing
ds = Readout(datei)
grd.DataSource = ds
grd.EndUpdate()
grdv.BestFitColumns()
schedStorage.Appointments.DataSource = ds
sched.RefreshData()
End Sub
Public Function Readout(datei As String) As List(Of EventEntry)
Dim xlApp = New Excel.Application
'Im Fall von folgendem Fehler:
'The COM object of the type "Microsoft.Office.Interop.Excel.ApplicationClass" cannot be converted to the interface type "Microsoft.Office.Interop.Excel._Application".
' - Office 365 App reparieren (Schnellreparatur hat das letzte mal geholfen)
' - "32bit bevorzugen" deaktivieren in den Projekteinstellungen (ggf. bei 64bit Office?)
' - https://stackoverflow.com/questions/28066719/unable-to-cast-com-object-of-type-microsoft-office-interop-excel-applicationcla
Dim xlMappe = xlApp.Workbooks.Open(datei)
Dim xlBlatt As Excel.Worksheet
'xlApp = New Excel.Application()
' xlApp.Visible = False
'xlMappe = xlApp.Workbooks.Open(datei)
xlBlatt = CType(xlMappe.Worksheets(1), Excel.Worksheet)
Dim Events As New List(Of EventEntry)
Dim ev As EventEntry
Dim headerfound As Boolean
Dim HeaderRow As Integer
'Dim Headers As New List(Of TableHeader)
'Headers.AddRange()
If xlBlatt.UsedRange.Rows.Count > 1 Then
'Kopfzeile suchen
For i = 1 To xlBlatt.UsedRange.Rows.Count
'Prüfen, ob alle Header in der Row vorkommen
For Each header As TableHeader In TableHeaders
headerfound = False
For j = 1 To xlBlatt.UsedRange.Columns.Count
If CStr(CType(xlBlatt.Cells(i, j), Excel.Range).Text).Trim.ToLower = header.FieldName.Trim.ToLower Then
header.ColumnIndex = j
headerfound = True
End If
Next
If headerfound = False Then
HeaderRow = -1
Exit For
Else
HeaderRow = i
End If
Next
If HeaderRow <> -1 Then Exit For
Next
If HeaderRow = -1 Then
MessageBox.Show("Die Tabellenüberschriften wurden nicht gefunden. Bitte prüfen, ob die Zuordnungen vom Namen her noch stimmen", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return Nothing
End If
Dim zDatum, zStart As String
Dim foreColor As Color
' Dim Status As New List(Of String)
For i = HeaderRow + 1 To xlBlatt.UsedRange.Rows.Count
' Status.Clear()
zDatum = CStr(CType(xlBlatt.Cells(i, headDate.ColumnIndex), Excel.Range).Text)
zStart = CStr(CType(xlBlatt.Cells(i, headTime.ColumnIndex), Excel.Range).Text)
ev = New EventEntry
ev.RowIndex = i
foreColor = System.Drawing.ColorTranslator.FromOle(CInt(CType(xlBlatt.Cells(i, headDate.ColumnIndex), Excel.Range).Font.Color))
If foreColor = Color.White Then
' Status.Add("Datum ist versteckt")
ev.IsInvalid = True
ElseIf zDatum.Trim.Length = 0 Then
' Status.Add("Kein Datum angegeben")
ev.IsInvalid = True
ElseIf Date.TryParse($"{zDatum} {zStart}", ev.StartDate) Then
ev.EndDate = ev.StartDate.AddHours(My.Settings.EndDateCalculationHoursToAdd)
ElseIf Date.TryParse($"{zDatum}", ev.StartDate) Then
'Status.Add("Keine Zeit gefunden, gehe von Ganztag aus")
ev.EndDate = ev.StartDate.Date.AddHours(24).AddMinutes(-1)
ev.AllDay = True
Else
'Status.Add("Datum konnte nicht ermittelt werden")
ev.IsInvalid = True
End If
ev.Category = CStr(CType(xlBlatt.Cells(i, headCategory.ColumnIndex), Excel.Range).Text).Trim
If ev.Category.Trim.Length > 0 AndAlso General.Settings.Categories.Exists(Function(c) c.Key = ev.Category) = False Then
General.Settings.Categories.Add(New Category(ev.Category, ev.Category, Color.Red))
End If
ev.Subject = CStr(CType(xlBlatt.Cells(i, headSubject.ColumnIndex), Excel.Range).Text).Trim
ev.Location = CStr(CType(xlBlatt.Cells(i, headLocation.ColumnIndex), Excel.Range).Text).Trim
' ev.Status = String.Join(", ", Status.ToArray)
If ev.Subject.Trim.Length > 0 Then Events.Add(ev)
Next
End If
xlMappe.Close()
xlApp.Quit()
General.Settings.Save()
RefreshEventExclusion(Events)
CheckEventValidity(Events)
Return Events
End Function
Private Sub RefreshEventExclusion(datasource As List(Of EventEntry))
For Each ev As EventEntry In datasource
ev.Exclude = If(General.Settings.Categories.FirstOrDefault(Function(c) c.Key = ev.Category)?.Exclude, False)
Next
End Sub
Private Sub CheckEventValidity(datasource As List(Of EventEntry))
For Each ev As EventEntry In datasource
If ev.StartDate > dt1900 AndAlso ev.EndDate > dt1900 Then
ev.IsInvalid = False
End If
Next
End Sub
Private Shared Sub Grdv_MouseWheel(sender As Object, e As MouseEventArgs) Handles grdv.MouseWheel
TryCast(sender, GridView)?.CloseEditor() 'Klappt so auch mit BandedGridViews
End Sub
Private Sub btnOpenFile_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnOpenFile.ItemClick
If OFD.ShowDialog = DialogResult.OK Then
SFD.FileName = $"{Path.GetFileNameWithoutExtension(OFD.FileName)}.ics"
SFD.InitialDirectory = Path.GetDirectoryName(OFD.FileName)
fill(OFD.FileName)
xlsSheet.LoadDocument(OFD.FileName)
End If
End Sub
Private Sub btnCategories_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnCategories.ItemClick
Dim frm As New frmCategoryEdit
If frm.ShowDialog = DialogResult.OK Then
RefreshEventExclusion(ds)
CheckEventValidity(ds)
grdv.RefreshData()
schedStorage.RefreshData()
End If
End Sub
Private Sub btnExport_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExport.ItemClick
SFD.FileName = Path.GetFileNameWithoutExtension(OFD.FileName) & ".ics"
If SFD.ShowDialog = DialogResult.OK Then
Dim exporter As New iCalendarExporter(schedStorage)
AddHandler exporter.AppointmentExporting, AddressOf Exporter_AppointmentExporting
exporter.Export(SFD.FileName)
End If
End Sub
Private Sub Exporter_AppointmentExporting(sender As Object, e As AppointmentExportingEventArgs)
If CType(e.Appointment.GetSourceObject(schedStorage), EventEntry).Exclude OrElse CType(e.Appointment.GetSourceObject(schedStorage), EventEntry).IsInvalid Then
e.Cancel = True
End If
End Sub
Private Sub grdv_CellValueChanged(sender As Object, e As CellValueChangedEventArgs) Handles grdv.CellValueChanged
If e.Column.FieldName = NameOf(EventEntry.StartDate) OrElse e.Column.FieldName = NameOf(EventEntry.EndDate) Then
Dim StartDate As Date = CDate(grdv.GetRowCellValue(e.RowHandle, NameOf(EventEntry.StartDate)))
Dim EndDate As Date = CDate(grdv.GetRowCellValue(e.RowHandle, NameOf(EventEntry.EndDate)))
If EndDate < StartDate Then
grdv.SetRowCellValue(e.RowHandle, NameOf(EventEntry.EndDate), StartDate)
End If
ElseIf e.Column.FieldName = NameOf(EventEntry.AllDay) Then
If CBool(e.Value) Then
Dim EndDate As Date = CDate(grdv.GetRowCellValue(e.RowHandle, NameOf(EventEntry.EndDate)))
grdv.SetRowCellValue(e.RowHandle, NameOf(EventEntry.EndDate), EndDate.Date.AddDays(1).AddSeconds(-1))
End If
End If
CheckEventValidity(ds)
grdv.RefreshData()
schedStorage.RefreshData()
End Sub
Private Sub grdv_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles grdv.SelectionChanged
Dim workbook As IWorkbook = xlsSheet.Document
Dim activeSheet As Worksheet = workbook.Worksheets.ActiveWorksheet
xlsSheet.SelectedCell = activeSheet.Cells($"A{grdv.GetFocusedRowCellValue("RowIndex")}")
activeSheet.ScrollTo(activeSheet.SelectedCell)
End Sub
End Class

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net48" />
</packages>