FAQ C++ BuilderConsultez toutes les FAQ
Nombre d'auteurs : 60, nombre de questions : 670, dernière mise à jour : 21 novembre 2010 Ajouter une question
Cette F.A.Q. a été réalisée à partir des questions fréquemment posées sur le forum C++ Builder de developpez.com et de l'expérience personnelle des auteurs.
Nous tenons à souligner que cette F.A.Q. ne garantit en aucun cas que les informations qu'elle propose soient correctes. Les auteurs font le maximum, mais l'erreur est humaine. Cette F.A.Q. ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez devenir rédacteur, contactez pottiez
Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.
L'équipe C++ Builder de Developpez.
Commentez cette FAQ : Commentez
- Comment insérer du texte provenant d'un TEdit ?
- Comment insérer du texte provenant d'un TMemo ?
- Comment insérer du texte en provenance d'un TListBox ?
- Comment insérer du texte en provenance d'un TComboBox ?
- Comment insérer du texte en provenance d'un TRichedit ?
- Comment insérer du texte en provenance d'un TStringGrid ?
- Comment insérer du texte en provenance d'un TDBGrid ?
Cette procédure permet d'insérer du texte en provenance d'un TEdit sur le document Word sélectionné.
Code c++ : | Sélectionner tout |
1 2 3 4 | // Il faut passer par l'instance de Word et non par celle du document // le texte provient d'un TEdit vMSWord.OlePropertyGet("Selection").OleProcedure("TypeText", WideString(Edit1->Text)); |
Cette procédure permet d'insérer du texte en provenance d'un TMemo sur le document Word sélectionné.
Code c++ : | Sélectionner tout |
1 2 3 4 | // Il faut passer par l'instance de Word et non par celle du document // le texte provient d'un TMemo vMSWord.OlePropertyGet("Selection").OleProcedure("TypeText", WideString(Memo1->Lines->Text)); |
Cette procédure permet d'insérer du texte en provenance d'un TListBox sur le document Word sélectionné.
Code c++ : | Sélectionner tout |
1 2 3 4 | // Il faut passer par l'instance de Word et non par celle du document // le texte provient d'un TListBox, ici on lit la première ligne vMSWord.OlePropertyGet("Selection").OleProcedure("TypeText", WideString(ListBox1->Items->Strings[0])); |
Cette procédure permet d'insérer du texte en provenance d'un TComboBox sur le document Word sélectionné.
Code c++ : | Sélectionner tout |
1 2 3 4 | // Il faut passer par l'instance de Word et non par celle du document // le texte provient d'un TComboBox, ici on lit la ligne sélectionnée vMSWord.OlePropertyGet("Selection").OleProcedure("TypeText", WideString(ComboBox1->Text)); |
Cette procédure permet d'insérer du texte en provenance d'un TRichEdit sur le document Word sélectionné.
Code c++ : | Sélectionner tout |
1 2 3 4 | // Il faut passer par l'instance de Word et non par celle du document // le texte provient d'un TRichEdit vMSWord.OlePropertyGet("Selection").OleProcedure("TypeText", WideString(RichEdit1->Lines->Text)); |
Cette procédure permet d'insérer du texte en provenance d'un TStringGrid sur le document Word sélectionné.
Code c++ : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | // le texte provient d'un TStringGrid { vMSWord.OlePropertySet("ScreenUpdating", false); // on empêche le rafraîchissement écran afin de gagner en rapidité int cmptRows = Form1->StringGrid1->RowCount; int cmptColumns = Form1->StringGrid1->ColCount; String chaine; Variant vTable; vWDocument.OlePropertyGet("Tables").OleFunction("Add", vMSWord.OlePropertyGet("Selection"). OlePropertyGet("Range"), cmptRows, cmptColumns, 1, 0); vTable = vWDocument.OlePropertyGet("Tables").OleFunction("Item", "1"); for (int lignes = 0; lignes < cmptRows; lignes++) { for (int colonnes = 0; colonnes < cmptColumns; colonnes++) { chaine = (StringGrid1->Cells[colonnes][lignes]); vTable.OleFunction("Cell", lignes + 1, colonnes + 1). OlePropertyGet("Range").OleFunction("InsertAfter", WideString(chaine)); } } vMSWord.OlePropertySet("ScreenUpdating", true); // on rafraîchit l'écran } |
Cette procédure permet d'insérer du texte en provenance d'un TDBGrid dans un tableau du document Word sélectionné.
Code c++ : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | // déclaration des Variants Variant vMSword, vTable, vCell, vDocument, vDocuments; // si Word est ouvert on l'active, sinon on l'ouvre try { vMSword = Variant::GetActiveObject("Word.Application"); } catch(...) { vMSword = Variant::CreateObject("Word.Application"); } // on rend l'application Word visible vMSword.OlePropertySet("Visible", true); // on crée une page vMSword.OlePropertyGet("Documents").OleFunction("Add"); // la nouvelle page est sélectionnée Variant vSelect = vMSword.OlePropertyGet("Selection"); // on sélectionne la police du TDBgrid vSelect.OlePropertyGet("Font").OlePropertySet("Size", GridCustomers->Font->Size); vSelect.OlePropertyGet("Font").OlePropertySet("Name", GridCustomers->Font->Name.c_str()); // on récupère le nombre de lignes int nRowCount(GridCustomers->DataSource->DataSet->RecordCount + 1); // on récupère le nombre de colonnes int nColCount(GridCustomers->Columns->Count); // on crée un tableau avec le nombre de lignes et de colonnes que l'on a récupérées vMSword.OlePropertyGet("ActiveDocument").OlePropertyGet("Tables").OleProcedure("Add", vSelect.OlePropertyGet("Range"), nRowCount, nColCount, 1, // wdWord9TableBehavior 0); // wdAutoFitFixed // vTable = vMSword.OlePropertyGet("ActiveDocument"). OleFunction("Range").OlePropertyGet("Tables").OleFunction("Item", 1); // for(int i=0; i<nColCount; i++) { int nColWidth = GridCustomers->Columns->Items[i]->Width; vTable.OlePropertyGet("Columns").OleFunction("Item", i + 1) .OlePropertySet("PreferredWidthType", 3); // wdPreferredWidthPoints vTable.OlePropertyGet("Columns").OleFunction("Item", i + 1) .OlePropertySet("PreferredWidth", nColWidth); } // ici on remplit le tableau Word avec le TDBGrid for(int j=0; j<GridCustomers->Columns->Count; j++) { vCell = vTable.OleFunction("Cell", 1, j + 1); vCell.OlePropertySet("Range", GridCustomers->Columns->Items[j]->FieldName.c_str()); // wdColorGray125 vCell.OlePropertyGet("Shading").OlePropertySet("BackgroundPatternColor", 14737632); } // GridCustomers->DataSource->DataSet->First(); for(int i=0; i<nRowCount; i++) { // for(int j=0; j<GridCustomers->Columns->Count; j++) { vCell = vTable.OleFunction("Cell", i + 2, j + 1); vCell.OlePropertySet("Range", GridCustomers->DataSource->DataSet->FieldByName( GridCustomers->Columns->Items[j]->FieldName)->AsString.c_str()); } GridCustomers->DataSource->DataSet->Next(); } |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.