Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.22;
Скачать: CL | DM;

Вниз

Сортировка   Найти похожие ветки 

 
User   (2003-05-11 16:23) [0]

Здравствуйте мастера Delphi!!!
Вот у меня вопрос к вам:
Вообщем я создал класс:
type
TPerson=class
ffam,fadr,ftel,fgod:string;
constructor Create(fam,adr,tel,god:string);
function info:string; virtual;
end;
Потом обработчики "конструктора" и "инфо":
constructor TPerson.Create(fam,adr,tel,god:string);
begin
ffam := fam;
fadr:=adr;
ftel:=tel;
fgod:=god;
end;
function TPerson.Info:string;
begin
result := ffam+fadr+ftel+fgod;
end;
Затем с помощью функции (function GetS(S:String;Count:Integer):string;
var i,d,l,c : Integer;
begin
d:=0;
l:=0;
c:=0;
for i:=1 to Length(s) do begin
if s[i]="" then c:=c+1;
if (s[i]="")and(d>0) then begin l:=i; break; end;
if (s[i]="")and(c=count) then d:=i;
end;
Result:=Copy(s,d+1,l-d-1);
end;) заполняется массив list: array
[1..SIZEMASSIV] of TPerson:
s:=Memo1.text;
x:=1;
for i:=1 to SIZEMASSIV do
begin
List[i]:=TPerson.Create(GetS(s,x),GetS(s,x+1),GetS(s,x+2),GetS(s,x+3));
x:=x+5;
end;
Затем весь этот массив конвертируется в компонент
TStringGrid(kl=StringGrid):
for i:=1 to SIZEMASSIV do
begin
kl.Cells[0,i]:=list[i].ffam;
kl.Cells[1,i]:=list[i].fadr;
kl.Cells[2,i]:=list[i].ftel;
kl.Cells[3,i]:=list[i].fgod;
end;
Но дальше у меня возникла проблема, как отсортировать этот массив
по фамилии, чтобы данные в массиве находились в алфавитном порядке по
фамилии, вот так:
Алексеев Ул.Центральная678-98 56-78-89 1977
Петров Ул.Заморская234-67 45-67-89 1966
Смирнов Ул.Пушкина34-89 12-34-56 1955
вместо:
Петров Ул.Заморская234-67 45-67-89 1966
Алексеев Ул.Центральная678-98 56-78-89 1977
Смирнов Ул.Пушкина34-89 12-34-56 1955
Не подскажете как так сделать?
Заранее большое спасибо!!!


 
lipskiy ©   (2003-05-11 23:34) [1]

Я тебе письмо написал


 
sunrider   (2003-05-12 23:35) [2]

Тебе нужно пересортировать массив. Есть целая куча всяких
алгоритмов, например пузырьковый, только отщипывай строку до первого пробела



Страницы: 1 вся ветка

Текущий архив: 2003.05.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
8-70400
Unicorn
2003-02-11 09:47
2003.05.22
Нужно сделать несколько анимированных кнопок


7-70538
___ALex___
2003-03-24 18:12
2003.05.22
System Tray


1-70203
Tatiana
2003-05-08 10:30
2003.05.22
Indexatsija massiva


3-70179
Remis
2003-05-03 01:06
2003.05.22
Delete SQL


14-70476
Den
2003-05-03 09:14
2003.05.22
Цифры в слова