Metodo ITextDocument::Open (tom.h)
Apre un documento specificato. Esistono parametri per specificare privilegi di accesso e condivisione, creazione e conversione del file, nonché la tabella codici per il file.
Sintassi
HRESULT Open(
[in] VARIANT *pVar,
long Flags,
long CodePage
);
Parametri
[in] pVar
Tipo: VARIANT*
VARIANT che specifica il nome del file da aprire.
Flags
Tipo: long
Creazione di file, apertura, condivisione e flag di conversione. Il valore predefinito è zero, che consente l'accesso in lettura/scrittura e la condivisione di lettura/scrittura, aprire sempre e il riconoscimento automatico del formato di file (i formati di file non riconosciuti vengono considerati come testo). Altri valori sono definiti nei gruppi seguenti.
Qualsiasi combinazione di questi valori può essere usata.
tomReadOnly
tomShareDenyRead
tomShareDenyWrite
tomPasteFile
Questi valori si escludono a vicenda.
tomCreateNew
tomCreateAlways
tomOpenExisting
tomOpenAlways
tomTruncateExisting
tomRTF
tomText
tomHTML
tomWordDocument
CodePage
Tipo: long
Tabella codici da usare per il file. Zero (il valore predefinito) indica CP_ACP (tabella codici ANSI) a meno che il file non inizi con un 0xfeff UNICODE, nel qual caso il file viene considerato Unicode. Si noti che la tabella codici 1200 è Unicode, CP_UTF8 è UTF-8.
Valore restituito
Tipo: HRESULT
Il valore restituito può essere un valore HRESULT che corrisponde a un errore di sistema o a un codice di errore COM, incluso uno dei valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Metodo riuscito |
|
Argomento non valido. |
|
Memoria insufficiente. |
|
Funzionalità non implementata. |
Commenti
Se viene creato un documento con il metodo ITextDocument::New e i valori zero vengono usati, il motore Text Object Model (TOM) deve scegliere i flag e la tabella codici da usare. UTF-8 Rich Text Format (RTF) (definito di seguito) è un valore predefinito interessante.
Microsoft Rich Edit 3.0 definisce una parola di controllo, \urtf8, che deve essere usata anziché \rtf1. Ciò significa che il file viene codificato in UTF-8. In input, i file RTF contengono le informazioni pertinenti sulla tabella codici, ma è possibile modificarle a scopo di salvataggio, consentendo quindi la conversione di una versione in un'altra.
Se il flag tomPasteFile non è impostato nel parametro Flags , il metodo chiude prima il documento corrente dopo aver salvato eventuali modifiche non salvate.
Un file viene riconosciuto come file di testo Unicode se inizia con l'0xfeff unicode BOM. Il metodo ITextDocument::Open rimuove questo BOM Unicode nell'input e ITextDocument::Save lo applica all'output. Vedere i commenti sul metodo ITextDocument::Save , che illustrano l'inserimento della BOM Unicode all'inizio dei file di testo normale Unicode. I valori di conversione tomRTF, tomHTML e tomWordDocument vengono usati principalmente per il metodo ITextDocument::Save, poiché questi formati vengono facilmente riconosciuti in input.
Gli errori vengono segnalati da valori negativi, ma poiché le operazioni dei file hanno molti tipi di errori, potrebbe non essere necessario disporre di tutte le informazioni sull'errore fornite. In particolare, potresti non prestare attenzione (o potresti già sapere) quale struttura file viene usata, ovvero Windows (pVar.vt = VT_BSTR
) o l'archiviazione OLE per IStorage. Mascherando bit 18 di un valore HRESULT , è possibile ignorare la differenza e confrontarne il valore STG_E_xxx . Ad esempio:
HRESULT hr;
VARIANT Var;
VariantInit(&Var)
Var.vt = VT_BSTR;
Var.bstrVal = SysAllocString(L"test.txt"); // Use file command
hr = pDoc->Open(&Var, tomOpenExisting, 0);
hr &= ~0x40000; // Mask off bit 18
if(hr == STG_E_FILENOTFOUND)
{
...// the rest of the code
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | tom.h |
DLL | Msftedit.dll |
Vedi anche
Informazioni concettuali
Altre risorse
Riferimento