Bjr à vous,
Modif du message précédent. Ce code fonctionne mais le presse-papiers de W10 est incroyablement bogué
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
46
47
48
49
50 uses Classes, SysUtils, Clipbrd, ComCtrls; // Clipbrd pour le presse-papiers procedure TCdrBRIC4Device.btnCopyClick(Sender: TObject); var LS: TStringList; MyNode: TTreeNode; s: Integer; procedure ProcessNode(Node: TTreeNode); var ANode: TTreeNode; NodeStr: String; i: Integer; begin if (Node.Count > 0 )then begin ANode := Node[0]; while ANode <> nil do begin NodeStr := ''; for i := 0 to ANode.Level - 1 do NodeStr := NodeStr + '-'; NodeStr := Trim(NodeStr + ' ' + ANode.Text); LS.Add(NodeStr); ANode := ANode.GetNext; end; end; end; begin AfficherMessage(''); LS := TStringList.Create; //CP := TClipboard.Create(TClipboardType.ctClipboard); try // Traiter les nuds racine MyNode := treeviewBRIC4Services.Items.GetFirstNode; ProcessNode(MyNode); // Mettre le résultat dans le presse-papiers Clipboard().AsText := ''; if (LS.Count = 0) then exit; for s := 0 to LS.Count - 1 do begin AfficherMessage(LS.Strings[S]); // OK Clipboard().AsText := Clipboard().AsText + LS.Strings[s] + #13#10; end; finally LS.Free; end; end;
Partager