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

Вниз

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

 
Delpher   (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
Не подскажете как так сделать?
Заранее большое спасибо!!!


 
Song   (2003-05-11 17:29) [1]

Можно было данные просто в список собрать и не извращаться.


 
Delpher   (2003-05-12 12:25) [2]

Всмысле?


 
Skier   (2003-05-12 12:31) [3]

><<<Delpher>>>
1) Наверное лучше (экономичнее) всё-таки использовать запись, а
не класс (?)
2) TPerson = packed record
ffam,fadr,ftel,fgod:string;
end; //TPerson
PPerson = ^TPerson;
3) Пишешь потомка TList-а и дальше - Song © (11.05.03 17:29)



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

Форум: "Основная";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
3-70116
Silver_
2003-04-25 16:40
2003.05.22
SQL - нарастающий итог


7-70530
CMOK
2003-03-23 23:43
2003.05.22
Загрузка CPU/процесс


1-70254
Black_phoenix
2003-05-12 10:07
2003.05.22
Как в ListView добавлять Items и SubItems


14-70510
Stan
2003-05-04 14:26
2003.05.22
Проблемы с модемом Genius GM56USB.


3-70118
mihei
2003-04-30 11:56
2003.05.22
Помогите с DBgridEh+CheckBoxes





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский