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

Вниз

Проблема произвести сортировку <U><B>с учетом регистра</B></U>   Найти похожие ветки 

 
AbrosimovA   (2003-04-24 14:50) [0]

Задача состоит в следующем:
1.Считать из текстового файла все строки в TStringList.
2.Отсортировать их в StringList с учетом регистра.

Делаю это так:

....

var FTxt: System.Text;
N: integer;

procedure TForm1.Button2Click(Sender: TObject);
var s: string;
P: integer;
begin
N:=0;
D:=TStringList.Create;
D.Clear;
D.Sorted:=true;
ListBox1.Clear;
AssignFile(FTxt, "File.txt");
Reset(FTxt);
while not eof(FTxt) do
begin
readln(FTxt,S);
if Pos("*",S)<>1 then //Отсеиваю строки начинающиеся с *
begin
P:=Pos(" ",S);
S:=Copy(S,1,P-1);
Inc(N);
D.Add(S);
end;
end;
ListBox1.Sorted:=false;
end;

Но загвоздка здесь в том, что нужной мне сортировки не происходит.

До сортировки: После сортировки(код выше): А нужно:
B a B
a B U
X s X
U t a
s U s
t X t

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

Буду рад принять любую помощь для разрешения этой проблемы.

Спасибо.


 
Palladin ©   (2003-04-24 14:53) [1]

лажа

D.Sorted:=true;
D.LoadFromFile("File.txt");


 
Карелин Артем ©   (2003-04-24 14:56) [2]

Нам помогут алгоритмы сортировки, либо 2 списка. Отдельно для маленьких и больших букв. Потом эти списки следует слить в 1.


 
AbrosimovA   (2003-04-25 08:16) [3]

А что за зверь
procedure CustomSort(Compare: TStringListSortCompare).
Может алгоритм сортировки задать с помощью этой процедуры.

Я так и не смог понять как мне заполнить то , что в скобках.



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
6-23270
Григорий Ситнин
2003-03-04 16:17
2003.05.08
Мониторинг сети


1-23102
lamak
2003-04-26 23:27
2003.05.08
Вопрос про шрифты


3-22941
Merlot
2003-04-21 11:29
2003.05.08
Проблемы с Query!!!


4-23433
Шоломицкий
2003-03-05 20:34
2003.05.08
Посылка сообщений Winamp 3


3-22969
дд
2003-04-17 12:21
2003.05.08
Создание User и права доступа