* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Aprile 26, 2024, 07:56:43 am

Inserisci il nome utente, la password e la durata della sessione.

215 Visitatori, 0 Utenti

Autore Topic: Button1.Caption: testo su due righe  (Letto 2824 volte)

petrusic

  • Hero Member
  • *****
  • Post: 589
  • Karma: +0/-0
Button1.Caption: testo su due righe
« il: Maggio 03, 2020, 06:31:31 pm »
Come si evince dal titolo ho necessità di assegnare alla proprietà Caption din un Button una dicitura esplicativa che, essendo troppo lunga, vorrei dividere in 2 righe.
Ho provato ad aggiungere il codice HTML <BR> nel punto di ritorno a capo, ma non è stato interpretato, allora ho eseguito la seguente istruzione
Codice: [Seleziona]
BTrasf3.Caption:='TRASFERIMENTO - 2.a parte' + chr(13) + 'per proseguire premere qui';   
Ha funzionato benissimo.
Ora mi sta venendo in mente: E se volessi attribuire ad una parte delle dicitura un colore diverso o una grandezza di Font diversa o, ancora una rappresentazione di tipo bold, come dovrei comportarmi? Non c'è un modo per impostare  e, poi, resettare parametri di scrittura all'nterno di una Caption di un componente grafico?
ciao ciao

bonmario

  • Hero Member
  • *****
  • Post: 1300
  • Karma: +10/-1
Re:Button1.Caption: testo su due righe
« Risposta #1 il: Maggio 03, 2020, 07:44:21 pm »
Ciao,
se non ricordo male, non è possibile con il "TButton standard", devi farlo tu.

Ciao, Mario

petrusic

  • Hero Member
  • *****
  • Post: 589
  • Karma: +0/-0
Re:Button1.Caption: testo su due righe
« Risposta #2 il: Maggio 03, 2020, 09:44:25 pm »
io ho cercato qualche suggerimento fra le esperienze vissute, ma non sono riuscito a trovarne.
Ho provato allora col codice HTML, pensando che, come succede in altri ambienti, venisse riconosciuto, ma non ha funzionato.
ciao ciao

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Button1.Caption: testo su due righe
« Risposta #3 il: Maggio 04, 2020, 08:56:08 am »
Ciao, siccome lazarus usa i componenti del sistema operativo può capitare che il comportamento di alcuni pulsanti non preveda l'andata a capo nella caption del pulsante. Ma questo dipende dal sistema operativo e non da lazarus. Per ovviare a questo problema consiglio di usare il componente TPanel come se fosse un pulsante (perchè possiede l'evento OnCLick). Guarda il mio esempio e fai le prove necessarie a capirlo.

Ieri è passato, domani è futuro, oggi è un dono...

petrusic

  • Hero Member
  • *****
  • Post: 589
  • Karma: +0/-0
Re:Button1.Caption: testo su due righe
« Risposta #4 il: Maggio 04, 2020, 10:40:50 am »
siccome lazarus usa i componenti del sistema operativo può capitare che il comportamento di alcuni pulsanti non preveda l'andata a capo nella caption del pulsante. Ma questo dipende dal sistema operativo e non da lazarus. Per ovviare a questo problema consiglio di usare il componente TPanel come se fosse un pulsante (perchè possiede l'evento OnCLick).
La Form del tuo esempio non si apre. Comunque la mia difficoltà non è l'andare a capo, perchè come avrai letto, riesco a farlo anche nella caption del componente button, sia  con chr(13) e sia  con chr(10).
- non riesco a fare altre cose, come mettere la "a" di 2a come apice;
- non riesco ad evidenziare, se voglio una parte del testo;
- non riesco a fare diventare bold una o più parole del testo.

Ecco dove mi servirebbe, se possibile, essere aiutato.
Ciò non significa che io non abbia accolto il tuo aiuto. Anzi, lo trovo sempre pronto e validissimo.
« Ultima modifica: Maggio 04, 2020, 10:45:23 am da petrusic »
ciao ciao

bonmario

  • Hero Member
  • *****
  • Post: 1300
  • Karma: +10/-1
Re:Button1.Caption: testo su due righe
« Risposta #5 il: Maggio 04, 2020, 11:46:27 am »
La Form del tuo esempio non si apre.

Si apre benissimo !!!
Visto questo tuo commento, ed tuoi problemi dei giorni scorsi, la domanda nasce spontanea: come fai ad aprire i progetti ?

Io conosco questi modi, che funzionano correttamente:
- da Esplora Risorse o simili: doppio click sul file .lpi o .lpr
- dall'IDE di Lazarus: Progetto ==> Apri progetto, e vai a selezionare il file.lpi che corrisponde al progetto.

Per quanto riguarda invece l'andare a capo con un TButton, occhio che, come diceva xinyiman, magari col sistema operativo su cui sei adesso funziona, ma la cosa non vale per tutti i sistemi operativi. Se non ricordo male, su Windows non funzionerebbe.

Ciao, Mario

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2870
  • Karma: +20/-4
