25 mensajes Página 1 de 2
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
}
Parsed in 0.012 seconds, using GeSHi 1.0.8.9


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
Parsed in 0.003 seconds, using GeSHi 1.0.8.9


Descarga:
Contenido Oculto: ON
	<br />Usted necesita responder en este tema para ver el contenido oculto.


Contenido Oculto: ON
	<br />Usted necesita responder en este tema para ver el contenido oculto.


Contenido Oculto: ON
	<br />Usted necesita responder en este tema para ver el contenido oculto.



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
Sattel desde Amalfi Antioquia Colombia
Medellin Colombia
La ciudad mas innovadora del mundo!!!!!!!!

Thanks you
Imagen

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.


Contenido Oculto: ON
	<br />Usted necesita responder en este tema para ver el contenido oculto.


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
Imagen

Thanks you

gracias Ceone
Imagen
Nice work
25 mensajes Página 1 de 2

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados