HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Tetszőleges szerkezetű adattábla exportálása TXT-be


Példaprogram letöltése

9590 bájt

A TExportTxt komponens segítségével egy tetszőleges típusú és szerkezetű adattáblát exportálhatunk TXT formátumba mindössze egy dupla kattintással.
A mellékelt példaprogram megnyitása előtt az ExportTxt.pas-ban lévő komponenst telepítenie kell a Delphi alá. További szükséges előkészület, hogy létre kell hozni egy ASDSO0310 nevű aliast, mely arra a könyvtárra kell hogy mutasson, ahová a mellékelt példát másolta.

A komponens használatához a DataSet property-ben válasszuk ki az exportálandó adatforrást, például egy TTable komponenst.

A TxtFile property-be pedig adjunk meg egy txt állomány nevet, szükség esetén elérési útvonallal együtt. Ha már létező állományt adunk meg, az felülírásra kerül.

Az exportálást a komponens Execute eljárásának meghívásával kezdeményezhetjük, vagy akár szerkesztési időben is elvégezhetjük, ha a komponensen jobb gombbal történő kattintás után megjelenő menüből az Execute menüpontot választjuk, vagy ha csak egyszerűen duplán kattintunk a komponensre.

Az exportálást megvalósításához egy TBatchMove komponenst használunk fel, melyet futási időben hozunk létre. Mivel a TBatchMove képes elvégezni azt a feladatot, hogy egyik TTable-ból egy másik TTable komponensben megadott adatforrás között mozgassa a rekordokat, így a feladat könnyen elvégezhető. Mivel a TTable komponensnél lehetőségünk van arra is, hogy TXT állományt kezeljünk adattáblaként, így ennek létrehozása sem okoz nehézséget. Ehhez csupán a TableType property-t kell ttASCII értékre állítanunk. A létrehozott TBatchMove komponensnél a DataSet property-ben megadott adattáblát állítjuk be forrásként, míg a cél a létrehozott TTable komponens lesz, mely a TXT állományt fogja kezelni. Mivel a TBatchMove-nál a Mode property értékét batCopy-ra választottuk, így az adatforrás összes eleme másolásra kerül, annak szerkezetével együtt.
procedure TExportTxt.Execute;
var
  table: TTable;
  batchmove: TBatchMove;
begin
  if Assigned(FDataSet) and (FTXTFile<>'') then begin
    table:=TTable.Create(nil);
    batchmove:=TBatchMove.Create(nil);
    with table do begin
      DatabaseName:=FDataSet.DatabaseName;
      TableName:=FTXTFile;
      TableType:=ttASCII;
    end;
    with batchmove do begin
      Source:=FDataSet;
      Destination:=table;
      Mode:=batCopy;
      Execute;
    end;
    batchmove.Free;
    table.Free;
  end;
end;




Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 150. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |