ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 2010
-
29 déc. 2008 à 19:05
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 2019
-
30 déc. 2008 à 22:42
Bonjour,
Je cherche depuis un petit moment le moyen de concaténer deux tableaux dynamiques (dynamic array of char).
Existe-t-il une fonction simple du genre concat ou insert permettant de réaliser cette opération sans être obligé de devoir s'occuper de tous les éléments des deux tableaux par l'intermédiaire d'une boucle?
Merci d'avance
Bonnes fêtes de fin d'année
@+
Nico { www.ni69.info }
A voir également:
Concatener liste python
Concatener deux listes python - Meilleures réponses
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 30 déc. 2008 à 17:55
Merci à tous pour votre contribution !
Effectivement la fonction move est adaptée à ce genre de situations.
Je ne savais pas que l'on pouvait l'employer comme cela sur des tableaux dynamiques!
Il y a cependant une petite erreur dans to code f0xi :
move(A1[L1+1], A2[0], L2); doit être modifié en :
move(A2[0], A1[L1], L2);
L'ordre des paramètres de move est en effet : Source, Dest, Count De plus, L1 est déjà la longueur de A1 (indexé à partir de 0), dont inutile d'ajouter 1
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 30 déc. 2008 à 19:23
Génial le truc de f0xi!
NB: (extrait de l'aide)
Quand vous transmettez un tableau comme paramètre tableau ouvert par valeur, le compilateur crée une copie locale du tableau à l'intérieur du cadre de pile de la routine. Attention : vous ne devez pas provoquer de débordement du cadre de pile en transmettant de gros tableaux.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 30 déc. 2008 à 22:17
@cari : l'aide précise bien le type de passage des paramètres :
"
Quand vous transmettez un tableau comme paramètre tableau ouvert par valeur".
Dans presque tous les cas de figure, il est préférable de transmettre par adresse (var, const ou encore out) car cela peut aussi améliorer sensiblement les performances.
May Delphi be with you !
<hr color="#008000" />Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Vous n’avez pas trouvé la réponse que vous recherchez ?
procedure TForm1.Button1Click(Sender: TObject);
var A, B : TDAOC;
i : Integer;
begin
SetLength(A, 2);
A[0] :='a';
A[1] :='b';
SetLength(B, 3);
B[0] :='c';
B[1] :='d';
B[2] :='e';
ConcatDAOC(A,B);
for i := 0 to 4 do Memo1.Lines.Add(A[i]);
end;