Vi ringrazio tutti per la vostra solerzia.
quì c'è una possibile soluzione
è una libreria pascal con trilioni di utilità tra cui il sort di un array
https://github.com/fundamentalslib/fundamentals5/blob/master/Source/Utils/flcDynArrays.pas (https://github.com/fundamentalslib/fundamentals5/blob/master/Source/Utils/flcDynArrays.pas)
Anche se ho risolto in maniera artigianale l'ordinamento del mio vettore , per valore crescente, ho voluto provare richiamare una delle funzioni trovata nella libreria che mia hai suggerito: "DynArraySortA".
Per poterne disporre nel mio progetto ho inserito fra gli uses la libreria che la contiene (fundamentals5). Ho avviato la compilazione ed ho ottenuto un messaggio d'errore "Non trovato"
Penso perciò che ne farò a meno. Il segmento di istruzioni che ho scritto ha riordinato 872 righe in circa
"2 secondi".
Ecco la mia formula di ordinamento:
var
tabSplit: TStringArray;
xk: Integer = 0;
j1: Integer = 0;
j2: Integer = 1;
striMia: String;
begin
.....
while(j1 < (xk - 1)) do
begin
if (j1 = 91) then
j1:= j1;
if (LeftStr(tabSplit[j1], 12) > LeftStr(tabSplit[j2], 12)) then
begin
striMia:= tabSplit[j1]; // )
tabSplit[j1]:= tabSplit[j2]; // ( swap rudimentale
tabSplit[j2]:= striMia; // (
j2:= j1 + 2;
end
else
begin
j2:= j2 + 1;
end;
if (j2 >= xk) then
begin
j1:= j1 + 1;
j2:= j1 + 1;
end;
end;
.....
end;