Changeset 3 for trunk/UMainForm.pas


Ignore:
Timestamp:
Feb 2, 2011, 2:14:37 PM (13 years ago)
Author:
chronos
Message:
  • Added: Not finished updating of sources from web.
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

        old new  
        11lib
        22FreePascalManager.exe
         3SourceList.xml
         4Config.xml
  • trunk/UMainForm.pas

    r2 r3  
    88  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
    99  StdCtrls, ActnList, Contnrs, USource, UInstance, UOptions,
    10   DOM, XMLWrite, XMLRead;
     10  DOM, XMLWrite, XMLRead, HTTPSend;
    1111
    1212const
    1313  ConfigFileName = 'Config.xml';
     14  SourceURL = 'http://tv.zdechov.net/fpc/SourceList.xml';
    1415
    1516type
    1617
    17   { TForm1 }
    18 
    19   TForm1 = class(TForm)
     18  { TMainForm }
     19
     20  TMainForm = class(TForm)
    2021    AAdd: TAction;
    2122    ACompile: TAction;
     
    5152    Instances: TObjectList;
    5253    Sources: TSourceList;
    53   end; 
     54  end;
    5455
    5556var
    56   Form1: TForm1;
     57  MainForm: TMainForm;
    5758
    5859implementation
     
    6061{$R *.lfm}
    6162
    62 { TForm1 }
    63 
    64 procedure TForm1.FormCreate(Sender: TObject);
     63{ TMainForm }
     64
     65procedure TMainForm.FormCreate(Sender: TObject);
    6566begin
    6667  Instances := TObjectList.Create;
    6768  Sources := TSourceList.Create;
    68 end;
    69 
    70 procedure TForm1.AAddExecute(Sender: TObject);
     69  LoadInstanceList;
     70end;
     71
     72procedure TMainForm.AAddExecute(Sender: TObject);
    7173begin
    7274  OptionsForm.ShowModal;
    7375end;
    7476
    75 procedure TForm1.ACompileExecute(Sender: TObject);
     77procedure TMainForm.ACompileExecute(Sender: TObject);
    7678begin
    7779  if Assigned(ListView1.Selected) then
     
    8284end;
    8385
    84 procedure TForm1.ARemoveExecute(Sender: TObject);
     86procedure TMainForm.ARemoveExecute(Sender: TObject);
    8587begin
    8688  if Assigned(ListView1.Selected) then
     
    9193end;
    9294
    93 procedure TForm1.AStartExecute(Sender: TObject);
     95procedure TMainForm.AStartExecute(Sender: TObject);
    9496begin
    9597  if Assigned(ListView1.Selected) then
     
    100102end;
    101103
    102 procedure TForm1.AUpdateExecute(Sender: TObject);
     104procedure TMainForm.AUpdateExecute(Sender: TObject);
    103105begin
    104106  if Assigned(ListView1.Selected) then
     
    109111end;
    110112
    111 procedure TForm1.FormDestroy(Sender: TObject);
    112 begin
     113procedure TMainForm.FormDestroy(Sender: TObject);
     114begin
     115  SaveInstanceList;
    113116  Instances.Free;
    114117  Sources.Free;
    115118end;
    116119
    117 procedure TForm1.FormShow(Sender: TObject);
     120procedure TMainForm.FormShow(Sender: TObject);
    118121begin
    119122  ListView1SelectItem(nil, nil, False);
    120123end;
    121124
    122 procedure TForm1.ListView1Data(Sender: TObject; Item: TListItem);
     125procedure TMainForm.ListView1Data(Sender: TObject; Item: TListItem);
    123126begin
    124127  if Item.Index < Instances.Count then
     
    131134end;
    132135
    133 procedure TForm1.ListView1SelectItem(Sender: TObject; Item: TListItem;
     136procedure TMainForm.ListView1SelectItem(Sender: TObject; Item: TListItem;
    134137  Selected: Boolean);
    135138begin
     
    141144end;
    142145
    143 procedure TForm1.ReloadList;
     146procedure TMainForm.ReloadList;
    144147begin
    145148  ListView1.Items.Count := Instances.Count;
     
    147150end;
    148151
    149 procedure TForm1.LoadInstanceList;
     152procedure TMainForm.LoadInstanceList;
    150153var
    151154  Doc: TXMLDocument;
     
    157160  Child: TDOMNode;
    158161begin
     162  if FileExistsUTF8(ConfigFileName) then
    159163  try
    160164    ReadXMLFile(Doc, UTF8Decode(ConfigFileName));
     
    177181        if Assigned(NewNode) then
    178182          SubversionURL := UTF8Encode(string(NewNode.TextContent));
    179         NewNode := Doc.DocumentElement.FindNode('Version');
    180         if Assigned(NewNode) then
    181           Version := UTF8Encode(string(NewNode.TextContent));
    182         NewNode := Doc.DocumentElement.FindNode('Variation');
    183         if Assigned(NewNode) then
    184           Variation := UTF8Encode(string(NewNode.TextContent));
     183        NewNode := Doc.DocumentElement.FindNode('VersionNumber');
     184        if Assigned(NewNode) then
     185          VersionNumber := UTF8Encode(string(NewNode.TextContent));
     186        NewNode := Doc.DocumentElement.FindNode('VersionType');
     187        if Assigned(NewNode) then
     188          VersionType := UTF8Encode(string(NewNode.TextContent));
    185189        NewNode := Doc.DocumentElement.FindNode('SourceType');
    186190        if Assigned(NewNode) then
     
    227231end;
    228232
    229 procedure TForm1.SaveInstanceList;
     233procedure TMainForm.SaveInstanceList;
    230234var
    231235  I: Integer;
     
    270274        AppendChild(NewNode);
    271275      end;
    272       AppendChild(RootNode);
     276      AppendChild(NewNode);
    273277
    274278      NewNode := OwnerDocument.CreateElement('Sources');
     
    285289        NewNode2.TextContent := UTF8Decode(SubversionURL);
    286290        AppendChild(NewNode);
    287         NewNode2 := OwnerDocument.CreateElement('Version');
    288         NewNode2.TextContent := UTF8Decode(Version);
    289         AppendChild(NewNode);
    290         NewNode2 := OwnerDocument.CreateElement('Variation');
    291         NewNode2.TextContent := UTF8Decode(Variation);
     291        NewNode2 := OwnerDocument.CreateElement('VersionType');
     292        NewNode2.TextContent := UTF8Decode(VersionType);
     293        AppendChild(NewNode);
     294        NewNode2 := OwnerDocument.CreateElement('VersionNumber');
     295        NewNode2.TextContent := UTF8Decode(VersionNumber);
    292296        AppendChild(NewNode);
    293297        NewNode2 := OwnerDocument.CreateElement('SourceType');
     
    295299        AppendChild(NewNode);
    296300      end;
    297       AppendChild(RootNode);
     301      AppendChild(NewNode);
    298302    end;
    299303    WriteXMLFile(Doc, UTF8Decode(ConfigFileName));
     
    303307end;
    304308
     309procedure DownloadFile(const Url, PathToSaveTo: string);
     310var
     311  fs: TFileStream;
     312begin
     313  fs := TFileStream.Create(PathToSaveTo, fmOpenWrite or fmCreate);
     314  try
     315    HttpGetBinary(Url, fs);
     316  finally
     317    fs.Free;
     318  end;
     319end;
     320
    305321end.
    306322
Note: See TracChangeset for help on using the changeset viewer.