Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ADF.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ADF", "ADF\ADF.vbproj", "{56AD8E06-E293-4B04-8D12-055FE7903D90}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ADF", "ADF\ADF.csproj", "{56AD8E06-E293-4B04-8D12-055FE7903D90}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
31 changes: 31 additions & 0 deletions ADF/ADF.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<AssemblyName>ADF</AssemblyName>
<RootNamespace>ADF</RootNamespace>
<AssemblyTitle>ADF</AssemblyTitle>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<FileVersion>1.0.0.0</FileVersion>
<Copyright>Copyright © 2009</Copyright>
<PlatformTarget>x86</PlatformTarget>
<Nullable>enable</Nullable>
<EnableWindowsTargeting>true</EnableWindowsTargeting>
</PropertyGroup>

<ItemGroup>
<Reference Include="Interop.MSScriptControl">
<HintPath>Interop.MSScriptControl.dll</HintPath>
<EmbedInteropTypes>False</EmbedInteropTypes>
</Reference>
</ItemGroup>

<ItemGroup>
<None Include="CIAO.XML">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>

</Project>
136 changes: 0 additions & 136 deletions ADF/ADF.vbproj

This file was deleted.

61 changes: 61 additions & 0 deletions ADF/AdfForm.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

134 changes: 134 additions & 0 deletions ADF/AdfForm.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
using System;
using System.Linq;
using System.Windows.Forms;
using MSScriptControl;

namespace ADF;

public partial class AdfForm : Form
{
private ScriptControlClass scrMain = new ScriptControlClass();

public AdfForm()
{
InitializeComponent();

AppDomain.CurrentDomain.UnhandledException += (sender, args) =>
{
try
{
MessageBox.Show(((Exception)args.ExceptionObject).Message, "ADF", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch
{
// ignore
}
};
}

private void BtnOk_Click(object? sender, EventArgs e)
{
Close();
}

private void AdfForm_Load(object? sender, EventArgs e)
{
string strFL = string.Join(" ", Environment.GetCommandLineArgs().Skip(1)).Trim();

scrMain.Language = "VBScript";
scrMain.AllowUI = true;

if (!string.IsNullOrEmpty(strFL) && System.IO.File.Exists(strFL))
{
var xmlFL = ClassADF.Carica(strFL);

foreach (var xmlCon in xmlFL.CONTROLS)
CreaControl(this, ref scrMain, xmlCon);

scrMain.AddCode(xmlFL.MODULO);

Application.OpenForms.Cast<Form>()
.FirstOrDefault(f => f.Name == xmlFL.PROPERTY.STARTCONTROL)
?.ShowDialog(this);
}

Close();
}

private void CreaControl(Control cltPadre, ref ScriptControlClass scrPadre, ClassADF.ClassCONTROL xmlControl)
{
if (xmlControl == null) return;

Control? cltME = null;

switch (xmlControl.PROPERTY.TYPE)
{
case ClassADF.ClassCONTROL.ClassControlPROPERTY.Types.FORM:
scrPadre = new ScriptControlClass
{
Language = "VBScript",
AllowUI = true
};
cltME = new Form
{
Name = xmlControl.PROPERTY.NAME,
Text = xmlControl.PROPERTY.TEXT,
Width = xmlControl.PROPERTY.WIDTH,
Height = xmlControl.PROPERTY.HEIGHT
};
cltME.Show();
cltME.Hide();
break;

case ClassADF.ClassCONTROL.ClassControlPROPERTY.Types.BUTTON:
cltME = new Button
{
Name = xmlControl.PROPERTY.NAME,
Text = xmlControl.PROPERTY.TEXT,
Width = xmlControl.PROPERTY.WIDTH,
Height = xmlControl.PROPERTY.HEIGHT,
Top = xmlControl.PROPERTY.TOP,
Left = xmlControl.PROPERTY.LEFT,
Parent = cltPadre
};
break;
}

if (cltME != null)
{
scrPadre.AddObject(cltME.Name, cltME, true);

if (!string.IsNullOrEmpty(xmlControl.EVENTS.CLICK))
{
try
{
scrPadre.AddCode($"Sub {cltME.Name}_Click()\r\n{xmlControl.EVENTS.CLICK}\r\nEnd Sub\r\n");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "ADF", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

cltME.Click += Clt_Click;
}

foreach (var xmlCltCon in xmlControl.CONTROLS)
CreaControl(cltME, ref scrPadre, xmlCltCon);

cltME.Tag = scrPadre;
}
}

private void Clt_Click(object? sender, EventArgs e)
{
try
{
var ctrl = (Control)sender!;
((ScriptControlClass)ctrl.Tag!).Run(ctrl.Name + "_Click");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "ADF", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
Loading