Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ООП / Labs / Lab2Zad / Unit1

.cpp
Скачиваний:
10
Добавлен:
18.02.2017
Размер:
3.97 Кб
Скачать
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
	Memo1 -> Lines -> LoadFromFile("MP-21_Yakovlev.txt");
}
//---------------------------------------------------------------------------





void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
	String tmp1, tmp2, str1, tmp3, tmp4;
	int a, b, c, i, j, posSpace1, posSpace2, len1,len2;
	a = Memo1 -> Lines ->Count;

	if (ComboBox1 ->ItemIndex==0 &&  ComboBox2 ->ItemIndex==0)  {
										for (j = 3; j < a; j++) {


										for (i = 3; i < a; i++) {
										tmp1 = Memo1->Lines->Strings[i-1].SubString (4, 5);
										tmp2 = Memo1->Lines->Strings[i].SubString (4, 5);
										if (tmp2<tmp1)  {
															str1 = Memo1 -> Lines ->Strings[i];
															Memo1 -> Lines ->Strings[i] = Memo1 -> Lines ->Strings[i-1];
															Memo1 -> Lines ->Strings[i-1] =  str1;
														}


																}
									}}
	if (ComboBox1 ->ItemIndex==0 && ComboBox2 ->ItemIndex==1) {
															   for (j = 3; j < a; j++) {
															   for (i = 3; i < a; i++) {
															   tmp1 = Memo1->Lines->Strings[i-1].SubString (4, 5);
															   tmp2 = Memo1->Lines->Strings[i].SubString (4, 5);
															   if (tmp2>tmp1)  {
															   str1 = Memo1 -> Lines ->Strings[i];
															   Memo1 -> Lines ->Strings[i] = Memo1 -> Lines ->Strings[i-1];
															   Memo1 -> Lines ->Strings[i-1] =  str1;
														}}
	}}


	if (ComboBox1 ->ItemIndex==1 &&  ComboBox2 ->ItemIndex==0) {
		for (j = 1; j < a; j++) {
			for (i = 3; i < a; i++) {
				tmp1 = Memo1->Lines->Strings[i-1].SubString (4, 5);
				tmp2 = Memo1->Lines->Strings[i].SubString (4, 5);
				len1=Memo1->Lines->Strings[i-1].Length();
				len2=Memo1->Lines->Strings[i].Length();
				posSpace1=Memo1->Lines->Strings[i-1].Pos(" ");
				posSpace2=Memo1->Lines->Strings[i].Pos(" ");

				if (len1-posSpace1 > len2-posSpace2) c=len1-posSpace2;
				else c=len1-posSpace1;

				tmp3 = Memo1->Lines->Strings[i-1].SubString ( posSpace1+1, c);
				tmp4 = Memo1->Lines->Strings[i].SubString ( posSpace2+1, c);



				if (tmp2<=tmp1 && (AnsiCompareStr(tmp4, tmp3) < 0))  {
					str1 = Memo1 -> Lines ->Strings[i];
					Memo1 -> Lines ->Strings[i] = Memo1 -> Lines ->Strings[i-1];
					Memo1 -> Lines ->Strings[i-1] =  str1;
				}
	  }
	 }
	}

	if (ComboBox1 ->ItemIndex==1 &&  ComboBox2 ->ItemIndex==1) {
		for (j = 3; j < a; j++) {
			for (i = 3; i < a; i++) {
				tmp1 = Memo1->Lines->Strings[i-1].SubString (4, 5);
				tmp2 = Memo1->Lines->Strings[i].SubString (4, 5);
				len1=Memo1->Lines->Strings[i-1].Length();
				len2=Memo1->Lines->Strings[i].Length();
				posSpace1=Memo1->Lines->Strings[i-1].Pos(" ");
				posSpace2=Memo1->Lines->Strings[i].Pos(" ");

				if (len1-posSpace1 > len2-posSpace2) c=len1-posSpace2;
				else c=len1-posSpace1;

				tmp3 = Memo1->Lines->Strings[i-1].SubString ( posSpace1+1, c);
				tmp4 = Memo1->Lines->Strings[i].SubString ( posSpace2+1, c);



				if (tmp2>=tmp1) if (AnsiCompareStr(tmp4, tmp3) < 0) {
						str1 = Memo1 -> Lines ->Strings[i];
						Memo1 -> Lines ->Strings[i] = Memo1 -> Lines ->Strings[i-1];
						Memo1 -> Lines ->Strings[i-1] =  str1;
				}
	  }
	 }
	}
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (OpenDialog1->Execute())
  {
	Memo1 -> Lines -> LoadFromFile("MP-21_Yakovlev.txt");
  }

}
//---------------------------------------------------------------------------

Соседние файлы в папке Lab2Zad