I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Spørgsmålet er hvordan du får gemt information i hver TTreeNode om hvilket TabSheet programmet skal gå til.
Hvis du bare har de førnævnte 6 nodes og ikke får flere, så kan du bare gøre følgende:
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode); begin if assigned(Node) then PageControl1.ActivePageIndex := Node.Index; end;
Sådan som "nop" foreslår.
Har du flere nodes må du gemme indekset et eller andet sted i Treenoden - en hyppigt brugt, men grim variant, er at gemme det i TTreeNode.Data: TTreeView1.Items[0].Data := pointer(0) ... Men det er så skide grimt og man kan ikke vide om værdierne der er nogle af værdierne der trigger et eller andet (prøv bare at indsætte -1 i en combobox: ComboBox.AddObject('Test',TObject(-1));)
Den langt pænere er at gemme instansen af tabsheeten i data-propertyen:
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode); begin if assigned(Node) then PageControl1.ActivePage := Node.Data; // Indeholder den TTabSheet der skal vises end;
procedure TForm1.Button2Click(Sender: TObject); var i : integer; Node : TTreeNode; begin TreeView1.Items.Clear; for i := 0 to PageControl1.PageCount - 1 do TreeView1.Items.AddObject(nil,PageControl1.Pages[i].Caption,PageControl1.Pages[i]); end;
Prøvede lige min påstand om at indsætte -1 i en TComboBox - det var åbenbart ikke ComboBoksen jeg havde oplevet det ved - det var et andet sted.
Hvis man indsatte en pointer med (signed) positionen -1, så blev det faktisk fortolket som "Index out of Bounds" idet man i VCL-koden kunne læse (efter hukommelsen):
procedure GetObjectItem(aIndex : integer); begin p := GetObject(aIndex); if integer(p) = INDEX_OUT_OF_BOUNDS then // Konstanten er naturligvis -1 raise exception.create('Index out of bounds'); end;
Synes godt om
Slettet bruger
14. maj 2004 - 18:29#4
takker
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.