Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.007 c
1-70286
Vasiliy
2003-05-11 21:02
2003.05.22
Как отследить нажатие курсорных клавиш?


14-70456
Fable
2003-05-02 20:44
2003.05.22
Замена Quick Report в Delphi 7


14-70463
Skalp
2003-05-03 14:11
2003.05.22
Посоветуйте книгу, либо ссылку


1-70264
User
2003-05-12 13:39
2003.05.22
Своё событие?


1-70234
Dankin
2003-05-11 13:33
2003.05.22
Диалог выбора директории.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский