* * * *

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.
Ottobre 16, 2024, 10:50:01 am

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

104 Visitatori, 0 Utenti

Autore Topic: Sostituire una SynEdit con ?  (Letto 963 volte)

bonmario

  • Hero Member
  • *****
  • Post: 1333
  • Karma: +11/-1
Sostituire una SynEdit con ?
« il: Ottobre 09, 2024, 01:48:26 pm »
Ciao,
ho un progetto con una SynEdit, in cui metto del testo, che mi arriva da un programma esterno.
Nella SynEdit vado a colorare alcune parole chiave con colori differenti.

Siccome ultimamente arrivano alcune "righe lunghe", mi hanno fatto notare che la cosa crea problemi, e mi hanno chiesto il "Ritorno a capo automatico", in pratica quello che nelle TMemo fa l'opzione "WordWrap".
Il problema è che la SynEdit non ha quell'opzione !!!

Ora, stavo quindi valutando se può o meno valere la pena vedere se riesco a fare io qualcosa
Per caso conoscete qualche componente simile, che abbia l'opzione WordWrap, e permetta di colorare a runtime lo sfondo di alcune parole?

P.S. La richiesta completa, sarebbe quella di avere un checkbox che permetta di abilitare o disabilitare il "Ritorno a capo automatico" quando vuole l'utente

Grazie, Mario

tito_livio

  • Full Member
  • ***
  • Post: 161
  • Karma: +4/-0
Re:Sostituire una SynEdit con ?
« Risposta #1 il: Ottobre 09, 2024, 06:55:02 pm »
Ciao,
potresti mettere, il testo che ti arriva, prima in una tmemo, invisibile, con la stessa larghezza e lo stesso font, e poi riga per riga, con un loop, riversi nella synedit.
« Ultima modifica: Ottobre 09, 2024, 06:58:56 pm da tito_livio »

bonmario

  • Hero Member
  • *****
  • Post: 1333
  • Karma: +11/-1
Re:Sostituire una SynEdit con ?
« Risposta #2 il: Ottobre 10, 2024, 08:14:31 am »
Ciao,
potresti mettere, il testo che ti arriva, prima in una tmemo, invisibile, con la stessa larghezza e lo stesso font, e poi riga per riga, con un loop, riversi nella synedit.

Grazie per il consiglio, farò qualche prova.

Ciao, Mario

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1348
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:Sostituire una SynEdit con ?
« Risposta #3 il: Ottobre 10, 2024, 07:04:04 pm »
Risposta probabilmente stupida ... perchè non usare una TRichedit ?

Che peculiarità ha SynEdit che sono essenziali per l'uso con il cliente in questione ?

N.B.: non ho mai usato SynEdit ...

Ciao
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

bonmario

  • Hero Member
  • *****
  • Post: 1333
  • Karma: +11/-1
Re:Sostituire una SynEdit con ?
« Risposta #4 il: Ottobre 11, 2024, 07:32:52 am »
Risposta probabilmente stupida ... perchè non usare una TRichedit ?

Che peculiarità ha SynEdit che sono essenziali per l'uso con il cliente in questione ?

N.B.: non ho mai usato SynEdit ...

Ciao

C'è tutto uno studio dietro, durato anni ... in pratica avevo trovato un esempio semplice, che spiegava come colorare singole parole, proprio con SynEdit  ;D ;D ;D

Scherzi a parte, di solito cerco di usare componenti presenti già nell'installazione di Lazarus, per evitare problemi che ho avuto in passato con componenti esterni poi dismessi.
TRichedit fa parte di questo https://wiki.freepascal.org/lzRichEdit giusto?

Nei prossimi giorni dovrei avere del tempo, e faccio qualche prova con TRichEdit ... grazie !!!

Ciao, Mario

Mimmo

  • Jr. Member
  • **
  • Post: 81
  • Karma: +3/-0
Re:Sostituire una SynEdit con ?
« Risposta #5 il: Ottobre 11, 2024, 08:31:15 am »
Ciao, c'è un componente che non ho mai usato ma che penso possa avere tutto quello che ti necessita: https://github.com/Alexey-T/ATSynEdit.
Trovi un po' di documentazione qui https://wiki.freepascal.org/ATSynEdit.
L'autore è quello di CudaText che è costruito proprio su questo componente.
Io non l'ho utilizzato ma uso regolarmente un altro suo progetto: ATFlatControls. Tutti i progetti sono attivamente mantenuti e l'autore ci dedica un sacco di tempo.
Nell'elenco delle features c'è il word-wrap ed è possibile costruire un Adapter per fare l'highlight di qualsiasi sintassi.

