Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

Înlocuiește diacritice - Word

- - - - -
  • Please log in to reply
14 replies to this topic

#1
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
Pornind de la discuția de aici: http://forum.softped.../#entry15641800 am creat o mică aplicație ce înlătură diacritice dintr-un document Word.

Se pornește, se alege fișierul, se așteaptă, iar programul va deschide noul document.

Necesită Windows XP sau mai nou, MS .NET Framework 4 și Microsoft Word instalate.

Attached File  InlocuireDiacriticeConsole.zip   4.19K   67 downloads

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace InlocuireDiacriticeConsole
{
	class Program
	{
		[STAThread]
		static void Main(string[] args)
		{
			var dialog = new OpenFileDialog()
			{
				Filter = "Microsoft Word Document|*.doc;*.docx|All Files|*",
				Title = "Alege fișierul"
			};

			if (dialog.ShowDialog() == DialogResult.OK)
			{
				var fileName = dialog.FileName;
				var newFileName = Path.Combine(Path.GetDirectoryName(fileName),
					String.Format("{0}-faradiacritice{1}",
						Path.GetFileNameWithoutExtension(fileName),
						Path.GetExtension(fileName)));

				Replace(fileName, newFileName);
				Process.Start(newFileName);
			}
		}
		static void Replace(string source, string destination)
		{
			try
			{
				var type = Type.GetTypeFromProgID("Word.Application");

				if (null == type)
				{
					throw new Exception("Microsoft Word nu e instalat");
				}

				dynamic app = Activator.CreateInstance(type);
				var document = app.Documents.Open(source);
				var find = app.Selection.Find;

				find.Forward = true;
				find.Wrap = 1;
				find.Format = false;
				find.MatchCase = false;

				var toReplace = new Dictionary<string, string>
				{
					{"ă", "a"},
					{"Ă", "A"},
					{"ă", "a"},
					{"Ă", "A"},
					{"â", "a"},
					{"Â", "A"},
					{"î", "i"},
					{"Î", "I"},
					{"ș", "s"},
					{"Ș", "S"},
					{"ț", "t"},
					{"Ț", "T"},
					{"ş", "s"},
					{"Ş", "S"},
					{"ţ", "t"},
					{"Ţ", "T"},
				};

				foreach (var pair in toReplace)
				{
					find.Text = pair.Key;
					find.Replacement.Text = pair.Value;
					find.Execute(Replace: 2);
				}

				document.SaveAs2(destination);
				document.Close();
				app.Quit();
			}
			catch (Exception ex)
			{
				ShowError(ex.Message);
			}
		}
		static void ShowError(string message)
		{
			MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
		}
	}
}



#2
SuPY

SuPY

    Senior Member

  • Grup: Senior Members
  • Posts: 2,492
  • Înscris: 19.09.2006
Pai nu inlocuieste chiar si acolo unde apare litera A sa zicem ?

LE: Scuze, am inteles gresit. Deci tu elimini caracterele cu diacritice, nu invers... OK. Asta nu se poate face si in Word cu Find & Replace?

Edited by SuPY, 06 August 2014 - 22:58.


#3
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
Se poate, defapt chiar asta fac, dar automat :)
Nu vad de ce as face in practica treaba asta (si nu invers, sa introduc diacritice), dar daca a vrut omul :D

#4
paulicaFX

paulicaFX

    Member

  • Grup: Members
  • Posts: 792
  • Înscris: 08.08.2011
Ceva care face invers ar fi mai tare, am gasit una pe net, dar nu prea e posibil sa fie perfecta

#5
banculescu

banculescu

    Member

  • Grup: Members
  • Posts: 901
  • Înscris: 04.10.2014
mai simplu fara aplicatii:  ai replace si inlocuiesti in intreg documentul ă cu a;

idem la restul diacriticelor;

mda... invers ar fi mai bine... inca nu este asa ceva; si google translate o ia rau pe ulei cateodata; si acolo chiar sunt algoritmi si AI prin miliarde de utilizatori.

#6
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
Uneori n-ai rabdare sa inlocuiesti manual cu replace.
+ ca trebuie sa tii cont ca sunt 2 forme de ş/ţ
+ ca uneori uiti sa faci replace-ul case sensitive si iese o prostie.

#7
paulicaFX

paulicaFX

    Member

  • Grup: Members
  • Posts: 792
  • Înscris: 08.08.2011

View Postdani.user, on 06 octombrie 2014 - 08:28, said:

Uneori n-ai rabdare sa inlocuiesti manual cu replace.
+ ca trebuie sa tii cont ca sunt 2 forme de ş/ţ
+ ca uneori uiti sa faci replace-ul case sensitive si iese o prostie.


Chestia ai cu 2 forme, am avut probleme cu ea, la un PC unele diactritice au alt cod ascii fata de altul..
Si asa unele fonturi suporta doar una dintre ele, si pot aparea probleme

#8
MooF2010

MooF2010

    Senior Member

  • Grup: Senior Members
  • Posts: 5,326
  • Înscris: 24.05.2010
Foarte util... impreuna cu convertorul image to word e foarte folositor pentru proiecte de 50+ pagini.

Edited by MooF2010, 07 October 2014 - 15:26.


#9
biceman

biceman

    Member

  • Grup: Members
  • Posts: 922
  • Înscris: 19.06.2006

View Postbanculescu, on 05 octombrie 2014 - 23:51, said:

mda... invers ar fi mai bine... inca nu este asa ceva; si google translate o ia rau pe ulei cateodata; si acolo chiar sunt algoritmi si AI prin miliarde de utilizatori.
exista o aplicatie care reuseste destul de bine sa puna diacritice: AutoCorect de la SoftSet

#10
knight28

knight28

    Active Member

  • Grup: Members
  • Posts: 1,209
  • Înscris: 13.11.2007

View Postbiceman, on 07 octombrie 2014 - 21:46, said:

exista o aplicatie care reuseste destul de bine sa puna diacritice: AutoCorect de la SoftSet

Din pacate, AutoCorect nu mai este dezvoltat de mai bine de 2 ani. Asa scrie pe site-ul softset.ro. Poate se va gasi cineva care are cunostiinte serioase de programare sa-l dezvolte in continuare Free. Mi se pare fabulos sa scrii fara diacrtice si sa iti dea si sugestii al cuvintele scrise gresit, punctuatia sa fie modificata s.a.m.d. As mai avea eu cateva sugestii pentru AutoCorect dar.......

Edited by knight28, 13 May 2015 - 10:56.


#11
DinNouLiber

DinNouLiber

    New Member

  • Grup: Junior Members
  • Posts: 7
  • Înscris: 10.06.2015
AutoCorect e bun asa cum este

#12
Life2Live

Life2Live

    Active Member

  • Grup: Members
  • Posts: 1,063
  • Înscris: 26.04.2010
Imi da eroare, system __comobject does not contain a definition for 'save as2', ma ajuta cineva ?

#13
Life2Live

Life2Live

    Active Member

  • Grup: Members
  • Posts: 1,063
  • Înscris: 26.04.2010
Stie cineva ce sa fac cu acel soft, Inlocuirediacritice ca sa mearga ?

#14
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
Ce versiune de Word ai instalata?

#15
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,428
  • Înscris: 10.08.2005

View PostpaulicaFX, on 07 august 2014 - 07:00, said:

Ceva care face invers ar fi mai tare, am gasit una pe net, dar nu prea e posibil sa fie perfecta
aplicatiile respective folosesc un dictionar
mână mâna mană mana

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate