Главная страница
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.015 c
8-70403
Друмлин
2003-02-09 20:31
2003.05.22
есть ли такая шутка?


11-70196
Igit
2002-08-14 17:16
2003.05.22
Я словил реального глюка...


14-70479
SCaT
2003-05-02 09:28
2003.05.22
CGI сканнер


7-70548
besenok
2003-03-24 11:36
2003.05.22
Переменные среды окружения


14-70480
Anat
2003-05-03 15:42
2003.05.22
Как отправить письмо по NMSMTP.