|
| Sortering af tekstfil Fra : Sven Storm |
Dato : 15-09-01 07:50 |
|
Nogen der har et bud på, hvordan jeg lettest for sorteret en tekstfil i alfabetisk orden - linie pr. linie?
Fx så rækkefølgen ændres til:
Anders, ....
Bente, ...
Børge, ...
.....
Mvh
Sven
| |
Uffe Kousgaard (15-09-2001)
| Kommentar Fra : Uffe Kousgaard |
Dato : 15-09-01 09:55 |
|
Hej
Hvis du bruger Delphi, så læs teksten ind i en TStringList, sorter den, og
skriv den ud igen. Bingo.
Hilsen
Uffe
"Sven Storm" <sven.storm@skolekom.dk> wrote in message
news:3ba2fa88$0$51368$edfadb0f@dspool01.news.tele.dk...
Nogen der har et bud på, hvordan jeg lettest for sorteret en tekstfil i
alfabetisk orden - linie pr. linie?
Fx så rækkefølgen ændres til:
Anders, ....
Bente, ...
Børge, ...
.....
Mvh
Sven
| |
Bent Pedersen (18-09-2001)
| Kommentar Fra : Bent Pedersen |
Dato : 18-09-01 09:19 |
|
In article <3ba31771$0$23952$edfadb0f@dspool01.news.tele.dk>, Uffe Kousgaard
says...
>
>Hej
>
>Hvis du bruger Delphi, så læs teksten ind i en TStringList, sorter den, og
>skriv den ud igen. Bingo.
Undskyld, jeg havde ikke set du havde svaret allerede.
/Bent
| |
Bent Pedersen (18-09-2001)
| Kommentar Fra : Bent Pedersen |
Dato : 18-09-01 09:18 |
|
In article <3ba2fa88$0$51368$edfadb0f@dspool01.news.tele.dk>, Sven Storm says...
>
>Nogen der har et bud p=E5, hvordan jeg lettest for sorteret en tekstfil =
>i alfabetisk orden - linie pr. linie?
Lav en instans af TStringList. Læs hele filen ind vha LoadFromFile, kald Sort og
skriv det hele tilbage med SaveToFile.
/Bent
| |
Ingolf (18-09-2001)
| Kommentar Fra : Ingolf |
Dato : 18-09-01 19:30 |
|
For en god ordens skyld syntes jeg du bør ser koden til hvordan der 'rigtig'
sorteres...Denn tager tal.. men kan sagtens ændres til strenge...
PROCEDURE QUICKSORT(LEFT,RIGHT:INTEGER;VAR TAL:LIST);
VAR
L,R,MID,EXC : INTEGER;
BEGIN
L:=LEFT;
R:=RIGHT;
MID:=TAL[(L+R)DIV 2];
REPEAT
WHILE TAL[L]<MID DO
INC(L);
WHILE MID<TAL[R] DO
DEC(R);
IF L<=R THEN
BEGIN
EXC:=TAL[L];
TAL[L]:=TAL[R];
TAL[R]:=EXC;
INC(L);
DEC(R);
END;
UNTIL L>R;
IF LEFT<R THEN
QUICKSORT(LEFT,R,TAL);
IF L<RIGHT THEN
QUICKSORT(L,RIGHT,TAL);
END;
Ps... kan stringlist ikke kun vise 65530 items ?
"Sven Storm" <sven.storm@skolekom.dk> wrote in message
news:3ba2fa88$0$51368$edfadb0f@dspool01.news.tele.dk...
Nogen der har et bud på, hvordan jeg lettest for sorteret en tekstfil i
alfabetisk orden - linie pr. linie?
Fx så rækkefølgen ændres til:
Anders, ....
Bente, ...
Børge, ...
.....
Mvh
Sven
| |
Bent Pedersen (19-09-2001)
| Kommentar Fra : Bent Pedersen |
Dato : 19-09-01 08:24 |
|
Hej,
>Ps... kan stringlist ikke kun vise 65530 items ?
Det var i "gamle" dage, dvs Delphi 1. Der er ingen begrænsning nu, udover de som
operativsystemet påtvinger dig.
/Bent
| |
|
|