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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
unit fpce_mainform;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
EditBtn, ExtCtrls, ComCtrls, ShellCtrls;
type
{ TformCorelExplorer }
TformCorelExplorer = class(TForm)
Label1: TLabel;
Label2: TLabel;
labelSize: TLabel;
labelVersion: TLabel;
labelFilename: TLabel;
shellInput: TShellTreeView;
procedure buttonQuitClick(Sender: TObject);
procedure shellInputSelectionChanged(Sender: TObject);
private
{ private declarations }
function CheckInput(): Boolean;
public
{ public declarations }
end;
var
formCorelExplorer: TformCorelExplorer;
implementation
uses
fpvectorial, cdrvectorialreader, svgvectorialwriter, //pdfvectorialreader,
fpvtocanvas;
{$R *.lfm}
{ TformCorelExplorer }
procedure TformCorelExplorer.buttonQuitClick(Sender: TObject);
begin
Close;
end;
procedure TformCorelExplorer.shellInputSelectionChanged(Sender: TObject);
var
Vec: TvVectorialDocument;
Reader: TvCDRVectorialReader;
lFormat: TvVectorialFormat;
lChunk, lCurChunk: TCDRChunk;
Str: string;
begin
// First check the in input
if not CheckInput() then Exit;
// Now read the data from the input file
Reader := TvCDRVectorialReader.Create;
try
Reader.ExploreFromFile(shellInput.GetSelectedNodePath(), lChunk);
labelFilename.Caption := 'Filename: ' + shellInput.GetSelectedNodePath();
if (lChunk.ChildChunks <> nil) and (lChunk.ChildChunks.First <> nil) then
begin
// Version Chunk
lCurChunk := TCDRChunk(lChunk.ChildChunks.First);
Str := TCDRChunkVRSN(lCurChunk).VersionStr;
labelVersion.Caption := 'Version: ' + Str;
// Main data
lCurChunk := TCDRChunk(lChunk.ChildChunks.Items[1]);
//labelSize.Caption := 'Size: ' + ;
end;
finally
Reader.Free;
end;
end;
function TformCorelExplorer.CheckInput(): Boolean;
var
lPath: String;
begin
lPath := shellInput.GetSelectedNodePath();
Result := (ExtractFileExt(lPath) = STR_CORELDRAW_EXTENSION);
end;
end.
|