Re:Button1.Caption: testo su due righe
« Risposta #6 il: Maggio 04, 2020, 12:57:08 pm »
per andare a capo c'è una costante che si chiama
Codice: [Seleziona]
LineEnding

questa costante è mappata in ogni OS con la giusta sequenza di caratteri

bisogna usare questa costante
Imagination is more important than knowledge (A.Einstein)

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Button1.Caption: testo su due righe
« Risposta #7 il: Maggio 04, 2020, 02:24:49 pm »
Guarda questo esempio. Se non riesci ad aprirlo basta che ti spulci il semplicissimo codice presente in unit1.pas

Ieri è passato, domani è futuro, oggi è un dono...

Otto

  • Jr. Member
  • **
  • Post: 58
  • Karma: +0/-0
Re:Button1.Caption: testo su due righe
« Risposta #8 il: Maggio 04, 2020, 03:19:05 pm »
Ciao petrusic.
È probabile che tu non riesca ad aprire il progetto di xinyiman in quanto esso è stato creato con una  versione di Lazarus successiva a quella utilizzata da te.

Ho allegato il progetto di xinyiman reso compatibile con Lazarus 2.0.8 (versione corrente). Visto che questa situazione si è già verificata in passato, questa volta, potresti farci sapere se il progetto allegato viene aperto correttamente?

Grazie.

petrusic

  • Hero Member
  • *****
  • Post: 589
  • Karma: +0/-0
Re:Button1.Caption: testo su due righe
« Risposta #9 il: Maggio 04, 2020, 04:32:02 pm »
È probabile che tu non riesca ad aprire il progetto di xinyiman in quanto esso è stato creato con una  versione di Lazarus successiva a quella utilizzata da te.

Ho allegato il progetto di xinyiman reso compatibile con Lazarus 2.0.8 (versione corrente). Visto che questa situazione si è già verificata in passato, questa volta, potresti farci sapere se il progetto allegato viene aperto correttamente?
Ciao a tutti.
Anche se non sembra, come oggi, io rispondo sempre; infatti ho risposto a bonmario, tuttavia la risposta, finita, è rimasta a casa ed  è ormai perduta.
Vengo però subito al dunque.

Ho scaricato il file .zip che mi hai girato e, questa volta, seguendo il mio solito schema comportamentale, ha funzionato perfettamente.
Lazarus installato: 2.0.6 - FPC 3.0.4
Ecco come ho proceduto:
Citazione
Fasi esecutive per la prova di project1:
1- scarico di project1 (/home/petrus/Scaricati)
2- creazione nuova directory sotto: /media/dirdati/dativari/lazarus_progetti
3- spostamento di project1.zip in: /media/dirdati/dativari/lazarus_progetti/project1
4- avvio dell'IDE di lazarus
5- Menu File -> Chiudi tutti i file
6- Menu Progetto -> Apri progetto -> /media/dirdati/dativari/lazarus_progetti/project1/project1.lpi
7- Avvio compilazione e successiva esecuzione: --> funziona tutto

