{
if (OutText.text[i] == '\r')
while (OutText.text[i++ + 1] == ' ')
;
while (OutText.text[i] == ' ')
i++;
if (i < OutText.length)
if (!IsPriority (OutText.text [i]))
{
result = (char*)realloc (result, pos + 1);
if (SPACE)
{
result [pos++] = ' ';
result = (char*)realloc (result, pos + 1);
}
while (OutText.text [i] != ' ' && i < OutText.length)
{
result [pos++] = OutText.text [i++];
result = (char*)realloc (result, pos + 1);
}
}
else
{
result = (char*)realloc (result, pos + 1);
result[pos++] = OutText.text[i++];
}
SPACE = false;
if (isalpha (result [pos-1]) || isdigit (result [pos-1]))
SPACE = true;
}
free (OutText.text);
OutText.text = result;
OutText.length = pos;
}
/* END OF 'ReduceSumbol' METHOD */
/* THIS METHOD CREATE SINGLE LINE FROM ORIGINAL TEXT */
void DeleteLines (void)
{
char *result = (char*) malloc (0);
int pos = 0, i = 0;
while (i < OutText.length)
{
if (OutText.text[i] != 10 && OutText.text[i] != 13)
{
result = (char*)realloc (result, pos + 1);
result[pos] = OutText.text[i];
pos++;
i++;
}
else
i++;
}
result [pos] = '\0';
free (OutText.text);
OutText.text = result;
OutText.length = pos;
}
/* END OF 'DeleteSymbols' METHOD */
/* THIS METHOD CONVERTS CString TO char* */
char* ConvertCStringToChar (CString S)
{
char *RES;
int len = S.GetLength ();
int i;
BSTR str = S.AllocSysString ();
RES = (char*)malloc (len);
for (i = 0; i <= len; i++)
RES[i] = (char)str[i];
return RES;
}
/* END OF 'ConvertCStringToChar' METHOD */
/********************************************************************
END OF PRIVATE MEMBERS DEFINITIONS
********************************************************************/
/********************************************************************
PUBLIC MEMBERS DEFINITIONS
********************************************************************/
public:
ITextFormatter ()
{
BuildedText = false;
POSITION = 0;
}
~ITextFormatter ()
{
}
public:
//
/* THIS METHOD SET TEXT FOR BUILDING*/
void SetText (CString CS)
{
FirstText.length = CS.GetLength ();
FirstText.text = (char*)malloc (FirstText.length);
memmove (FirstText.text, ConvertCStringToChar (CS), FirstText.length);
BuildedText = false;
}
/* END OF 'SetText' METHOD */
/* THIS IS OVERLOAD OF 'SetText' METHOD */
void SetText (char *text)
{
FirstText.length = (int)strlen (text);
FirstText.text = (char*)malloc (FirstText.length);
memmove (FirstText.text, text, FirstText.length);
BuildedText = false;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.