Changeset 134


Ignore:
Timestamp:
Apr 10, 2022, 1:54:34 PM (2 years ago)
Author:
chronos
Message:
  • Modified: UDataFile unit moved into Common package and TDataFile class made TComponent descendant.
Location:
trunk
Files:
2 added
1 deleted
12 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/Forms/UFormCompare.pas

    r129 r134  
    334334  Ext := ExtractFileExt(AFileName);
    335335  if Ext = VCardFileExt then begin
    336     with TVCardFile.Create do
     336    with TVCardFile.Create(nil) do
    337337    try
    338338      LoadFromFile(AFileName);
  • trunk/Forms/UFormContacts.pas

    r133 r134  
    439439begin
    440440  if Assigned(ListView1.Selected) then begin
    441     TempFile := TVCardFile.Create;
     441    TempFile := TVCardFile.Create(nil);
    442442    try
    443443      OpenDialog1.Filter := TempFile.GetFileFilter;
     
    490490  Lines: TStringList;
    491491begin
    492   PasteContacts := TVCardFile.Create;
     492  PasteContacts := TVCardFile.Create(nil);
    493493  Lines := TStringList.Create;
    494494  try
     
    532532begin
    533533  if Assigned(ListView1.Selected) then begin
    534     TempFile := TVCardFile.Create;
     534    TempFile := TVCardFile.Create(nil);
    535535    try
    536536      SaveDialog1.Filter := TempFile.GetFileFilter;
  • trunk/Forms/UFormFindDuplicity.pas

    r129 r134  
    224224  I: Integer;
    225225begin
    226   TempContacts := TVCardFile.Create;
     226  TempContacts := TVCardFile.Create(nil);
    227227  try
    228228    for I := 0 to Contacts.Count - 1 do
  • trunk/Languages/vCardStudio.cs.po

    r133 r134  
    11191119msgstr "Odstraněno %d duplikátů."
    11201120
    1121 #: udatafile.sallfiles
    1122 msgctxt "udatafile.sallfiles"
    1123 msgid "All files"
    1124 msgstr "Všechny soubory"
    1125 
    1126 #: udatafile.sdatafilename
    1127 msgctxt "udatafile.sdatafilename"
    1128 msgid "Data file"
    1129 msgstr "Datový soubor"
    1130 
    11311121#: uformcontact.scontact
    11321122msgctxt "uformcontact.scontact"
     
    12441234msgid "vCard file"
    12451235msgstr "Soubor vCard"
     1236
  • trunk/Languages/vCardStudio.pot

    r133 r134  
    10921092msgstr ""
    10931093
    1094 #: udatafile.sallfiles
    1095 msgctxt "udatafile.sallfiles"
    1096 msgid "All files"
    1097 msgstr ""
    1098 
    1099 #: udatafile.sdatafilename
    1100 msgctxt "udatafile.sdatafilename"
    1101 msgid "Data file"
    1102 msgstr ""
    1103 
    11041094#: uformcontact.scontact
    11051095msgctxt "uformcontact.scontact"
  • trunk/Languages/vCardStudio.sv.po

    r133 r134  
    11291129msgstr ""
    11301130
    1131 #: udatafile.sallfiles
    1132 msgctxt "udatafile.sallfiles"
    1133 msgid "All files"
    1134 msgstr "Alla filer"
    1135 
    1136 #: udatafile.sdatafilename
    1137 #, fuzzy
    1138 #| msgid "File"
    1139 msgctxt "udatafile.sdatafilename"
    1140 msgid "Data file"
    1141 msgstr "Fil"
    1142 
    11431131#: uformcontact.scontact
    11441132msgctxt "uformcontact.scontact"
  • trunk/Packages/Common/Common.lpk

    r128 r134  
    4242    <License Value="Copy left."/>
    4343    <Version Minor="9"/>
    44     <Files Count="29">
     44    <Files Count="30">
    4545      <Item1>
    4646        <Filename Value="StopWatch.pas"/>
     
    171171        <UnitName Value="UPixelPointer"/>
    172172      </Item29>
     173      <Item30>
     174        <Filename Value="UDataFile.pas"/>
     175        <UnitName Value="UDataFile"/>
     176      </Item30>
    173177    </Files>
    174178    <CompatibilityMode Value="True"/>
  • trunk/Packages/Common/UDataFile.pas

    r133 r134  
    99  { TDataFile }
    1010
    11   TDataFile = class
     11  TDataFile = class(TComponent)
    1212  private
    1313    FFileName: string;
     
    2121    function GetFileName: string; virtual;
    2222    function GetFileFilter: string; virtual;
    23     procedure Assign(Source: TDataFile);
     23    procedure Assign(Source: TPersistent); override;
    2424    procedure LoadFromFile(FileName: string); virtual;
    2525    procedure SaveToFile(FileName: string); virtual;
    26     constructor Create; virtual;
     26    constructor Create(AOwner: TComponent); override;
    2727    property FileName: string read FFileName write SetFileName;
    2828    property Modified: Boolean read FModified write SetModified;
     29  published
    2930    property OnModify: TNotifyEvent read FOnModify write FOnModify;
    3031  end;
     
    3839  SDataFileName = 'Data file';
    3940  SAllFiles = 'All files';
     41
     42const
     43  AnyFileExt = '.*';
    4044
    4145
     
    6872function TDataFile.GetFileFilter: string;
    6973begin
    70   Result := SAllFiles + '|*.*';
     74  Result := SAllFiles + '|*' + AnyFileExt;
    7175end;
    7276
    73 procedure TDataFile.Assign(Source: TDataFile);
     77procedure TDataFile.Assign(Source: TPersistent);
    7478begin
    75   FFileName := Source.FFileName;
    76   FModified := Source.FModified;
     79  inherited;
     80  if Source is TDataFile then begin
     81    FFileName := TDataFile(Source).FFileName;
     82    FModified := TDataFile(Source).FModified;
     83  end;
    7784end;
    7885
     
    8592procedure TDataFile.SaveToFile(FileName: string);
    8693begin
     94  FModified := False;
    8795  Self.FileName := FileName;
    88   FModified := False;
    8996end;
    9097
    91 constructor TDataFile.Create;
     98constructor TDataFile.Create(AOwner: TComponent);
    9299begin
     100  inherited;
    93101  FileName := GetFileName + GetFileExt;
    94102end;
     
    100108end;
    101109
    102 
    103110end.
    104111
  • trunk/UCore.pas

    r133 r134  
    142142  LoadedFiles: Integer;
    143143begin
    144   TempFile := DefaultDataFileClass.Create;
     144  TempFile := DefaultDataFileClass.Create(nil);
    145145  try
    146146    OpenDialog1.Filter := TempFile.GetFileFilter;
     
    158158    for I := 0 to OpenDialog1.Files.Count - 1 do begin
    159159      if FileExists(OpenDialog1.Files[I]) then begin
    160         TempFile := TVCardFile.Create;
     160        TempFile := TVCardFile.Create(nil);
    161161        try
    162162          TempFile.LoadFromFile(OpenDialog1.Files[I]);
     
    179179  TempFileName: string;
    180180begin
    181   TempFile := DefaultDataFileClass.Create;
     181  TempFile := DefaultDataFileClass.Create(nil);
    182182  try
    183183    OpenDialog1.Filter := TempFile.GetFileFilter;
     
    364364  TempFile: TDataFile;
    365365begin
    366   TempFile := DefaultDataFileClass.Create;
     366  TempFile := DefaultDataFileClass.Create(nil);
    367367  try
    368368    OpenDialog1.Filter := TempFile.GetFileFilter;
     
    510510  FileClose;
    511511  if FileClosed then begin
    512     DataFile := DefaultDataFileClass.Create;
     512    DataFile := DefaultDataFileClass.Create(nil);
    513513    DataFile.OnModify := FileModified;
    514514    TVCardFile(DataFile).VCard.OnError := DoError;
  • trunk/UTest.pas

    r129 r134  
    8787  Lines := TStringList.Create;
    8888  try
    89     with TVCardFile.Create do
     89    with TVCardFile.Create(nil) do
    9090    try
    9191      Lines.Text := Input;
     
    115115  Lines := TStringList.Create;
    116116  try
    117     with TVCardFile.Create do
     117    with TVCardFile.Create(nil) do
    118118    try
    119119      Lines.Text := Input;
  • trunk/UVCardFile.pas

    r129 r134  
    1919    procedure SaveToFile(FileName: string); override;
    2020    procedure LoadFromFile(FileName: string); override;
    21     procedure Assign(Source: TVCardFile);
    22     constructor Create; override;
     21    procedure Assign(Source: TPersistent); override;
     22    constructor Create(AOwner: TComponent); override;
    2323    destructor Destroy; override;
    2424  end;
     
    6464end;
    6565
    66 procedure TVCardFile.Assign(Source: TVCardFile);
     66procedure TVCardFile.Assign(Source: TPersistent);
    6767begin
    68   inherited Assign(Source);
    69   VCard.Assign(Source.VCard);
     68  inherited;
     69  if Source is TVCardFile then
     70    VCard.Assign(TVCardFile(Source).VCard);
    7071end;
    7172
    72 constructor TVCardFile.Create;
     73constructor TVCardFile.Create(AOwner: TComponent);
    7374begin
    7475  inherited;
  • trunk/vCardStudio.lpi

    r131 r134  
    123123      </Item7>
    124124    </RequiredPackages>
    125     <Units Count="24">
     125    <Units Count="23">
    126126      <Unit0>
    127127        <Filename Value="vCardStudio.lpr"/>
     
    143143      </Unit2>
    144144      <Unit3>
    145         <Filename Value="UDataFile.pas"/>
    146         <IsPartOfProject Value="True"/>
     145        <Filename Value="Forms\UFormSettings.pas"/>
     146        <IsPartOfProject Value="True"/>
     147        <ComponentName Value="FormSettings"/>
     148        <HasResources Value="True"/>
     149        <ResourceBaseClass Value="Form"/>
    147150      </Unit3>
    148151      <Unit4>
    149         <Filename Value="Forms\UFormSettings.pas"/>
    150         <IsPartOfProject Value="True"/>
    151         <ComponentName Value="FormSettings"/>
     152        <Filename Value="Forms\UFormContacts.pas"/>
     153        <IsPartOfProject Value="True"/>
     154        <ComponentName Value="FormContacts"/>
    152155        <HasResources Value="True"/>
    153156        <ResourceBaseClass Value="Form"/>
    154157      </Unit4>
    155158      <Unit5>
    156         <Filename Value="Forms\UFormContacts.pas"/>
    157         <IsPartOfProject Value="True"/>
    158         <ComponentName Value="FormContacts"/>
     159        <Filename Value="Forms\UFormContact.pas"/>
     160        <IsPartOfProject Value="True"/>
     161        <ComponentName Value="FormContact"/>
    159162        <HasResources Value="True"/>
    160163        <ResourceBaseClass Value="Form"/>
    161164      </Unit5>
    162165      <Unit6>
    163         <Filename Value="Forms\UFormContact.pas"/>
    164         <IsPartOfProject Value="True"/>
    165         <ComponentName Value="FormContact"/>
     166        <Filename Value="Forms\UFormFindDuplicity.pas"/>
     167        <IsPartOfProject Value="True"/>
     168        <ComponentName Value="FormFindDuplicity"/>
    166169        <HasResources Value="True"/>
    167170        <ResourceBaseClass Value="Form"/>
    168171      </Unit6>
    169172      <Unit7>
    170         <Filename Value="Forms\UFormFindDuplicity.pas"/>
    171         <IsPartOfProject Value="True"/>
    172         <ComponentName Value="FormFindDuplicity"/>
     173        <Filename Value="Forms\UFormGenerate.pas"/>
     174        <IsPartOfProject Value="True"/>
     175        <ComponentName Value="FormGenerate"/>
    173176        <HasResources Value="True"/>
    174177        <ResourceBaseClass Value="Form"/>
    175178      </Unit7>
    176179      <Unit8>
    177         <Filename Value="Forms\UFormGenerate.pas"/>
    178         <IsPartOfProject Value="True"/>
    179         <ComponentName Value="FormGenerate"/>
     180        <Filename Value="Forms\UFormError.pas"/>
     181        <IsPartOfProject Value="True"/>
     182        <ComponentName Value="FormError"/>
    180183        <HasResources Value="True"/>
    181184        <ResourceBaseClass Value="Form"/>
    182185      </Unit8>
    183186      <Unit9>
    184         <Filename Value="Forms\UFormError.pas"/>
    185         <IsPartOfProject Value="True"/>
    186         <ComponentName Value="FormError"/>
     187        <Filename Value="Forms\UFormProperty.pas"/>
     188        <IsPartOfProject Value="True"/>
     189        <ComponentName Value="FormProperty"/>
    187190        <HasResources Value="True"/>
    188191        <ResourceBaseClass Value="Form"/>
    189192      </Unit9>
    190193      <Unit10>
    191         <Filename Value="Forms\UFormProperty.pas"/>
    192         <IsPartOfProject Value="True"/>
    193         <ComponentName Value="FormProperty"/>
     194        <Filename Value="Forms\UFormProperties.pas"/>
     195        <IsPartOfProject Value="True"/>
     196        <ComponentName Value="FormProperties"/>
    194197        <HasResources Value="True"/>
    195198        <ResourceBaseClass Value="Form"/>
    196199      </Unit10>
    197200      <Unit11>
    198         <Filename Value="Forms\UFormProperties.pas"/>
    199         <IsPartOfProject Value="True"/>
    200         <ComponentName Value="FormProperties"/>
     201        <Filename Value="Forms\UFormFind.pas"/>
     202        <IsPartOfProject Value="True"/>
     203        <ComponentName Value="FormFind"/>
    201204        <HasResources Value="True"/>
    202205        <ResourceBaseClass Value="Form"/>
    203206      </Unit11>
    204207      <Unit12>
    205         <Filename Value="Forms\UFormFind.pas"/>
    206         <IsPartOfProject Value="True"/>
    207         <ComponentName Value="FormFind"/>
     208        <Filename Value="Forms\UFormTest.pas"/>
     209        <IsPartOfProject Value="True"/>
     210        <ComponentName Value="FormTest"/>
    208211        <HasResources Value="True"/>
    209212        <ResourceBaseClass Value="Form"/>
    210213      </Unit12>
    211214      <Unit13>
    212         <Filename Value="Forms\UFormTest.pas"/>
    213         <IsPartOfProject Value="True"/>
    214         <ComponentName Value="FormTest"/>
    215         <HasResources Value="True"/>
    216         <ResourceBaseClass Value="Form"/>
     215        <Filename Value="UTest.pas"/>
     216        <IsPartOfProject Value="True"/>
    217217      </Unit13>
    218218      <Unit14>
    219         <Filename Value="UTest.pas"/>
    220         <IsPartOfProject Value="True"/>
     219        <Filename Value="Forms\UFormTestCase.pas"/>
     220        <IsPartOfProject Value="True"/>
     221        <ComponentName Value="FormTestCase"/>
     222        <HasResources Value="True"/>
     223        <ResourceBaseClass Value="Form"/>
    221224      </Unit14>
    222225      <Unit15>
    223         <Filename Value="Forms\UFormTestCase.pas"/>
    224         <IsPartOfProject Value="True"/>
    225         <ComponentName Value="FormTestCase"/>
     226        <Filename Value="Forms\UFormImage.pas"/>
     227        <IsPartOfProject Value="True"/>
     228        <ComponentName Value="FormImage"/>
    226229        <HasResources Value="True"/>
    227230        <ResourceBaseClass Value="Form"/>
    228231      </Unit15>
    229232      <Unit16>
    230         <Filename Value="Forms\UFormImage.pas"/>
    231         <IsPartOfProject Value="True"/>
    232         <ComponentName Value="FormImage"/>
     233        <Filename Value="Forms\UFormNameDetails.pas"/>
     234        <IsPartOfProject Value="True"/>
     235        <ComponentName Value="FormNameDetails"/>
    233236        <HasResources Value="True"/>
    234237        <ResourceBaseClass Value="Form"/>
    235238      </Unit16>
    236239      <Unit17>
    237         <Filename Value="Forms\UFormNameDetails.pas"/>
    238         <IsPartOfProject Value="True"/>
    239         <ComponentName Value="FormNameDetails"/>
     240        <Filename Value="Forms\UFormSource.pas"/>
     241        <IsPartOfProject Value="True"/>
     242        <ComponentName Value="FormSource"/>
    240243        <HasResources Value="True"/>
    241244        <ResourceBaseClass Value="Form"/>
    242245      </Unit17>
    243246      <Unit18>
    244         <Filename Value="Forms\UFormSource.pas"/>
    245         <IsPartOfProject Value="True"/>
    246         <ComponentName Value="FormSource"/>
    247         <HasResources Value="True"/>
    248         <ResourceBaseClass Value="Form"/>
     247        <Filename Value="UVCardHighlighter.pas"/>
     248        <IsPartOfProject Value="True"/>
    249249      </Unit18>
    250250      <Unit19>
    251         <Filename Value="UVCardHighlighter.pas"/>
    252         <IsPartOfProject Value="True"/>
     251        <Filename Value="Forms\UFormCompare.pas"/>
     252        <IsPartOfProject Value="True"/>
     253        <ComponentName Value="FormCompare"/>
     254        <HasResources Value="True"/>
     255        <ResourceBaseClass Value="Form"/>
    253256      </Unit19>
    254257      <Unit20>
    255         <Filename Value="Forms\UFormCompare.pas"/>
    256         <IsPartOfProject Value="True"/>
    257         <ComponentName Value="FormCompare"/>
    258         <HasResources Value="True"/>
    259         <ResourceBaseClass Value="Form"/>
     258        <Filename Value="Diff.pas"/>
     259        <IsPartOfProject Value="True"/>
    260260      </Unit20>
    261261      <Unit21>
    262         <Filename Value="Diff.pas"/>
     262        <Filename Value="UTestCases.pas"/>
    263263        <IsPartOfProject Value="True"/>
    264264      </Unit21>
    265265      <Unit22>
    266         <Filename Value="UTestCases.pas"/>
     266        <Filename Value="UVCardFile.pas"/>
    267267        <IsPartOfProject Value="True"/>
    268268      </Unit22>
    269       <Unit23>
    270         <Filename Value="UVCardFile.pas"/>
    271         <IsPartOfProject Value="True"/>
    272       </Unit23>
    273269    </Units>
    274270  </ProjectOptions>
  • trunk/vCardStudio.lpr

    r129 r134  
    66  {$ENDIF}
    77  Interfaces, // this includes the LCL widgetset
    8   Forms, UFormMain, UCore, Diff, Common, SysUtils, UFormCompare, UTestCases,
     8  Forms, UFormMain, UCore, Diff, SysUtils, UFormCompare, UTestCases,
    99  UVCardFile;
    1010
Note: See TracChangeset for help on using the changeset viewer.