bonmario

  • Hero Member
  • *****
  • Post: 1333
  • Karma: +11/-1
Re:Sostituire una SynEdit con ?
« Risposta #6 il: Ottobre 11, 2024, 03:08:01 pm »
Ciao, c'è un componente che non ho mai usato ma che penso possa avere tutto quello che ti necessita: https://github.com/Alexey-T/ATSynEdit.
Trovi un po' di documentazione qui https://wiki.freepascal.org/ATSynEdit.

Questo sarebbe interessante, ma oltre ad essere già lui un componente esterno, in fase di installazione ne richiede altri 2 di cui non ricordo il nome.
Se non trovo altro con meno dipendenze, lo rivaluto

Grazie, Mario

bonmario

  • Hero Member
  • *****
  • Post: 1333
  • Karma: +11/-1
Re:Sostituire una SynEdit con ?
« Risposta #7 il: Ottobre 11, 2024, 04:41:29 pm »
Risposta probabilmente stupida ... perchè non usare una TRichedit ?

Che peculiarità ha SynEdit che sono essenziali per l'uso con il cliente in questione ?

N.B.: non ho mai usato SynEdit ...

Ciao

Non so se è quello che intendevi tu, ma cercando "rich" tra gli oggetti a disposizione, ho trovato la TRichMemo https://wiki.freepascal.org/RichMemo

Sembra che abbia tutto quello che mi serve:
- possibilità di abilitare e disabilitare a runtime il WordWrap
- colorare in maniera diversa differenti pezzi

Grazie, Mario

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1348
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:Sostituire una SynEdit con ?
« Risposta #8 il: Ottobre 11, 2024, 07:18:03 pm »
Non so se è quello che intendevi tu, ma cercando "rich" tra gli oggetti a disposizione, ho trovato la TRichMemo https://wiki.freepascal.org/RichMemo

Sembra che abbia tutto quello che mi serve:
- possibilità di abilitare e disabilitare a runtime il WordWrap
- colorare in maniera diversa differenti pezzi

Grazie, Mario
Si, quello. In Delphi si chiama TRichedit, ma è quel controllo.

Lieto di esserti stato utile.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

bonmario

  • Hero Member
  • *****
  • Post: 1333
  • Karma: +11/-1
Re:Sostituire una SynEdit con ?
« Risposta #9 il: Ottobre 12, 2024, 07:17:29 am »
Si, quello. In Delphi si chiama TRichedit, ma è quel controllo.

Lieto di esserti stato utile.

Ok, grazie !!

Tra l'altro, ho dato un occhio veloce, e la "conversione" dovrebbe essere abbastanza veloce.
L'unico dubbio che mi rimane al momento, e che non mi ricordavo nemmeno, è che nel progetto avevo anche 2 bottoni con cui fare "Trova successivo" e "Trova precedente", devo ancora verificare come fare questa cosa sulla TRichMemo, per il resto sembra avere tutto quello che mi serve

Ciao, Mario

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1348
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:Sostituire una SynEdit con ?
« Risposta #10 il: Ottobre 12, 2024, 10:18:06 am »
Per il trova precedente / successivo, io farei la ricerca in tutto il documento, memorizzandomi tutte  le coordinate delle testo trovato (riga / colonna) e iterando poi tra le posizioni. Se il documento viene modificato per qualsiasi motivo, allora rifai il processo di ricerca.

N.B.: per la presentazione della ricerca, fai in modo che il testo si ponga sempre verso il centro più o meno dello pagina visualizzata. In molti (troppi) documenti quando fai la ricerca il documento viene posizionato con il testo in prima riga visualizzata a schermo ... e la maggior parte dei casi non si vede o tocca muovere il documento perchè parzialmente nascosto (errore di calcolo per i font usati / contenuti multimediali o altro)....

Ciao
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

bonmario

  • Hero Member
  • *****
  • Post: 1333
  • Karma: +11/-1
Re:Sostituire una SynEdit con ?
« Risposta #11 il: Ottobre 12, 2024, 02:46:11 pm »
Grazie, mi hai anche ricordato che nel farlo, devo cercare di sistemare un'altra cosa: spesso, con la ricerca attuale della synedit, quello che trova viene messo proprio all'inizio o proprio alla fine della parte visibile, non facendo così capire il "contesto". Dovrò cercare di fare qualcosa anche per quello

Ciao, Mario

 

Recenti

How To

Utenti
Stats
  • Post in totale: 19038
  • Topic in totale: 2270
  • Online Today: 111
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 104
Total: 104

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.