Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

[Delphi] Struttura Unit

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

[Delphi] Struttura Unit

Messaggioda Red Daemon » gio nov 30, 2006 11:22 am

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
Avatar utente
Red Daemon
Neo Iscritto
Neo Iscritto
 
Messaggi: 19
Iscritto il: gio nov 23, 2006 5:57 pm

Re: [Delphi] Struttura Unit

Messaggioda Silver Black » gio nov 30, 2006 12:49 pm

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!
Sergio Pappalardo aka Silver Black
CyberInstaller - www.silvercybertech.com - http://silvercybertech-labs.com/cyberblog
Avatar utente
Silver Black
Silver Member
Silver Member
 
Messaggi: 1147
Iscritto il: gio gen 06, 2005 8:50 pm
Località: Bassano del Grappa (VI)

Re: [Delphi] Struttura Unit

Messaggioda Red Daemon » gio nov 30, 2006 1:35 pm

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
Avatar utente
Red Daemon
Neo Iscritto
Neo Iscritto
 
Messaggi: 19
Iscritto il: gio nov 23, 2006 5:57 pm

Re: [Delphi] Struttura Unit

Messaggioda Silver Black » gio nov 30, 2006 2:11 pm

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]
Sergio Pappalardo aka Silver Black
CyberInstaller - www.silvercybertech.com - http://silvercybertech-labs.com/cyberblog
Avatar utente
Silver Black
Silver Member
Silver Member
 
Messaggi: 1147
Iscritto il: gio gen 06, 2005 8:50 pm
Località: Bassano del Grappa (VI)


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising