1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| procedure TriTopoAjouter( LElts: TStringList; SDe, SVers: string );
var
IIndex : Integer;
begin
if not LElts.Sorted
then LElts.Sorted := True;
// Ajout du predecesseur dans la liste
if SDe = '' then Exit;
if not LElts.Find( SDe, IIndex )
then LElts.AddObject( SDe, TStringList.Create );
// ajout de elt dans la liste
if SVers = '' then Exit;
if not LElts.Find( SVers, IIndex )
then IIndex := LElts.AddObject( SVers, TStringList.Create );
// ajout de l'arc
if TStringList( LElts.Objects[ IIndex ] ).IndexOf( SDe ) = -1
then TStringList( LElts.Objects[ IIndex ] ).Add( SDe );
end; |