unit GestoreFinestra;
{Sorgente per Lazarus}
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,
Nominativo, IoFile, lima, Menus;
type
{ TFormPrincipale }
TFormPrincipale = class(TForm)
MemoRecord: TMemo;
Label1: TLabel;
MainMenuFinestre: TMainMenu;
File1: TMenuItem;
Carica1: TMenuItem;
Cancella1: TMenuItem;
Esci1: TMenuItem;
Salvasufile1: TMenuItem;
SaveDialogScrivi: TSaveDialog;
procedure FormCreate(Sender: TObject);
procedure Cancella1Click(Sender: TObject);
procedure Esci1Click(Sender: TObject);
procedure Carica1Click(Sender: TObject);
procedure Salvasufile1Click(Sender: TObject);
private
{ Déclarations privées }
procedure cancella;
public
{ Déclarations publiques }
nomeFile:string;
end;
var
FormPrincipale: TFormPrincipale;
implementation
{$R *.dfm}
function aggiungiTxt(nomefile:string):string;
var finale:string;
begin
if length(nomeFile)>4 then
finale:=copy(nomeFile, length(nomeFile)-3, 4)
else
finale:='';
if finale<>'.txt' then
nomeFile:=nomeFile+'.txt';
aggiungiTxt:=nomeFile;
end;
procedure TFormPrincipale.FormCreate(Sender: TObject);
begin
FormPrincipale.Caption:='Conversione record';
cancella;
MemoRecord.ReadOnly:=true;
nomeFile:=GetCartella+'\dati.dat';
SaveDialogScrivi:=TSaveDialog.Create(self);
SaveDialogScrivi.InitialDir:=GetCartella;
SaveDialogScrivi.Filter := 'File di testo|*.txt';
SaveDialogScrivi.DefaultExt:='txt';
end;
procedure TFormPrincipale.cancella;
begin
MemoRecord.Lines.Clear;
end;
procedure TFormPrincipale.Cancella1Click(Sender: TObject);
begin
MemoRecord.Lines.Clear;
end;
procedure TFormPrincipale.Esci1Click(Sender: TObject);
begin
MemoRecord.Lines.Clear;
nomeFile:='';
SaveDialogScrivi.Free;
Application.Terminate;
end;
procedure TFormPrincipale.Carica1Click(Sender: TObject);
var nome:indirizzo;
f:fiolima;
begin
MemoRecord.Lines.Clear;
if f.ApriFile(nomeFile, 'r') then
begin
while not f.FineFile do
begin
nome:=f.leggi;
MemoRecord.Lines.Add('Nome:');
MemoRecord.Lines.Add(nome.nome);
MemoRecord.Lines.Add('Indirizzo:');
MemoRecord.Lines.Add(nome.indirizzo);
MemoRecord.Lines.Add('Utente:');
MemoRecord.Lines.Add(nome.utente);
MemoRecord.Lines.Add('Codice:');
MemoRecord.Lines.Add(nome.pas);
MemoRecord.Lines.Add('Note:');
MemoRecord.Lines.Add(nome.note);
MemoRecord.Lines.Add('------------------------------------------');
end;
f.ChiudiFile;
end;
end;
procedure TFormPrincipale.Salvasufile1Click(Sender: TObject);
var i,fine:integer;
f:tlima;
percorsoFile:string;
begin
if SaveDialogScrivi.Execute then
begin
percorsoFile:=aggiungiTxt(SaveDialogScrivi.FileName);
if not FileEsistente(percorsoFile) then
if f.ApriFile(percorsoFile, 'W') then
begin
fine:=MemoRecord.Lines.Count;
i:=0;
while i<fine do
begin
f.ScriviLn(MemoRecord.Lines[i]);
i:=i+1;
end;
f.ChiudiFile;
end
else
begin
ShowMessage('Impossibile aprire '+percorsoFile);
end
else
ShowMessage('Impossibile sovrascrivere '+percorsoFile);
end;
end;
end.