2009-03-05 9 views
8

Nel mio programma Delphi voglio visualizzare alcune informazioni generate dall'applicazione. Niente di speciale, solo 2 colonne di testo con parti di parole codificate a colori.
Credo fondamentalmente due opzioni:HTML o RTF?

  1. HTML in un TWebBrowser
  2. RTF in un TRichEdit.

HTML è più standard, ma sembra caricare più lentamente e ho dovuto occuparsi di The Annoying Click Sound. L'RTF è ancora una buona alternativa in questi giorni?

edit:
buona domanda da dangph: "Cosa succede ai documenti generati"
I documenti verranno eliminati dopo la visualizzazione.

+0

E che dire solo usando la griglia di stringa (o un altro componente di griglia adatto)? – Harriv

+0

Non sono sicuro che sia una buona idea. Con un gruggrid dovrei scrivere molto codice in OwnerDraw per ottenere la formattazione giusta (allineamento, font, colore). Potrei anche inviare del testo direttamente alla tela di un'immagine. HTML e RTF si occupano della formattazione. – stevenvh

+0

Ok, non eri molto specifico sui dati in questione. Penso che i generatori di report possano anche essere visualizzati sullo schermo.Sono fatti per una formattazione più complessa. – Harriv

risposta

6

Vorrei usare anche l'HTML. Inoltre, hai appena ottenuto una risposta per lo clicking sound in TWebBrowser.

Se preferisci non utilizzare TWebBrowser, dai un'occhiata a Dave Baldwin gratuito HTML Display Components.

+0

I componenti Baldwin sono ciò che utilizziamo e semplificano le cose . – mj2008

+0

Ho anche utilizzato i componenti di Dave Baldwin con grande successo. – skamradt

+0

+1 per i componenti di Dave Baldwin: lo usiamo in alcune aree e un TWebBrowser in altri, a seconda delle necessità. –

12

Vorrei votare per HTML.

Penso che sia più orientato al futuro. La velocità non mi riguarderebbe.

+0

Informazioni sul clic, vedere la risposta accettata (http://stackoverflow.com/questions/613943/annoying-click-sound-in-twebbrowser/614290#614290) – stevenvh

1

Se HTML e RTF non soddisfano le tue necessità, puoi anche utilizzare un componente di testo/modifica open source che supporti parole coloranti o creare il tuo componente di modifica basato su un componente Delphi.

8

La domanda di HTML o RTF può essere irrilevante. Se vengono utilizzati solo a scopo di visualizzazione, il formato del file non ha importanza. È davvero solo una rappresentazione interna. (I file vengono addirittura salvati su disco?) Penso che la domanda da porre sia quella che risolve il problema con la minor quantità di lavoro.

Sarei leggermente preoccupato del fatto che il controllo del browser sta cambiando in continuazione. Dubito che il controllo della ricchezza cambierà molto. Mi sporgo verso il controllo della ricchezza perché penso che ci sia meno che potrebbe andare storto. Ma probabilmente non è un grosso problema in entrambi i casi.

Avete considerato di fare un proprietario di TListView?

+0

@dangph: usare invece un controllo di visualizzazione era la mia prima idea, ma sia i visualizzatori RTF che HTML consentire la copia dei dati visualizzati senza ulteriore lavoro, che è un buon miglioramento dell'usabilità. D'accordo sugli altri punti, +1. – mghie

4

Vorrei votare anche per HTML.

Abbiamo iniziato un app qualche tempo fa ... Volevamo

visualizzazione alcune informazioni generate dall'applicazione. Niente di speciale, solo ...

(senti l'anello campane ???)

Poi abbiamo voluto visualizzare più informazioni e stile ancora più .... ... qualcuno ha deciso , che RTF non è più sufficiente, ma per la compatibilità all'indietro passiamo a MS Word su OLE-Server. Quella era la fine di parlare più delle prestazioni.

Penso che se lo avessimo fatto in HTML ora sarebbe molto più veloce.

2

Vorrei votare RTF come non mi piace il fatto che TWebBrowser utilizza Internet Explorer, in quanto abbiamo avuto problemi con questo in passato su computer strettamente bloccati.

Anche TRichEdit ha un metodo di stampa integrato, in cui è necessario eseguire tutti i tipi di problemi per ottenere la stampa di TWebBrowser.

4

RTF è molto più semplice da gestire, poiché il controllo TRichEdit fa parte di ogni singola installazione di Windows e presenta un sovraccarico molto inferiore rispetto a TWebBrowser (che è fondamentalmente incorporare una versione di ActiveX di Internet Explorer nell'app).

TRichEdit è anche molto più facile da usare per aggiungere testo e formattazione a livello di programmazione. L'uso di SelStart e SelLength, insieme al testo Attributes, rende l'aggiunta di grassetto e corsivo, l'impostazione di caratteri diversi, ecc. Semplice. E, come ha detto Re0sless, TRichEdit può essere facilmente stampato mentre TWebBrowser rende più complicato farlo.

1

Un'altra alternativa al browser HTML sono i componenti "Embedded Web Browser" che ho utilizzato per alcuni progetti per la visualizzazione di documenti HTML all'utente. Hai il controllo completo sul browser incorporato e non ricordo alcun clic quando viene caricata una pagina.

0

RTF offre alcune utili opzioni di modifica del testo come la tabulazione orizzontale che non sono disponibili in HTML. Il rilevamento automatico dei collegamenti ipertestuali è anche un bel extra. Ma penso che preferirei l'HTML, se queste funzionalità non sono richieste.

1

Io voto per HTML anche

RTF è buono solo per il suo editore, il resto allora è meglio andare standard.

2

Nessuno sembra aver menzionato ancora un componente di segnalazione. Sì, è eccessivo in questo momento, ma se lo usi comunque (e forse hai già alcuni rapporti da fare nella tua app, quindi il componente è già incluso) puoi solo visualizzare l'anteprima e consentire di stampare/esportare in pdf più tardi, se ha senso. Inoltre, se successivamente decidi che vuoi avere uno schermo più elaborato, non c'è nulla che ti trattiene.

+0

La maggior parte dei componenti di reporting ha esportazioni in HTML e/o RTF. Solo una questione di configurazione. –

0

Io voto per HTML.

  • Più facile da generare a livello di codice.
  • Ampiamente supportato.
  • Dato che non sono necessarie le funzionalità WYSIWYG, penso che i vantaggi dell'HTML vincano l'RTF. Inoltre, se dovesse sorgere la necessità di esportare i dati generati per ulteriori modifiche WP-like, ricorda che i principali word processor possono aprire e convertire i file HTML.
0

Usa HTML, ma con 'Delphi Wrapper for Chromium Embedded' da Henri Gourvest, cromo incorporato utilizza il nucleo che i poteri di Google Chrome.

Non utilizzare TWebBrowser, sono affetto da tutti i programmi che utilizzano il controllo Web di IE - il carattere è troppo piccolo sul mio monitor da 22 'con una risoluzione 1920x1080, utilizzo Windows 7 e il DPI del mio sistema è 150% (Modalità XP), ho provato tutto a modificare cercando di aggiustarlo, senza fortuna ...