[DLL] CheckSpelling 1.0.0.2

Plugins y todo lo relacionado para Autoplay Media Studio.
Imagen

Imagen

CheckSpelling es un corrector ortográfico basado en el corrector de Microsoft Word, usa el propio corrector de Microsoft Word y devuelve el texto corregido, esta dll tiene alguna cadencias pero bueno es la primera versión así que ciertamente es normal que tenga algunos detalles por pulir...

Funciones:
  • CheckSpelling - Retorno String "devuelve el string corregido, lógicamente antes lanza la ventana de corrección de errores de word."
Código 1.0.0.2:
UnmanagedExports.cs:
using System;
using RGiesecke.DllExport;
////////////////////////////////
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Reflection;
using WordInter = Microsoft.Office.Interop.Word;
////////////////////////////////
using System.Runtime.InteropServices;

namespace CheckSpelling
{
internal static class CheckSpellingClass
{
#region Minimize

[DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

[DllImport("user32.dll", EntryPoint = "SendMessage", SetLastError = true)]
static extern IntPtr SendMessage(IntPtr hWnd, Int32 Msg, IntPtr wParam, IntPtr lParam);

const int WM_COMMAND = 0x111;
const int MIN_ALL = 419;
const int MIN_ALL_UNDO = 416;
//System.Threading.Thread.Sleep(2000);
//SendMessage(lHwnd, WM_COMMAND, (IntPtr)MIN_ALL_UNDO, IntPtr.Zero);

private static void MinimizeAll()
{
IntPtr lHwnd = FindWindow("Shell_TrayWnd", null);
SendMessage(lHwnd, WM_COMMAND, (IntPtr)MIN_ALL, IntPtr.Zero);
}

#endregion Minimize

#region Functions

[DllExport("CheckSpelling", CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall)]
static string CheckSpelling(string Textstr, int activeMinimize)
{
//int activeMinimize = 0;
if (activeMinimize == 1)
{
MinimizeAll();
}

WordInter.Application app = new WordInter.Application();

int errors = 0;

if (Textstr.Length > 0)
{

app.Visible = false;
object template = Missing.Value;
object newTemplate = Missing.Value;
object documentType = Missing.Value;
object visible = true;

WordInter._Document doc1 = app.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);
doc1.Words.First.InsertBefore(Textstr);
WordInter.ProofreadingErrors spellErrorsColl = doc1.SpellingErrors;
errors = spellErrorsColl.Count;

object optional = Missing.Value;
doc1.CheckSpelling(ref optional, ref optional, ref optional, ref optional, ref optional, ref optional, ref optional, ref optional, ref optional, ref optional, ref optional, ref optional);

object first = 0;
object last = doc1.Characters.Count - 1;
Textstr = doc1.Range(ref first, ref last).Text;
}

object saveChanges = false;
object originalFormat = Missing.Value;
object routeDocument = Missing.Value;

app.Visible = true;
app.Application.Quit(ref saveChanges, ref originalFormat, ref routeDocument);

return Textstr;
}
}

#endregion Functions
}


Ejemplo DLL.CallFunction:
if Input.GetText("Input1") ~= "" then
	arg = "\"" .. Input.GetText("Input1") .. "\",0" -- 1 to minimize all, 0 to no minimize all
	DLLPath = _SourceFolder.."\\AutoPlay\\Docs\\CheckSpelling.dll";
	
	result = DLL.CallFunction(DLLPath, "CheckSpelling", arg, DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL);
	
	Input.SetText("Input2", result);
	
	Window.Restore(Application.GetWndHandle());
end
Descarga:
HIDE: ON
Hidebb Message Hidden Description


HIDE: ON
Hidebb Message Hidden Description


HIDE: ON
Hidebb Message Hidden Description



Nota Importante: este ejemplo usa el corrector ortográfico de Microsoft Word de modo que si no tenéis instalado dicho programa esta dll no funcionara correctamente!

Esta de lujo para los hijos, gracias Ceone

Thanks you

gracias companys!!!!

gracias
thank u ceone

gracias

Checando

Que aplicaciones son necesarias para esta dll?
La versión 1.0.0.1 se veia que era el NetFramework v4, al no tenerlo se creaba un conflicto y se cerraba el software, instalé el netframework 4 y va bien.
En la versión 1.0.0.2 me vuelve a provocar el mismo error y en el archivo (encriptado en una parte de código) no encuentro la aplicación del net fram v4 ni ninguna info de alguna aplicación necesaria.

Gracias.

gracias

brordo escribió:Que aplicaciones son necesarias para esta dll?
La versión 1.0.0.1 se veia que era el NetFramework v4, al no tenerlo se creaba un conflicto y se cerraba el software, instalé el netframework 4 y va bien.
En la versión 1.0.0.2 me vuelve a provocar el mismo error y en el archivo (encriptado en una parte de código) no encuentro la aplicación del net fram v4 ni ninguna info de alguna aplicación necesaria.

Gracias.
HIDE: ON
Hidebb Message Hidden Description


Mira prueba este APZ el NET FRAMEWORK necesario es el 2.0 y tener instalado WORD, lo he probado un par de veces y si funciona con NET FRAMEWORK asegurate de copiar la DLL correcta, no uses una vieja en este ejemplo te trae la 1.0.0.2 y como ves en las imagenes esta compilada en NET FRAMEWORK 2.0.

Imágenes:

http://imageshack.us/g/818/73396345.png/
Spoiler: Mostrar
Imagen
Imagen
Imagen

like :demo:

Gracias company!!!!

tank you :yeah:

thanks

thanks

Que tal ceone mira que esta roto este enlace podrías actualizarlo

Thanks you

gracias Ceone
Nice work