Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: petrusic - Ottobre 31, 2020, 05:05:54 pm

Titolo: [Risolto] modifica Caption di una Form
Inserito da: petrusic - Ottobre 31, 2020, 05:05:54 pm
Quella indicata nel titolo è una grossa banalità, ma purtroppo non so trovare la risposta che mi serve.
Il mio problema è questo:
Ho cominciato la stesura di un progettino nel quale ho inserito 4 Form, una principale che ho chiamato FormMain, con tanto di Menù. Le altre 3 sono la Form 21, la Form 22 e la Form 31.
Nella finestra Opzioni Progetto la FormMain è l'unica che viene generata automaticamente, mentre le altre sono elencate fra le Form disponibili e vengono create durante l'esecuzione  attraverso il click sulla voce di menù corrispondente, nella FormMain .

Es.:
Codice: [Seleziona]
procedure TFormMain.MnConcSingClick(Sender: TObject);
begin
    Form31:= TForm31.Create(Self);
    Form31.ShowModal;
    Form31.Free;
end;                                       
Quando ho disegnato le suddette Form 21, 22, 31 non mi sono preoccupato dei dettagli come, la posizione sullo schermo, la dimensine, il titolo, ecc...
Ieri ho ripreso il progettino ed ho tentato di aggiungere nella Form 31 una caption appropriata. L'ho fatto agendo all'interno del file .lfm:
Codice: [Seleziona]
Caption = 'Form 3.1 - finestra n° xxx del gg.mmm.aaaa'
Pensavo di avere raggiunto l'obiettivo, invece, alla successiva esecuzione la nuova caption non è comparsa.
*?*
Dove sbaglio?
Titolo: Re:modifica Caption di una Form
Inserito da: xinyiman - Ottobre 31, 2020, 05:56:28 pm
Hai già provato qualcosa del genere?

Codice: [Seleziona]

procedure TFormMain.MnConcSingClick(Sender: TObject);
begin
    Form31:= TForm31.Create(Self);
    Form31.Caption := 'Titolo che vuoi dargli'; //per impostare la caption della form
    //per impostare il punto in cui si aprirà la form
    Form31.Top := 10;
    Form31.Left := 10;
    //per stabilire le dimensioni della form
    Form31.Width := 100;
    Form31.Height := 200;
    Form31.ShowModal;
    Form31.Free;
end;       

