mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-18 18:09:35 +02:00
92 lines
2.0 KiB
ObjectPascal
92 lines
2.0 KiB
ObjectPascal
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.
|
|
|