![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем Здравствуйте!!!
помогите пожалуйста с сортировкой по алфавиту. единственно должно быть исключение первых символов. есть записи типа ---------------------------------------------------- ООО "Рога",7700234511 ООО "Копыта",7700435678 ООО "Василек",7700786745 ООО "Золотое Сало",5000234654 ИП Пупкин В.В.,770012345434 ИП Череззаборногозадеришенко П.А.,770094857678 ЗАО "Шарашкин и Ко",7700341761 ООО "Чебурек",7700235527 ОАО "Газпрем",7700945420 ООО "Буржуй",7700000123 -------------------------------------------------------- надо чтобы при сортировке исключались символы типа ООО " или ИП и начинало сортировать с названия вот я нашел вариант сортировки но без всяких исключений и с самых первых символов. Код:
procedure SortStringGrid(var GenStrGrid: TStringGrid; ThatCol: Integer); const TheSeparator = '@'; var CountItem, I, J, K, ThePosition: integer; MyList: TStringList; MyString, TempString: string; begin CountItem := GenStrGrid.RowCount; MyList := TStringList.Create; MyList.Sorted := False; try begin for I := 1 to (CountItem - 1) do MyList.Add(GenStrGrid.Rows[i].Strings[ThatCol] + TheSeparator + GenStrGrid.Rows[i].Text); Mylist.Sort; for K := 1 to Mylist.Count do begin MyString := MyList.Strings[(K - 1)]; ThePosition := Pos(TheSeparator, MyString); TempString := ''; TempString := Copy(MyString, (ThePosition + 1), Length(MyString)); MyList.Strings[(K - 1)] := ''; MyList.Strings[(K - 1)] := TempString; end; for J := 1 to (CountItem - 1) do GenStrGrid.Rows[J].Text := MyList.Strings[(J - 1)]; end; finally MyList.Free; end; end; procedure TForm1.ToolButton17Click(Sender: TObject); begin SortStringGrid(StringGrid1, 0); end; помогите с исключением. ![]() |