Bonjour à toutes et à tous,

J'ai besoin de déclarer différent tableaux constants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{$REGION 0}
Const
  ListeSortie0 : Array[0..4] of String =
  (
  'ggggggggggggggERZGFEZRgg',
  'gggggggggggZERGZFggggg',
  'gggggggggggggRZEGggg',
  'gggggggggggZEggggg',
  'ggREZFEZRGFERgggggggggggggg'
  );
{$ENDREGION 0}
 
{$REGION 1}
Const
  ListeSortie1 : Array[0..0] of String =
  ('TTTTTTTTTTTTTTTTTTT');
{$ENDREGION 1}
Ensuite dans une procédure OnClick commune à différent Boutton, j'ai besoin de copier l'un de ces tableaux dans un tableau dynamique Mais cela ne fonctionne pas voilà mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
procedure TFConversion.sBitBtnCommunClick(Sender: TObject);
Var
  Path : array[0..MAX_PATH] of Char;
  i: Integer;
  Liste: array of String;
begin
// Récupération du chemin Mes doc du poste
  SHGetSpecialFolderPath(0,Path, CSIDL_PERSONAL,False);
  Case TsBitBtn(Sender).Tag of
    0:{Log1}
      Begin
        SetLength(Liste, Length(ListeSortie0));
        Liste := Copy(listeSortie0);
        EditSortie.Text := IncludeTrailingPathDelimiter(StrPas(Path))+'ECRITURES.TXT';
      end;
    1:{Log2}
      Begin
        SetLength(Liste, Length(ListeSortie1));
        Liste := Copy(listeSortie1);
        EditSortie.Text := IncludeTrailingPathDelimiter(StrPas(Path));
      end;
    2:{Log3}
      Begin
      end;
    3:{Log4}
      Begin
      end;
    4:{Log5}
      Begin
      end;
    6:{Log6}
      Begin
      end;
  End;
 
// On mets à jour les choix du profil de sortie
  With sComboBoxProfils do
  Begin
    Items.Clear;
    for i := Low(Liste) to High(Liste) do
      Items.Add(Liste[i]);
  end;
 
  if sComboBoxProfils.Items.Count > 0 then sComboBoxProfils.ItemIndex := 0;
end;
Mais cela bloque sur la ligne : Liste := Copy(listeSortie0); avec erreur type incompatible.

J"ai également essayer cela
Move(ListeSortie0[0],Liste[0],Length(ListeSortie0));

Mais je ne recopie que la première valeur. Mon but etant d'éviter de passer par une boucle.

Merci de vos lumières.