Titolo: Re:modifica Caption di una Form
Inserito da: petrusic - Ottobre 31, 2020, 09:53:44 pm
No, non ho provato, perchè, secondo me, doveva bastare modificare il file .lfm.
Ho provato a seguire il tuo suggerimento e ... funziona.
A questo punto, non capisco a che cosa serva quel file (.lfm), infatti ho provato ad attivare il debug all'interno di detto file, ma, in esecuzione, non viene richiamato. A maggior ragione, perciò, pongo la domanda:
A che serve il file .lfm?  :-[


Titolo: Re:modifica Caption di una Form
Inserito da: bonmario - Novembre 01, 2020, 08:06:58 am
Il file lfm non andrebbe MAI modificato a mano, se non i n casi veramente particolari.
Lo modifichi tramite l'object inspector: prima, nella parte alta, selezioni il form. A quel punto, nella parte bassa, ci sono tutte le sue proprietà modificabili, tra cui la caption.

Ciao, Mario
Titolo: Re:modifica Caption di una Form
Inserito da: nomorelogic - Novembre 01, 2020, 06:52:41 pm
A che serve il file .lfm?  :-[


quì c'è una lista delle estensioni usate fa fpc e lazarus

un file lfm serve ad inizializzare una form e tutti i suoi componenti immediatamente dopo la creazione
se ci fai caso, a runtime la form appare come l'hai impostata a design time ma non c'è una riga di codice che fa questo

immediatamente dopo la creazione della form, tutte le sue proprietà e le proprietà dei controlli che contiene, vengono inizializzate secondo le impostazioni di questo file
Titolo: Re:modifica Caption di una Form
Inserito da: petrusic - Novembre 02, 2020, 06:04:05 pm
Il file lfm non andrebbe MAI modificato a mano, se non i n casi veramente particolari.
Lo modifichi tramite l'object inspector: prima, nella parte alta, selezioni il form. A quel punto, nella parte bassa, ci sono tutte le sue proprietà modificabili, tra cui la caption.

Bene, ma quando clicco su "Analizzatore progetti (object inspector)", mi si apre una finestra simile a quella allegata, dove sono elencati i file del progetto. Cliccando, poi su uno di seesi, posso vedere solo sorgenti, ma niente che permetta di agire direttamente su componenti grafici della form, quindi non ho la possibilità di modificare niente sulla vista della form, nè il nome della stessa Form, nè la sua posizione, nè la sua altezza, nè la sua grandezza, nemmeno, ovviamente, la caption.
Ecco perchè ho pensato che avrei potuto ottenere lo stesso risultato, modificando le righe interne al file ".lfm".


Titolo: Re:modifica Caption di una Form
Inserito da: bonmario - Novembre 02, 2020, 06:33:02 pm
Dovresti avere un file ".pas" per ogni Form gestito nel tuo programma.
Vai nel file ".pas" del form desiderato, e premi il tasto F12: da questo momento in poi, nell'object inspector, devi vedere le proprietà di quel Form.

Ciao, Mario
Titolo: Re:modifica Caption di una Form
Inserito da: petrusic - Novembre 02, 2020, 11:35:50 pm
Ho fatto come mi hai suggerito:
1. se apro il file form1.pas;
2. e premo il tasto F12, compare la Form1
3. A questo punto, premendo F11 compare la finestra delle proprietà.

oppure:
1. dopo avere aperto il file form1.pas;
2. premo  F11, compare direttamente la finestra delle proprietà.

Sia che a vista ci sia la finestra della Form, che quella delle proprietà, premendo F12, rimane a vista soltanto la finestra del codice sorgente.pas relativa.

Ciao
Titolo: Re:modifica Caption di una Form
Inserito da: bonmario - Novembre 03, 2020, 07:51:13 am
Dai nomi che si vedono nei post precedenti, sembra un progetto di prova.
Lo puoi allegare?

Ciao, Mario
Titolo: Re:modifica Caption di una Form
Inserito da: petrusic - Novembre 03, 2020, 03:27:45 pm
Dai nomi che si vedono nei post precedenti, sembra un progetto di prova.
Lo puoi allegare?
Si, ci provo.
Allego un file compresso, nella speranza che questa volta sia leggibile
Titolo: Re:modifica Caption di una Form
Inserito da: bonmario - Novembre 03, 2020, 04:00:10 pm
Il file è leggibile, ma il progetto ha un solo form ....
Titolo: Re:modifica Caption di una Form
Inserito da: petrusic - Novembre 16, 2020, 03:26:53 pm
Il file è leggibile, ma il progetto ha un solo form ....
Scusa se riprendo solo ora la discussione.
Anche se non capisco che differenza faccia fra uno o più form, tuttavia, ti gioro in allegato il mio progetto di contabilità familiare, versione Lazarus, iniziato da pochissimo.
Mi dispiace che non funzioni, infatti non riesco a provarlo per la presenza di un errore che devo ancora risolvere.

Titolo: Re:modifica Caption di una Form
Inserito da: bonmario - Novembre 16, 2020, 04:44:11 pm
Cambia, perché nel post iniziale di questa discussione, chiedevi come cambiare il tiolo dei form secondari ....

Qer quanto riguarda invece l'ultimo progetto che hai allegato:
- Quando lo apri, parte con aperto il primo form
- Vai nell'Object Inspector, nella parte alta clicchi su "Form1" e, nella parte bassa, se modifichi la Caption, e premi INVIO, vedrai già il titolo modificato

Per modificare il titolo del secondo form:
- nella uses di "frmmain.pas", in fondo c'è scritto "Frm2"
- tenendo premuto il tasto CTRL, clicchi col tasto sinistro del mouse su "Frm2"
- ti apre il sorgente "frm2"
- premi il tasto F12, e vedrai che nell'Object Inspector adesso vedi i dati del secondo form. Per modificare il titolo, fai le stesse cose che ti ho scritto prima per il form principale.

Ciao, Mario