|
|
|
|
|
- Importing a Text Memo item
- Importing a Binary Memo item
- Importing an indexed item
- Importing a Time item
HImportCSV (Function) In french: HImporteCSV Imports a CSV file into an HFSQL Classic or Client/Server data file. This data file must have been defined in the data model editor, or declared with HDeclare, HDeclareExternal or HDescribeFile). Note: If the HFSQL data file used does not physically exist, it will be automatically created.
IF HImportCSV("CUSTOMER","C:\AnExample\Customer.csv", "NAME,ADDRESS,LOGO", hDefaultVal, "ProgressBar1") = False THEN
Error("Unable to import")
ELSE
END
sCSVFilePath is string = "ImportPlayer.csv"
IF HImportCSV(Player, sCSVFilePath, "sPlayerName,dDateOfBirth", ...
"," + Charact(127) + """" + Charact(127) + CR + Charact(127) + ".") THEN
...
ELSE
...
END
Syntax
<Result> = HImportCSV(<Data file> , <Full path to CSV file> , <List of items> , <Separators> [, <Options> [, <Progress Bar>]])
<Result>: Boolean - True if the operation was performed,
- False if an error occurs. HError returns more details about the problem.
<Data file>: Character string Name of the HFSQL data file to import into. <Full path to CSV file>: Character string Full path to the CSV file to be imported. <List of items>: Character string List of item names in the CSV file. Names can be delimited by single quotes and are separated by commas or CR characters. "Composite key" item names are ignored.If this parameter is not specified or is an empty string (""), all items are imported (except compound keys) in the order in which they were created in the physical file. <Separators>: Character string List of separators used for columns, strings, rows and decimal places. The different separators are separated by Charact(127) (for backward compatibility with WINDEV 5.5). <Column separator> + Charact(127) + <String separator> + Charact(127) + <Row separator> + Charact(127) +<Decimal separator> - <Column separator>: String ("," by default).
- <String separator>: Character (" by default)
- <Row separator>: String (CR by default, i.e., Charact(13)+Charact(10))
- <Decimal separator>: Character ("." or "," by default)
<Options>: Optional Integer constant (or combination of constants) Configures the type of import to perform: | | hCopyAutoID | The automatic identifier is copied. It is not recalculated. | hImpCreation | If the data file to import into exists, it will be overwritten. | hImpIgnoreFirstLine | The first line of the imported file is ignored. | hImpIgnoreInvalidLine | Import ignores lines with an invalid structure. The structure is invalid if data is missing for one or more items, or if string separators are missing. | hImpIgnoreEmptyItem | If one or more items are not populated in the CSV file, the corresponding lines are still imported. The missing items contain:- the default value of the items if the hDefaultVal constant is specified.
- the value of the items in the current record before calling HImportCSV.
| hImpBreakable | Import can be interrupted by pressing the Esc key (parameter ignored on data files in 5.5 format). If the import is interrupted, the imported records are kept in the data file. A re-index operation is automatically performed if necessary (cannot be interrupted). | hImpNormal (default value) | If the data file to import into already exists, it is populated with the imported data; otherwise, the data file is created. Data integrity and duplicates are not checked. Non-imported items take the value of the current record. String delimiters are used. Automatic identifiers are recalculated.
| hImpOEM2ANSI | Imported strings are automatically converted from OEM to ANSI. | hImpNoDelimiter | String separators, if any, are part of the item. | hImpTestDuplicates | Checks for duplicate values on unique keys during an import operation (enabled only on unique keys, not on the entire record).
| hImpTestIntegrity | Checks data integrity during an import operation.
| hDefaultVal | For non-imported items, the values of the current record are reinitialized:- with their default value if the hDefaultVal constant is specified.
- with the value of the corresponding items in the current record before calling HImportCSV, if the hDefaultVal constant is not specified.
|
<Progress Bar>: Optional control name or window name - Name of the window in which the progress bar will be displayed,
- Name of the Progress Bar control.
Remarks Importing a Text Memo item - If the hImpNoDelimiter constant is not specified:
The text to import can contain <Row separator> or <Column separator>. The text to import must not contain any <String separator>. - If the hImpNoDelimiter constant is specified:
The text to import must not contain any <Row separator> or <Column separator> otherwise they will be interpreted as such. The text to import can contain <String separator>.
Importing a Binary Memo item For a binary memo item, 3 columns are associated in the CSV file. - Column 1: Full path of the binary file to be added to the memo. This is a character string. If this string is empty, the next two columns must be left blank in the CSV file.
- Column 2: Memo type. This is a string that can take the following values:
- "IMG" to indicate that the file is an image file.
- "WAV" to indicate that the file is a sound file.
- "OLE" to indicate that the file is an OLE file.
- "BIN" (or other) to indicate that the file is an ordinary binary file.
- Column 3: Information formatted as a string of up to 65535 characters. If the number of characters is greater, the string is truncated.
Structure of the CSV file to be imported Let's take a look at the following example: - items to be imported:
- <LASTNAME>: Text item
- <AGE>: Numeric item
- <FIRSTNAME>: Text item
- <COMMENT>: Text memo
- <PHOTO>: Image binary memo
- delimiters used:
- <String separator>: "
- <Column separator>: ,
- <Row separator>: CR
In this example: - If the hImpNoDelimiter constant is not specified, the CSV file will have the following structure: "LASTNAME", AGE, "FIRSTNAME", "COMMENT", "PHOTO memo file", "PHOTO file type", "PHOTO memo info"+CR
- If the hImpNoDelimiter constant is specified, the CSV file will have the following structure: LASTNAME, AGE, FIRSTNAME, COMMENT, PHOTO memo file, PHOTO memo type, PHOTO memo info+CR
Each content can be empty. Importing an indexed item HImportCSV cannot be used to import indexed items. Importing a Time item HImportCSV saves invalid times if the times to import are not in one of the formats available in the analysis. Reminder: The available formats in the analysis are: Business / UI classification: Business Logic
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|