Main.cpp
2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#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;
}