Pagina 1 di 1

[Delphi] Struttura Unit

MessaggioInviato: gio nov 30, 2006 11:22 am
da Red Daemon
Non riesco a capire Type nella parte Interface di una Unit, cioe' a cosa servono le tre sezioni type -Private-Public esempio:

Codice: Seleziona tutto
unit fmEdit;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, StdCtrls;

type
  TfmEditor = class(TForm)
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    Nuovo1: TMenuItem;
    Apri1: TMenuItem;
    Salva1: TMenuItem;
    Esci1: TMenuItem;
    Formato1: TMenuItem;
    Carattere1: TMenuItem;
    etTesto: TMemo;
    odApri: TOpenDialog;
    sdSalva: TSaveDialog;
    fdCarattere: TFontDialog;
    procedure Nuovo1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Apri1Click(Sender: TObject);
    procedure Salva1Click(Sender: TObject);
    procedure Esci1Click(Sender: TObject);
    procedure etTestoChange(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure Carattere1Click(Sender: TObject);
  private
    NomeFile: string;
    Salvato: boolean;
    procedure FileApri;
    procedure FileNuovo;
    procedure FileSalva;
    function Conferma: boolean;
    procedure FormatoCarattere;
  public
    procedure SetNomeFile(const value: string );
    procedure SetSalvato(const value: boolean );
  end;

var
  fmEditor: TfmEditor;

implementation


La parte tra Type e Private cosa deve contenere ?
La parte Private contiene procedure e variabili private per la form, ma perche' sono state dichiarete in quella sezione e non nella parte implementation ?

So che le domande sono tante e banali, se avete un documento (ITA) da cui poter attingere vi chiedo di segnalarmelo, sui manuali di Delphi non sono riuscito a trovare.

Ciao Red Daemon

Re: [Delphi] Struttura Unit

MessaggioInviato: gio nov 30, 2006 12:49 pm
da Silver Black
Red Daemon ha scritto:Non riesco a capire Type nella parte Interface di una Unit, cioe' a cosa servono le tre sezioni type -Private-Public esempio:

Codice: Seleziona tutto
type
  TfmEditor = class(TForm)
    .
    .
    .
  private
    NomeFile: string;
    Salvato: boolean;
    procedure FileApri;
    procedure FileNuovo;
    procedure FileSalva;
    function Conferma: boolean;
    procedure FormatoCarattere;
  public
    procedure SetNomeFile(const value: string );
    procedure SetSalvato(const value: boolean );
  end;

var
  fmEditor: TfmEditor;

implementation


Come vedi dalla riga

Codice: Seleziona tutto
type
  TfmEditor = class(TForm)


TFmEditor è una classe. Quindi qui stiamo parlando di OOP, non di semplice unit (che può essere organizzata anche in modo da non usare la OOP).

Premesso questo vediamo gli altri quesiti, che si applicano alla creazione di qualsiasi classe (non solo alle form, che sono in tutto e per tutto classi).

La parte tra Type e Private cosa deve contenere ?


I campi (fields), variabili che non sono proprietà, gli eventi, l'eventuale costruttore e distruttore.

La parte Private contiene procedure e variabili private per la form, ma perche' sono state dichiarete in quella sezione e non nella parte implementation ?


La clausola "Private" indica proprietà e metodi che valgono solo all'interno della classe stessa (la tua form in questo caso). Se fossero dichiarate nella implementation non sarebbero metodi e proprietà della classe, ma semplici variabili e procedure/funzioni, con tanti saluti all'incapsulazione e all'ereditarietà (e tutti gli altri concetti della OOP in generale).

So che le domande sono tante e banali, se avete un documento (ITA) da cui poter attingere vi chiedo di segnalarmelo, sui manuali di Delphi non sono riuscito a trovare.


Non preoccuparti, sono dell'idea che non esistano domande banali (semmai sono le risposte che possono esserlo). Quindi chiedi pure tutto quello che vuoi!

Per quanto riguarda manuali e siti web di documentazione, bhe, un loro studio è sempre auspicabile. Ti rimando a questo fantastico sito che in questa pagina illustra molti dei concetti di base della OOP, Object Oriented Programmin (ossia, come saprai, Programmaizone Orientata agli Oggetti).

Ciao e buona OOP!

Re: [Delphi] Struttura Unit

MessaggioInviato: gio nov 30, 2006 1:35 pm
da Red Daemon
Red Daemon ha scritto:Non riesco a capire Type nella parte Interface di una Unit, cioe' a cosa servono le tre sezioni type -Private-Public esempio...

Silver Black ha scritto:Non preoccuparti, sono dell'idea che non esistano domande banali (semmai sono le risposte che possono esserlo). Quindi chiedi pure tutto quello che vuoi!

Per quanto riguarda manuali e siti web di documentazione, bhe, un loro studio è sempre auspicabile. Ti rimando a questo fantastico sito che in questa pagina illustra molti dei concetti di base della OOP, Object Oriented Programmin (ossia, come saprai, Programmaizone Orientata agli Oggetti).

Ciao e buona OOP!


Incredibile !, ma ho capito, adesso finalmente mi e' chiara la costruzione delle Unit in Pascal ad oggetti, grazie della spiegazionie Silver Black mi hai aperto una porta che era chiusa a chiave [applauso] , grazie ancora.

Ciao Red Daemon

Re: [Delphi] Struttura Unit

MessaggioInviato: gio nov 30, 2006 2:11 pm
da Silver Black
Red Daemon ha scritto:Incredibile !, ma ho capito, adesso finalmente mi e' chiara la costruzione delle Unit in Pascal ad oggetti, grazie della spiegazionie Silver Black mi hai aperto una porta che era chiusa a chiave [applauso] , grazie ancora.


Felice di esserti stato utile! [:-D]