Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [Delphi 6] Modificare il font di un rich edit

    Ciao!
    Volevo sapere se era possibile modificare il font di un richedit solo in certe parti. In poche parole ho un rich-edit che contiene un codice. Per renderlo più leggibile volevo evidenziare certe parti mettendole in grassetto o cambiandone colore. Per esempio adesso volevo impostare i commenti mettendoli inclinati per separarli dal codice. Visto che i commenti sono sempre preceduti da un punto e virgola ';' pensavo di fare qualcosa tipo:
    codice:
    procedure TForm1.codiceChange(Sender: TObject);
    var k:longint;
    begin
    for k:=0 to (codice.Lines.Count-1) do
    begin
    if Copy(codice.Lines[k],1,1)=';' then //seleziona il testo e modifica la formattazione
    end;
    end;
    Però non so come modificare il font della singola linea...
    è fattibile?? come posso procedere??
    Grazie in aniticipo per l'aiuto!
    Comunque vada... faccio sempre appello alla giraffa!!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    SelStart, SelLength e SelAttributes

    Attraverso le proprietà SelStart e SelLength, puoi impostare la selezione del testo all'interno del controllo RichEdit.

    Avendo una selezione, attraverso la proprietà SelAttributes puoi modificare le caratteristiche del testo selezionato: carattere, stile, dimensione, colore e così via.

    Nella Guida in linea trovi questo esempio:

    codice:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      with RichEdit1.SelAttributes do
      begin
        Color := clRed;
        Height := Height + 5;
      end;
      RichEdit1.Lines.Add('This line of text will be red.');
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      RichEdit1.DefAttributes.Color := clBlue;
      RichEdit1.DefAttributes.Style := [fsBold, fsItalic];
    end;
    Consulta la guida per altri esempi e indicazioni sull'utilizzo delle proprietà citate.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Penso di avere più o meno capito...però come faccio a dirgli di partire dalla riga che su cui sto scrivendo?? Poi devo fare ritornare il mouse al punto in cui stavo scrivendo...giusto?
    Comunque vada... faccio sempre appello alla giraffa!!

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da Girandol0
    Penso di avere più o meno capito...però come faccio a dirgli di partire dalla riga che su cui sto scrivendo??
    Prima di scrivere la riga, imposti le proprietà di SelAttributes e successivamente aggiungi la linea di testo richiamando il metodo RichEdit.Lines.Add.

    Originariamente inviato da Girandol0
    Poi devo fare ritornare il mouse al punto in cui stavo scrivendo...giusto?
    Non lo so cosa deve fare il tuo programma.
    Comunque, per "mouse" immagino che tu intendessi il "cursore" (caret) che lampeggia all'interno del controllo.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Originariamente inviato da alka
    Non lo so cosa deve fare il tuo programma.
    Comunque, per "mouse" immagino che tu intendessi il "cursore" (caret) che lampeggia all'interno del controllo.
    è sempre quel simulatore di un microprocessore molto semplice (tanto semplice che in realtà non esiste )
    Volevo formattare il codice assembly (quello che poi lui converte e mette in memoria) con tutte le istruzioni in modo da renderlo più leggibile. Non so se hai presente certi programmi di editor html che evidenziano i tag... ecco una cosa del genere. Il codice viene scritto dall'utente (non è il programma a scriverlo!) e pensavo di fare un ciclo che ogni volta che cambia il testo lo controlla e mette in evidenza le istruzioni e in commenti...più o meno ho reso l'idea??
    Comunque vada... faccio sempre appello alla giraffa!!

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    SynEdit

    Hai reso l'idea, però forse il controllo TRichEdit non è quello più adatto allo scopo, o meglio la fatica per ottenere simili funzionalità, come la colorazione della sintassi, è veramente esasperante.

    Sicuramente, troverai di maggiore interesse il controllo SynEdit, scaricabile dal sito ufficiale. Dagli un'occhiata!

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Adesso c'è il dramma...ho provato più volte a installare un nuovo componente ma con risultati pessimi! Ce l'ho fatta solo una volta perchè era un exe autoinstallante!!
    Dopo che ho decompresso il file in una cartella mi ci trovo dentro un mucchio di roba...
    Da quello che ho capito dovrei cliccare su component da dentro delphi e poi?? A dire il vero non so nemmeno esattamente la differenza tra component e package...
    Mi dareste qualche dritta??
    Comunque vada... faccio sempre appello alla giraffa!!

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Controlla se il package contiene istruzioni per l'installazione.

    Ad ogni modo, senza la conoscenza delle attività fondamentali in Delphi, difficilmente si fa molta strada, soprattutto nell'affrontare progetti di una certa complessità.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9
    Ok...cmq il programma è già finito e funzionante! Diciamo che volevo provare a fare qualcosa in più
    Cmq grazie lo stesso!
    Comunque vada... faccio sempre appello alla giraffa!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.