Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Indirizzi - GestoreFinestra.pas

GestoreFinestra.pas

Caricato da: Poggi Marco
Scarica il programma completo

  1. unit GestoreFinestra;
  2.  
  3. {Sorgente per Lazarus}
  4.  
  5. interface
  6.  
  7. uses
  8.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  9.   Dialogs, StdCtrls,
  10.   Nominativo, IoFile, lima, Menus;
  11.  
  12. type
  13.  
  14.   { TFormPrincipale }
  15.  
  16.   TFormPrincipale = class(TForm)
  17.     MemoRecord: TMemo;
  18.     Label1: TLabel;
  19.     MainMenuFinestre: TMainMenu;
  20.     File1: TMenuItem;
  21.     Carica1: TMenuItem;
  22.     Cancella1: TMenuItem;
  23.     Esci1: TMenuItem;
  24.     Salvasufile1: TMenuItem;
  25.     SaveDialogScrivi: TSaveDialog;
  26.     procedure FormCreate(Sender: TObject);
  27.     procedure Cancella1Click(Sender: TObject);
  28.     procedure Esci1Click(Sender: TObject);
  29.     procedure Carica1Click(Sender: TObject);
  30.     procedure Salvasufile1Click(Sender: TObject);
  31.   private
  32.     { Déclarations privées }
  33.     procedure cancella;
  34.   public
  35.     { Déclarations publiques }
  36.     nomeFile:string;
  37.   end;
  38.  
  39. var
  40.   FormPrincipale: TFormPrincipale;
  41.  
  42. implementation
  43.  
  44. {$R *.dfm}
  45.  
  46. function aggiungiTxt(nomefile:string):string;
  47. var finale:string;
  48. begin
  49.   if length(nomeFile)>4 then
  50.     finale:=copy(nomeFile, length(nomeFile)-3, 4)
  51.   else
  52.     finale:='';
  53.   if finale<>'.txt' then
  54.     nomeFile:=nomeFile+'.txt';
  55.   aggiungiTxt:=nomeFile;
  56. end;
  57.  
  58. procedure TFormPrincipale.FormCreate(Sender: TObject);
  59. begin
  60.  FormPrincipale.Caption:='Conversione record';
  61.  cancella;
  62.  MemoRecord.ReadOnly:=true;
  63.  nomeFile:=GetCartella+'\dati.dat';
  64.  SaveDialogScrivi:=TSaveDialog.Create(self);
  65.  SaveDialogScrivi.InitialDir:=GetCartella;
  66.  SaveDialogScrivi.Filter := 'File di testo|*.txt';
  67.  SaveDialogScrivi.DefaultExt:='txt';
  68. end;
  69.  
  70. procedure TFormPrincipale.cancella;
  71. begin
  72.   MemoRecord.Lines.Clear;
  73. end;
  74.  
  75. procedure TFormPrincipale.Cancella1Click(Sender: TObject);
  76. begin
  77.   MemoRecord.Lines.Clear;
  78. end;
  79.  
  80. procedure TFormPrincipale.Esci1Click(Sender: TObject);
  81. begin
  82.   MemoRecord.Lines.Clear;
  83.   nomeFile:='';
  84.   SaveDialogScrivi.Free;
  85.   Application.Terminate;
  86. end;
  87.  
  88. procedure TFormPrincipale.Carica1Click(Sender: TObject);
  89. var nome:indirizzo;
  90.     f:fiolima;
  91. begin
  92.   MemoRecord.Lines.Clear;
  93.   if f.ApriFile(nomeFile, 'r') then
  94.   begin
  95.     while not f.FineFile do
  96.     begin
  97.       nome:=f.leggi;
  98.       MemoRecord.Lines.Add('Nome:');
  99.       MemoRecord.Lines.Add(nome.nome);
  100.       MemoRecord.Lines.Add('Indirizzo:');
  101.       MemoRecord.Lines.Add(nome.indirizzo);
  102.       MemoRecord.Lines.Add('Utente:');
  103.       MemoRecord.Lines.Add(nome.utente);
  104.       MemoRecord.Lines.Add('Codice:');
  105.       MemoRecord.Lines.Add(nome.pas);
  106.       MemoRecord.Lines.Add('Note:');
  107.       MemoRecord.Lines.Add(nome.note);
  108.       MemoRecord.Lines.Add('------------------------------------------');
  109.     end;
  110.     f.ChiudiFile;
  111.   end;
  112. end;
  113.  
  114. procedure TFormPrincipale.Salvasufile1Click(Sender: TObject);
  115. var i,fine:integer;
  116.     f:tlima;
  117.     percorsoFile:string;
  118. begin
  119.   if SaveDialogScrivi.Execute then
  120.   begin
  121.     percorsoFile:=aggiungiTxt(SaveDialogScrivi.FileName);
  122.     if not FileEsistente(percorsoFile) then
  123.       if f.ApriFile(percorsoFile, 'W') then
  124.       begin
  125.         fine:=MemoRecord.Lines.Count;
  126.         i:=0;
  127.         while i<fine do
  128.         begin
  129.            f.ScriviLn(MemoRecord.Lines[i]);
  130.            i:=i+1;
  131.         end;
  132.         f.ChiudiFile;
  133.       end
  134.       else
  135.       begin
  136.         ShowMessage('Impossibile aprire '+percorsoFile);
  137.       end
  138.     else
  139.       ShowMessage('Impossibile sovrascrivere '+percorsoFile);
  140.   end;
  141. end;
  142.  
  143. end.