PDA

Visualizza la versione completa : [DELPHI] Visualizzare testo su più righe proveniente da database


vicky
20-12-2011, 11:39
Ciao!
Vorrei visualizzare il contenuto di un testo estratto da un record di database. Ho utilizzato il componente DBMemo (DBExpress) ma ottengo che il testo anche se in sola lettura presenta il cursore che lampeggia (caret). Ovviamente ho tentato di eliminarlo con la procedura suggerita da delphi.about.com (http://delphi.about.com/cs/adptips2003/a/bltip0703_5.htm) ma mi dà errore.
Poi ho tentato con il componente DataSetPageProducer ed una WebBrowser. Ho salvato il testo in un componente memo, ho convertito tale testo in UTF-8, l'ho salvato su di un file .htm e l'ho inviato alla webBrowser. Purtoppo il testo nella web browser non va a capo automatico e quindi c'è la scrollbar orizzontale. Allora era meglio il DBMemo, dal mio punto di vista.
Non c'è qualcosa di più banale che posso usare per avere un piccolo testo a lato di un'immagine che la descriva e che occupi più di una riga?
:)

alka
20-12-2011, 12:49
Originariamente inviato da vicky
ho tentato di eliminarlo con la procedura suggerita da delphi.about.com (http://delphi.about.com/cs/adptips2003/a/bltip0703_5.htm) ma mi dà errore.


Che errore ti da? Prima di abbandonare la soluzione, meglio vedere se si riesce a far funzionare quella più vicina al risultato che si vuole raggiungere.

vicky
20-12-2011, 13:06
Non mi funzionava con il componente dbmemo, adesso ho messo un componente memo e va solo che con il campo memo ho qualche problema a prelevare il record dal database.
Ho pensato di fare una cosa così:

memo1.text:=dbmemo1.text;

ma mi prende solo il primo record... Devo ricontrollare le query, ma il meccanismo secondo te è giusto?

alka
20-12-2011, 13:48
Originariamente inviato da vicky
Non mi funzionava con il componente dbmemo

Probabilmente il DBMemo gestisce autonomamente alcuni comportamenti per adattarli allo stato del campo a cui è collegato.


Originariamente inviato da vicky
Ho pensato di fare una cosa così:
memo1.text:=dbmemo1.text;
ma mi prende solo il primo record...
Tutto dipende da dove è stato messo questo codice: se deve essere ripetuto per ogni record su cui ci si sposta, allora va inserito in un evento opportuno, ad esempio l'OnAfterScroll della tabella.

vicky
20-12-2011, 14:47
Avevi ragione,ti ringrazio molto! :ciauz:

Loading