Io conosco questi modi, che funzionano correttamente:
- da Esplora Risorse o simili: doppio click sul file .lpi o .lpr
da File Manager -> /media/dirdati/dativari/lazarus_progetti/project1/project1.lpi -> doppio click su project1.lip (lo stesso stamattina sull'originale, mandatomi da xinyiman) viene aperta una scheda dentro firefox col seguente contenuto:
Codice: [Seleziona]
Il file XML specificato apparentemente non ha un foglio di stile associato. L’albero del documento è mostrato di seguito.
<CONFIG>
<ProjectOptions>
<Version Value="12"/>
<General>
<Flags>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<Title Value="project1"/>
<Scaled Value="True"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<XPManifest>
<DpiAware Value="True"/>
</XPManifest>
<Icon Value="0"/>
</General>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<DestinationDirectory Value="C:/Users/Axo/Documents/Code/Lazarus/_Forum-Lazarus/test_caption_02/Cap"/>
<UseFileFilters Value="True"/>
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
</RunParams>
<RequiredPackages Count="1">
<Item1>
<PackageName Value="LCL"/>
</Item1>
</RequiredPackages>
<Units Count="2">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
</Unit1>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="project1"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
</CompilerOptions>
</CONFIG>
Se, invece faccio doppio cluick su project1.lpr, si apre una finestra come semplice file.txt col seguente contenuto.
Citazione
program project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms, Unit1
  { you can add units after this };

{$R *.res}

begin
  RequireDerivedFormResource:=True;
  Application.Scaled:=True;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
In entrambi i casi non si avvia lazarus.

Per quanto riguarda invece l'andare a capo con un TButton, occhio che, come diceva xinyiman, magari col sistema operativo su cui sei adesso funziona, ma la cosa non vale per tutti i sistemi operativi. Se non ricordo male, su Windows non funzionerebbe.
Grazie, non avevo capito che xinyiman volesse riferirsi a SO. diversi da Linux.
ciao ciao

bonmario

  • Hero Member
  • *****
  • Post: 1300
  • Karma: +10/-1
Re:Button1.Caption: testo su due righe
« Risposta #10 il: Maggio 04, 2020, 05:01:06 pm »
Probabilmente, devi associare Lazarus a quelle 2 estensioni. Magari io l'ho fatto anni fa', non ricordo ...

Visto che lavori in Linux, non ti posso dare istruzioni precise, perché il tutto dipende dalla tua distribuzione e dal tuo file manager
- prima devi cercare "startlazarus"
- poi dal tuo file manager, devi fare in modo che i files con quelle 2 estensioni vengano aperti con "startlazarus" (devi mettere il percorso completo !!!)

Ciao, Mario

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Button1.Caption: testo su due righe
« Risposta #11 il: Maggio 04, 2020, 05:52:08 pm »
Non devi aprire i file con il doppio click. Apri tutto da lazarus. File -> Apri
Prima apri il file lpi, poi apri i file .pas
Ieri è passato, domani è futuro, oggi è un dono...

petrusic

  • Hero Member
  • *****
  • Post: 589
  • Karma: +0/-0
Re:Button1.Caption: testo su due righe
« Risposta #12 il: Maggio 04, 2020, 06:45:14 pm »
Probabilmente, devi associare Lazarus a quelle 2 estensioni. Magari io l'ho fatto anni fa', non ricordo ...

Visto che lavori in Linux, non ti posso dare istruzioni precise, perché il tutto dipende dalla tua distribuzione e dal tuo file manager
- prima devi cercare "startlazarus"
- poi dal tuo file manager, devi fare in modo che i files con quelle 2 estensioni vengano aperti con "startlazarus" (devi mettere il percorso completo !!!)

Non devi aprire i file con il doppio click. Apri tutto da lazarus. File -> Apri
Prima apri il file lpi, poi apri i file .pas

Mi pare doveroso darvi una notizia: quando ho installato lazarus l'ho fatto nella partizione dove ho installato il SO. Sabayon, dove, però non archivi dati.
Tutti i miei dati e quindi, tutti i sorgenti dei miei programmi, a partire da Gambas fino a Lazarus, sono stati archiviati e devono rimanere in una partizione diversa, residente fisicamente su una unità a disco diversa da quella dove risiede il SO. corrente.
Ecco perchè mi trovo con le directory per il pacchetto lazarus (linguaggio):
Citazione
-> /home/petrus/pascalazar/lazarus/startlazarus.app/Contents/MacOS/startlazarus
->/home/petrus/pascalazar/lazarus/lazarus.app/Contents/MacOS/lazarus
e una directyory per l'archiviazione delle applicazioni (mie e non):
Citazione
-> /media/dirdati/dativari/lazarus_progetti/  contenente i progetti studio, rilevati nel web
->/media/dirdati/dativari/lazarus_progetti/lazarus_progetti_miei/ contenente i progetti che ho scritto sia ad uso didattico, sia come applicativi reali personali.
Ora non so se questa mia organizzazione possa dare fastidio al buon funzionamento di lazarus.
Di solito, visto che lavoro su un solo progetto, accedo facilmente da Lazarus-IDE -> Menu Progetto -> Apri progetto recente -> /media/dirdati/dativari/lazarus_progetti/lazarus_progetti_miei/nome_progetto.lpi
Infatti, a fine apertura, ho sempre tutti i file occorrenti, ben disponibili per modificarli ed implementarli secondo l'impostazione logica necessaria.
ciao ciao

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Button1.Caption: testo su due righe
« Risposta #13 il: Maggio 05, 2020, 08:55:22 am »
Non è un problema dell'installazione. Sappi però che non è detto che all'apertura del file lpi lazarus apra automaticamente anche i file pas. Potrebbe essere necessario aprirli a mano.
Ieri è passato, domani è futuro, oggi è un dono...

bonmario

  • Hero Member
  • *****
  • Post: 1300
  • Karma: +10/-1
Re:Button1.Caption: testo su due righe
« Risposta #14 il: Maggio 05, 2020, 09:12:07 am »
Non è un problema dell'installazione. Sappi però che non è detto che all'apertura del file lpi lazarus apra automaticamente anche i file pas. Potrebbe essere necessario aprirli a mano.

Per curiosità, hai notato se questo sucecde su particolari sistemi operativi, o altro?
Io uso Lazarus su Windows (da XP un avanti), ed Ubuntu Linux.
In Ubuntu, ho prima dovuto configurare a dovere il file manager, ma ora, sui 3 PC su cui ho installato Lazarus, quando faccio "doppio click" sul file .lpi o su quello .lpr, i apre il file .pas relativo al form principale. Questo la fa sempre, a meno che, l'ultima volta che avevo salvato quel progetto, per qualsiasi motivo quel file .pas fosse chiuso al momento del salvataggio.

Ciao, Mario

 

Recenti

How To

Utenti
Stats
  • Post in totale: 18772
  • Topic in totale: 2233
  • Online Today: 386
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 215
Total: 215

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.