PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Manejo de una tabla por programación
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Inserta a tabla en un documento de Procesamiento de Texto ir reemplaza el fragmento especificado con un nuevo tabla.
Atención: Esta documentación presenta las últimas características del control Procesador de texto. Asegúrese de que todos los módulos necesarios estén actualizados.
Ejemplo
// Inserts a 3x3 table at position 1
DocInsertTable(WP_Table, 1, 3, 3)
// Inserts a table containing 3 columns and 2 rows at cursor position
DocInsertTable(WP_Table, WP_Table..Cursor, 3, 2)
Sintaxis

Inserting a table into a a Word Processing document Ocultar los detalles

<Result> = Tabla DocInsert(<Documento> , <Position> [, <Number of columns> [, <Number of rows>]])
<Result>: docFragment variable
Versiones 24 y posteriores
docFragment con el fragmento insertado.
Nueva funcionalidad versión 24
docFragment con el fragmento insertado.
docFragment con el fragmento insertado.
<Documento>: Document variable or character string (with or without quotes)
Documento a utilizar. Este documento corresponde a:
  • WINDEV el nombre de uncontrol Procesador de texto...
  • a Documento variable.
<Position>: Integer
Posición en la que se insertará eltabla. Esta posición se expresa en número de caracteres.
<Number of columns>: Optional integer
Número de columnas en el tabla. Este parámetro corresponde a 1 por defecto.
<Number of rows>: Optional integer
Número de filas en el tabla. Este parámetro corresponde a 1 por defecto.
Esta sintaxis está disponible a partir de la versión 220071.

Replacing the existing fragment by a new table Ocultar los detalles

<Result> = Tabla DocInsert(<Fragment> [, <Number of columns> [, <Number of rows>]])
<Result>: docFragment variable
Versiones 24 y posteriores
docFragment con el fragmento insertado.
Nueva funcionalidad versión 24
docFragment con el fragmento insertado.
docFragment con el fragmento insertado.
<Fragment>: docFragment variable
Nombre de la docFragment variable correspondiente al fragmento a utilizar. El contenido actual del fragmento será reemplazado por el contenido creado. tabla.
<Number of columns>: Optional integer
Número de columnas en el tabla. Este parámetro corresponde a 1 por defecto.
<Number of rows>: Optional integer
Número de filas en el tabla. Este parámetro corresponde a 1 por defecto.
Observaciones

Manejo de una tabla por programación

A tabla en un documento de Procesamiento de Textos puede ser manejado por las funciones de WLanguage para administrar arrays.
Algunos ejemplos:
Ejemplo:
// Inserts a 3x3 table at position 1
DocInsertTable(WP_ExampleWP, 1, 3, 3)
 
// Define a fragment corresponding to the table
f is docFragment(WP_ExampleWP..Value, WP_ExampleWP..Cursor, 0)
 
let para <- f..Paragraph[1]
IF para..Table = Null THEN
RETURN
END
 
doc is Document <- WP_ExampleWP..Value
 
// Adds a row to the table
nSubscript is int = Add(para..Table..Rows)
 
// Input in cell 2,2
para..Table..Cells[2,2]..Content..Text = "I'm in cell 2,2"
 
// Deletes row 3
Delete(para..Table..Rows, 3)
 
// Deletes column 3
Delete(para..Table..Columns, 3)
 
// Deletes the entire table where the cursor is positioned
Delete(doc..Paragraph, para..ParagraphIndex)
Ejemplo de creación de un tabla en un documento con el contenido de un control Tabla:
// A window contains a memory Table control named TABLE_Demo
// and a Word Processing control named WP_Demo
// The following code adds a table into the Word Processing control with:
// - in first table row, the title of columns found in the Table control,
// - the content of Table control in the other table rows.

MyDoc is Document
cTable is Control <- TABLE_Demo
pCol is Control

FragmentStart is docFragment(MyDoc,1)
FragmentStart..Formatting..FontSize = 24
FragmentStart..Formatting..TextColor = DarkRed
FragmentStart..Text = "Table in WP with " + cTable..Caption + CR + CR

// Insert the table into the document in memory ...
DocInsertTable(MyDoc, 20, TableCount(cTable, toColumn), cTable..Occurrence + 1)

FOR EACH para OF MyDoc..Paragraph
IF para..Table <> Null THEN
// For all columns of table control ...
FOR nColumn = 1 _TO_ TableCount(cTable, toColumn)

// First tab le line containing the title of columns
pCol <- TableEnumColumn(cTable, nColumn)
para..Table..Cells[1, nColumn]..Content..Text = pCol..Caption

// Fill all rows of this column
FOR nRow = 1 _TO_ cTable..Occurrence
para..Table..Cells[nRow+1, nColumn]..Content..Text = pCol[nRow]
END
END
BREAK
END
END

// Document in memory assigned to the Word Processing control
WP_Demo = MyDoc
Componente : wd250mdl.dll
Versión mínima requerida
  • Versión 22
Esta página también está disponible para…
Comentarios
using the DocInsertTable
1) you must add at least 2 lines in the docinserttable

DOC is document <- edt_doc // edt_doc is the document control

// inserts a document at position w 2 lines.
Frag is docFragment = DocInsertTable(doc,position,1,2)

now we look at the fragment for the lines we just added.. the table will usually NOT be in the first paragraph of the fragment so you must loop till you find it.

for each pTable of Frag..Paragraph
if pTable = Null then continue
for each string aString,tndx of arrString separated by CR
indx = add(ptable..table..Rows)
ptable..table..cells[indx,1)..content..text = aString
END
//remove the top 2 blank lines
delete(ptable..table..Rows,1)
delete(ptable..table..Rows,1)
//once 1st line deleted line 2 becomes line 1 so you delete again

Andy <<Cowboy>>Stapleton
andy@wxperts.com



Howard Stapleton
19 08 2019