Главная страница
    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.006 c
1-70218
Sa
2003-05-09 08:52
2003.05.22
Преобразование Символов


14-70436
zumo
2003-05-02 08:10
2003.05.22
Проигрывание avi


11-70192
tamerlan311
2002-08-13 17:15
2003.05.22
сообщения от мыши


14-70514
Hacker.
2003-05-03 08:29
2003.05.22
Сохранение иконок.


3-70129
BlackTiger
2003-04-30 16:06
2003.05.22
Как проинициализировать ADOConnection в сервисе?





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