Главная страница
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.016 c
3-22911
code_x
2003-04-18 19:09
2003.05.08
База требует открытия


14-23396
Evg12
2003-04-20 00:17
2003.05.08
Интересует нормальный компрессор (паковщик)


3-22967
denis24
2003-04-17 11:41
2003.05.08
ширина слобца в гриде


8-23247
linco
2003-01-30 08:55
2003.05.08
Перемещаемая линия?


14-23320
Некто2002
2003-04-18 20:35
2003.05.08
XP, showmessage и