- Obsah archivního souboru (předpokládejme soubor typu DBF) lze načíst do aplikace například pomocí přístroje recipe. Aby mohl přístroj recipe načíst data z archivního databázového souboru, je nutné nadefinovat mu stejnou strukturu jako má archivní databázový soubor. Při definici struktury v přístroji recipe je třeba si uvědomit, že archivery automaticky přidávají do struktury záznamu položky pro datum a čas, pokud to ovšem není zakázáno. Standardní jména těchto položek jsou DATE a TIME. V přístroji recipe je tedy nutné jako první položku nadefinovat položku s názvem DATE, typu date o délce 8 a druhou položku s názvem TIME, typu character o délce 8 (tj. čas ve formátu hh:mm:ss). Za těmito položkami musí následovat definice položek stejná jako v archiveru. Abyste mohli data z jednotlivých položek záznamu zpracovávat v rámci aplikace, nesmíte zapomenou nadefinovat výstupní datové elementy u jednotlivých položek přístroje recipe. Archivní soubor lze pak načíst pomocí OCL metody OpenFile přístroje recipe, data ze záznamů lze zapsat na nadefinované datové elementy pomocí OCL metody SetRecipe.
Příklad: Přenesení hodnot z archivního souboru do tabulkového přístroje
recipe.OpenFile( FileName, &ok );
if ok then
table.HideTable();
table.OpenTable( 'template.tbw', &ok ); (* Načtení předlohy tabulky *)
n = 0;
rcpDB.SetRecipe( n + 1, &ok );
while ok do
table.SetStringValue( 1, cFirstTblRow + n, cFirstTblCol + 0, vDBD_Date, false, false );
table.SetStringValue( 1, cFirstTblRow + n, cFirstTblCol + 1, vDBD_Time, false, false );
table.SetRealValue( 1, cFirstTblRow + n, cFirstTblCol + 2, vDBD_Value1, false, false );
table.SetRealValue( 1, cFirstTblRow + n, cFirstTblCol + 3, vDBD_Value2, false, false );
table.SetRealValue( 1, cFirstTblRow + n, cFirstTblCol + 4, vDBD_Value3, false, false );
n = n + 1;
recipe.SetRecipe( n + 1, &ok );
end; (* while *)
table.ShowTable();
end;
- Download ukázkové aplikace dbf2tbl.zip ( HTTP, 115KB)
|