Форум: "Основная";
Текущий архив: 2003.05.08;
Скачать: [xml.tar.bz2];
ВнизПроблема произвести сортировку <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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c