Come e' strutturata una unit in lazarus

di il
21 risposte

21 Risposte - Pagina 2

  • Re: Come e' strutturata una unit in lazarus

    14/10/2023 - panfra ha scritto:


    Sono riuscito a trovare l'es<tta sequenza in internet.

    Deve essere stata una ricerca faticosa… :)

  • Re: Come e' strutturata una unit in lazarus

    {$mode objfpc}{$H+}

    interface

    uses
     Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus,
     ExtCtrls, ComCtrls, StdCtrls;

    type

     { TForm1 }  

    CODICEprivate

     public

     end;

    var
     Form1: TForm1;

    implementation

    {$R *.lfm}

    { TForm1 }        

    CODICE

  • Re: Come e' strutturata una unit in lazarus

    Il codice riportato non è assolutamente corretto.

    14/10/2023 - panfra ha scritto:


    {$mode objfpc}{$H+}

    interface

    Qui manca l'intestazione della unit, ossia la riga che contiene la parola chiave unit seguita dal nome, che in genere coincide con il nome del file.

    14/10/2023 - panfra ha scritto:


    type

     { TForm1 }  

    CODICEprivate

     public

     end;

    In questa parte, { TForm1 } non è “struttura”, ma un semplice commento: è prassi lasciarlo ma è del tutto irrilevante ai fini del contenuto utile del file.

    La riga con “CODICEprivate” non ha alcun senso: sembra un pezzo della dichiarazione di una classe, ma manca la parte iniziale (quella con la parola chiave class), fermo restando che definire una classe è possibile ma non essenziale per dare una struttura sensata alla unit. Quel “CODICE” non si capisce cosa voglia dire, ma non è valido né come segnaposto né come codice effettivo, questo è certo.

    Fornisco queste indicazioni - lo preciso - non per l'autore della discussione, che ormai è assodato ignori qualunque tipo di indicazione fornita ed è al limite del “trollaggio”, ma per chiunque dovesse passare di qui e pensare che la struttura riportata sia anche solo minimamente valida e reale come spunto da cui partire per scrivere in una unit in Delphi o Lazarus.

  • Re: Come e' strutturata una unit in lazarus

    VI scrivo tutto il codice sperando di aver tolto gli errrori tranne quello che era nella domanda iniziale……

    unit Unit1;
    
    {$mode objfpc}{$H+}
    
    interface
    
    uses
      Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus,
      ExtCtrls, Comgli Ctrls, StdCtrls;
    
    type
    
      { TForm1 }
    
      TForm1 = class(TForm)
        Edit1: TEdit;
        Image1: TImage;
        ImageList1: TImageList;
        ListBox1: TListBox;
        MainMenu1: TMainMenu;
        MenuItem1: TMenuItem;
        MenuItem10: TMenuItem;
        MenuItem11: TMenuItem;
        MenuItem12: TMenuItem;
        MenuItem13: TMenuItem;
        MenuItem14: TMenuItem;
        MenuItem15: TMenuItem;
        MenuItem16: TMenuItem;
        MenuItem17: TMenuItem;
        MenuItem18: TMenuItem;
        MenuItem19: TMenuItem;
        MenuItem2: TMenuItem;
        MenuItem20: TMenuItem;
        MenuItem21: TMenuItem;
        MenuItem22: TMenuItem;
        MenuItem23: TMenuItem;
        MenuItem24: TMenuItem;
        MenuItem25: TMenuItem;
        MenuItem26: TMenuItem;
        MenuItem27: TMenuItem;
        MenuItem28: TMenuItem;
        MenuItem29: TMenuItem;
        MenuItem3: TMenuItem;
        MenuItem30: TMenuItem;
        MenuItem31: TMenuItem;
        MenuItem32: TMenuItem;
        MenuItem33: TMenuItem;
        MenuItem34: TMenuItem;
        MenuItem35: TMenuItem;
        MenuItem36: TMenuItem;
        MenuItem37: TMenuItem;
        MenuItem38: TMenuItem;
        MenuItem39: TMenuItem;
        MenuItem4: TMenuItem;
        MenuItem40: TMenuItem;
        MenuItem41: TMenuItem;
        MenuItem5: TMenuItem;
        MenuItem6: TMenuItem;
        MenuItem7: TMenuItem;
        MenuItem8: TMenuItem;
        MenuItem9: TMenuItem;
        PopupMenu1: TPopupMenu;
        PopupMenu2: TPopupMenu;
        ToolBar1: TToolBar;
        ToolButton1: TToolButton;
        ToolButton10: TToolButton;
        ToolButton11: TToolButton;
        ToolButton12: TToolButton;
        ToolButton13: TToolButton;
        ToolButton2: TToolButton;
        ToolButton3: TToolButton;
        ToolButton4: TToolButton;
        ToolButton5: TToolButton;
        ToolButton6: TToolButton;
        ToolButton7: TToolButton;
        ToolButton8: TToolButton;
        ToolButton9: TToolButton;
        procedure ListBox1Click(Sender: TObject);
        procedure MenuItem10Click(Sender: TObject);
        procedure MenuItem11Click(Sender: TObject);
        procedure MenuItem13Click(Sender: TObject);
        procedure MenuItem15Click(Sender: TObject);
        procedure MenuItem17Click(Sender: TObject);
        procedure MenuItem21Click(Sender: TObject);
        procedure MenuItem22Click(Sender: TObject);
        procedure MenuItem24Click(Sender: TObject);
        procedure MenuItem25Click(Sender: TObject);
        procedure MenuItem26Click(Sender: TObject);
        procedure MenuItem27Click(Sender: TObject);
        procedure MenuItem29Click(Sender: TObject);
        procedure MenuItem2Click(Sender: TObject);
        procedure MenuItem30Click(Sender: TObject);
        procedure MenuItem32Click(Sender: TObject);
        procedure MenuItem33Click(Sender: TObject);
        procedure MenuItem35Click(Sender: TObject);
        procedure MenuItem36Click(Sender: TObject);
        procedure MenuItem38Click(Sender: TObject);
        procedure MenuItem3Click(Sender: TObject);
        procedure MenuItem40Click(Sender: TObject);
        procedure MenuItem4Click(Sender: TObject);
        procedure MenuItem6Click(Sender: TObject);
        procedure MenuItem9Click(Sender: TObject);
        procedure ToolButton10Click(Sender: TObject);
        procedure ToolButton13Click(Sender: TObject);
        procedure ToolButton2Click(Sender: TObject);
        procedure ToolButton4Click(Sender: TObject);
        procedure ToolButton6Click(Sender: TObject);
        procedure ToolButton8Click(Sender: TObject);
    
      private
    
      public
    
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.lfm}
    
    { TForm1 }
    
    procedure TForm1.ListBox1Click(Sender: TObject);
    begin
       // clic sul testo
    end;
    
    procedure TForm1.MenuItem10Click(Sender: TObject);
    begin
      //download lista
    end;
    
    procedure TForm1.MenuItem11Click(Sender: TObject);
    begin
      //aggiungi alla lista
    
    end;
    
    procedure TForm1.MenuItem13Click(Sender: TObject);
    begin
      //cartelle
    end;
    
    procedure TForm1.MenuItem15Click(Sender: TObject);
    begin
      //inserisci il link txt sulla lista
      listbox1.items.add(edit1.Text)
    end;
    
    procedure TForm1.MenuItem17Click(Sender: TObject);
    begin
      //crea la lista
    end;
    
    procedure TForm1.MenuItem21Click(Sender: TObject);
    begin
      //help
    end;
    
    procedure TForm1.MenuItem22Click(Sender: TObject);
    begin
      //about info
    end;
    
    procedure TForm1.MenuItem24Click(Sender: TObject);
    begin
      //opzioni
    end;
    
    procedure TForm1.MenuItem25Click(Sender: TObject);
    begin
    //  copia nella lista
    end;
    
    procedure TForm1.MenuItem26Click(Sender: TObject);
    begin
      //incolla nella lista
    end;
    
    procedure TForm1.MenuItem27Click(Sender: TObject);
    begin
      //incolla sopra la lista
    end;
    
    procedure TForm1.MenuItem29Click(Sender: TObject);
    begin
      //incolla sotto la lista
    end;
    
    procedure TForm1.MenuItem2Click(Sender: TObject);
    begin
      //inserisci link nel testo
    end;
    
    procedure TForm1.MenuItem30Click(Sender: TObject);
    begin
      //incolla sopra la lista una lista
    end;
    
    procedure TForm1.MenuItem32Click(Sender: TObject);
    begin
    //  incolla sotto la lissta una lista
    end;
    
    procedure TForm1.MenuItem33Click(Sender: TObject);
    begin
      // Apri una lista e mettila nel componente
    end;
    
    procedure TForm1.MenuItem35Click(Sender: TObject);
    begin
    //  copia in link
    end;
    
    procedure TForm1.MenuItem36Click(Sender: TObject);
    begin
      //incolla in link
    end;
    
    procedure TForm1.MenuItem38Click(Sender: TObject);
    begin
      //cancella la casella di TESTO
    end;
    
    procedure TForm1.MenuItem3Click(Sender: TObject);
    begin
      //inserisci lista nella listbox
    end;
    
    procedure TForm1.MenuItem40Click(Sender: TObject);
    begin
    //  Cancella tutta la lista
    end;
    
    procedure TForm1.MenuItem4Click(Sender: TObject);
    begin
      //stampa
    end;
    
    procedure TForm1.MenuItem6Click(Sender: TObject);
    begin
      //esci
    end;
    
    procedure TForm1.MenuItem9Click(Sender: TObject);
    begin
     // download link
    end;
    
    procedure TForm1.ToolButton10Click(Sender: TObject);
    begin
      //info about
    end;
    
    procedure TForm1.ToolButton13Click(Sender: TObject);
    begin
      //help
    end;
    
    procedure TForm1.ToolButton2Click(Sender: TObject);
    begin
      //incollalink
    end;
    
    procedure TForm1.ToolButton4Click(Sender: TObject);
    begin
    //  incollalista
    end;
    
    procedure TForm1.ToolButton6Click(Sender: TObject);
    begin
    //  scarica link
    end;
    
    procedure TForm1.ToolButton8Click(Sender: TObject);
    begin
    //  scaricalista
    end;
    
    end.
                      
  • Re: Come e' strutturata una unit in lazarus

    15/10/2023 - panfra ha scritto:


    VI scrivo tutto il codice sperando di aver tolto gli errrori tranne quello che era nella domanda iniziale……

    Io non capisco il senso di questa discussione: al netto dell'assurdità di come si è articolata, il contenuto della unit che hai riportato è generato integralmente dall'IDE.

    Quando crei un nuovo Form, la unit e la sua struttura vengono creati in automatico, compresa la classe del Form; man mano che aggiungi i componenti, ti inserisce anche le unit correlate nella clausola uses. Quando vai a intercettare un evento, l'editor crea la dichiarazione del metodo e ti prepara il corpo pronto a scrivere il codice per gestire quell'evento. Se rinomini componenti e controlli, l'IDE li rinomina nel codice.

    In pratica, abbiamo portato avanti una discussione di pagine per disquisire sulla corretta struttura di un file la cui composizione si trova documentata ovunque nel Web ed è la stessa dal 1990, stravolgendola e modificandola più volte con enormi difficoltà, quando il tool di sviluppo in uso a oggi ne scrive sostanzialmente la maggior parte.

    Boh, continuo a meravigliarmi.

  • Re: Come e' strutturata una unit in lazarus

    E' vero che si genera tutto da solo ma allora perchè in uses mi da' un eroore per una classe che aveva generato il software? vedi 1ma ricchiesta.

  • Re: Come e' strutturata una unit in lazarus

    15/10/2023 - panfra ha scritto:


    E' vero che si genera tutto da solo ma allora perchè in uses mi da' un eroore per una classe che aveva generato il software? vedi 1ma ricchiesta.

    Perché inavvertitamente l'avrai modificata in modo errato da corretta che era in partenza, quando l'IDE l'ha inserita.

Devi accedere o registrarti per scrivere nel forum
21 risposte