Italian community of Lazarus and Free Pascal

Programmazione => LCL => Topic aperto da: kelvo - Novembre 02, 2011, 09:47:55 am

Titolo: tTreeView
Inserito da: kelvo - Novembre 02, 2011, 09:47:55 am

  // come aggiungo ad 'Archivi' la voce Clienti?
  // ed al doppio click su 'Clienti' come faccio a fare partire un form?
                                                                             
Titolo: Re:tTreeView
Inserito da: xinyiman - Novembre 02, 2011, 10:05:43 am
Allora, ho fatto le seguenti modifiche la tuo programma, sono andato in file è ho cliccato "Nuova form" che ha la Unit di nome Unit1 con la form che si chiama Form2.

Ecco il codice per fare quello che volevi tu:

Codice: [Seleziona]
unit MdiPrincipale; 

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls
  , Unit1
  ;

type

  { TForm1 }

  TForm1 = class(TForm)
    TreeView1: TTreeView;
    procedure FormCreate(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
var
  RootNode: TTreeNode;
begin

  RootNode:=treeView1.Items.AddFirst(nil,'Home');
  Treeview1.Items.Add (RootNode,'Archivi');
      Treeview1.Items.AddChild(Treeview1.Items.GetLastNode,'Clienti');
  Treeview1.Items.Add (RootNode,'Contabilita');
  Treeview1.Items.Add (RootNode,'Magazzino');
  RootNode.Expanded:=true;

  // come aggiungo ad 'Archivi' la voce Clienti?
  // ed al doppio click su 'Clienti' come faccio a fare partire qualcosa?

end;

procedure TForm1.TreeView1Click(Sender: TObject);
begin
     if Treeview1.Selected.Text='Clienti' then
     begin
          Form2.Show;
     end;
end;

end.


Spero ti sia stato utile.
Titolo: Re:tTreeView
Inserito da: kelvo - Novembre 02, 2011, 10:46:20 am
grazie piu' o meno va
ma mi da un errore di runtime
allego ...
Titolo: Re:tTreeView
Inserito da: xinyiman - Novembre 02, 2011, 10:49:26 am
Ho compilato il tuo esempio e non mi da nessun errore.

Che versione di Lazarus usi? Su quale sistema operativo?
Titolo: Re:tTreeView
Inserito da: kelvo - Novembre 02, 2011, 10:50:34 am
win7
compilato OK
prova a lanciarlo mi da un errore
Titolo: Re:tTreeView
Inserito da: xinyiman - Novembre 02, 2011, 10:57:56 am
Purtroppo io ho win XP, aspettiamo se qualcun'altro trova l'arcano. Ma ti da errore quando? Quando clicchi quando apre la form? Dimmi di più...
Titolo: Re:tTreeView
Inserito da: kelvo - Novembre 02, 2011, 11:01:31 am
no quando parte il programma
emm
ho ricompilato errore sparito
mah ...
Titolo: Re:tTreeView
Inserito da: xinyiman - Novembre 02, 2011, 11:06:03 am
Meglio :)
Titolo: Re:tTreeView
Inserito da: kelvo - Novembre 02, 2011, 02:51:53 pm
sempre io ...
ora ho problemi con i form ...
vorrei creare un form per la gestione dei clienti
lo vorrei chiamare 'AR_Clienti'  e il ile nello stesso modo si puo'?
vorrei che al click della treeview partisse il form AR_Clienti.show;   ma non va
c'e' un anima pia o no che mi sistema il progetto?
grazie
Titolo: Re:tTreeView
Inserito da: xinyiman - Novembre 02, 2011, 03:15:08 pm
Basta che cambi la sezione uses della form principale, praticamente gli devi dire dove può trovare la form2. Altrimenti lui cerca la Form2 ma non sa dove prenderla. Capito?!
Così

uses
  Classes , SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls
  ,AR_Clienti
  ;
Titolo: Re:tTreeView
Inserito da: kelvo - Novembre 02, 2011, 03:16:12 pm
provo
Titolo: Re:tTreeView
Inserito da: Goblin - Novembre 02, 2011, 03:18:41 pm
io opterei l'inserimento della clausula 'uses' sotto implementation, in modo da non incorrere in un circular reference:

implementation

{$R *.lfm}

Uses AR_Clienti; 
Titolo: Re:tTreeView
Inserito da: kelvo - Novembre 02, 2011, 03:27:32 pm
ok messo li sotto implementation e funzia.

esiste un Datasource per SQlite ?
per poterlo utilizzare con i controllo standard, grid, bar etc...
Titolo: Re:tTreeView
Inserito da: xinyiman - Novembre 02, 2011, 03:31:17 pm
Bhe si lo trovi tra i componenti del database! E poi lo colleghi al componente SQLiteConnector mi sembra che si chiama!
Titolo: Re:tTreeView
Inserito da: kelvo - Novembre 02, 2011, 04:21:48 pm
la classe e' TSQLConnection / TSQLConnector
ma non trovo la documentazione con un esempio
sai dove posso guardare per aprire un file sqllite con questi componenti standard?
Titolo: Re:tTreeView
Inserito da: xinyiman - Novembre 02, 2011, 05:09:27 pm
Eccoti un esempio

www.lazaruspascal.it/esempi/Sqlite.zip

Alcuni parametri li ho settati da codice, quindi spulciati bene il programma, non scordarti di mettere le dll nella cartella del tuo eseguibile per farlo funzionare. Trovi tutto nell'esempio.

Fammi sapere
Titolo: Re:tTreeView
Inserito da: kelvo - Novembre 02, 2011, 05:50:52 pm
non me lo apre
TSQLite3Connection    non trova questo
non voglio installare nulla di non-standard nell'ide di lazarus
Titolo: Re:tTreeView
Inserito da: Loryea - Novembre 02, 2011, 09:15:55 pm
Xinyiman counque adesso ha aperto una pagina al riguardo, ;)
Titolo: Re:tTreeView
Inserito da: xinyiman - Novembre 03, 2011, 08:35:18 am
non me lo apre
TSQLite3Connection    non trova questo
non voglio installare nulla di non-standard nell'ide di lazarus

Esattamente cosa ti dice del mio esempio? Quello è fatto solo con componenti standard!