Main.cpp 2.05 KB
#include <IOSTREAM> 
#include <string>
#include <msclr/marshal.h>
#include <fstream>
#include <algorithm>
#include "pyTradutor.h" 

#using <system.dll>
#using <system.Drawing.dll>
#using <system.windows.forms.dll>

using namespace System;
using namespace System::Windows::Forms;

using namespace std;
using namespace Tradutor;


[STAThread]int main(int argc, char *argv[])
{
  //Objeto para acessar a área de transferência do windows
  System::Windows::Forms::IDataObject^ data = Clipboard::GetDataObject( );
  //Objeto para traduzir para glosa
	PyTradutor *tradutor = new PyTradutor();
  //Objeto para converter system::String para consta char*
  msclr::interop::marshal_context convert;
  //Variável para armazenar a glosa
	std::string glosa;
  //Entrada a ser traduzida
  const char* input;
  //Arquivo de texto de saída
  ofstream myfile;
  //Home do usuário corrente
  char *home = getenv("HOMEPATH");

  //Verifica se existe informação na área de transferência
  if (data)
   {
      //Verifica se o arquivo é do tipo texto
      if (data->GetDataPresent(DataFormats::Text)) 
      {
        //Copia área de transferência para variável do sistema
        String^ clip = static_cast<String^> (data->GetData(DataFormats::Text));

        //Converte system::String para const char*
        input = convert.marshal_as<const char*>(clip);
        //Console::WriteLine(text); 
      } 
      else
        //Área de transfência sem texto
        Console::WriteLine("O conteúdo selecionado não é um texto.");
   } 
   else  
    //Área de transferência vazia
    Console::WriteLine("Nada foi selecionado.");

  //Converte o texto selecionado para glosa
	glosa = tradutor->convertStringToGlosa(input);

  //imprime a glosa
	cout << glosa <<endl;

  //Seta o texto pra lowercase
  std::transform(glosa.begin(), glosa.end(), glosa.begin(), ::tolower);

  //Salva texto no arquivo que será lido pelo Unit 

  strcat (home,"\\player\\vlibrasPlayer_Data\\glosaFile.txt");
  myfile.open (home , ios::out);
  myfile << glosa << endl;
  myfile.close();

	delete tradutor;
	return 0;
}