Добавил:
sergey123
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
//---------------------------------------------------------------------------
#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");
}
}
//---------------------------------------------------------------------------