modificacion
Publicado por jovanna (4 intervenciones) el 04/12/2008 03:04:26
hola quisiera que me ayuden a modificar este codigo bueno el programa es para guardar recetas consta de un lisbox donde se muestra la lista de las recetas,un groupbox donde se pone los ingredientes, nombre de la receta,fecha y tiene un memo donde se muestra las instrucciones ,el problema es que tiene que tener botones para mostrar los objetivos ,instrucciones,equipos,dibujo en la parte del memo dando un click en los botones(objetivo,instrucciones, equipos y dibujo) .
y tambien como guardar un dibujo en el memo par luego mostrarlo bueno gracias de antemano aqui les dejo el codigo cualquier ayuda es de mucha ayuda
unit Receta;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Spin, ComCtrls, StdCtrls;
const
Archivo='Recetas.dat'; //Nombre del archivo
type
TReceta=Record
Nombre: String[30];
Fecha: tDateTime;
Porciones: integer;
Ingred1: string[20];
Ingred2: string[20];
Ingred3: string[20];
Ingred4: string[20];
Instruc: string[200];
end;
TForm1 = class(TForm)
Label1: TLabel;
ListBox1: TListBox;
Nuevo: TButton;
Borrar: TButton;
GroupBox1: TGroupBox;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
DateTimePicker1: TDateTimePicker;
Label4: TLabel;
SpinEdit1: TSpinEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Edit2: TEdit;
Edit4: TEdit;
Edit3: TEdit;
Edit5: TEdit;
Label10: TLabel;
Memo1: TMemo;
Guardar: TButton;
Descartar: TButton;
Cerrar: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure NuevoClick(Sender: TObject);
procedure BorrarClick(Sender: TObject);
procedure GuardarClick(Sender: TObject);
procedure DescartarClick(Sender: TObject);
procedure CerrarClick(Sender: TObject);
private
f: File of TReceta;
r: TReceta;
Nueva:Boolean;
Procedure MostrarLista;
Procedure MostrarRegistro;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
AssignFile(f,Archivo);
If FileExists(Archivo) then
reset(f) // si el archivo existe en el disco, lo abrimos
else
rewrite(f); // si no lo creamos
MostrarLista; //Lee todo el archivo y coloca los nombres en la lista
Nueva:= false; // bandera para saber si estamos ingresando una nueva receta
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
CloseFile(f);
end;
Procedure TForm1.MostrarLista;
begin
Listbox1.Items.Clear;
seek(f,0);
while not eof(f) do
begin
Read(f,r);
ListBox1.Items.Append(r.Nombre);
end;
ListBox1.ItemIndex:= 0;
ListBox1Click(nil);
end;
Procedure TForm1.MostrarRegistro;
begin
Read(f,r);
Edit1.Text:=r.Nombre;
DateTimePicker1.DateTime:= r.Fecha;
spinEdit1.Value:= r.Porciones;
Edit2.Text:= r.Ingred1;
Edit3.Text:= r.Ingred2;
Edit4.Text:= r.Ingred3;
Edit5.Text:= r.Ingred4;
Memo1.Text:= r.Instruc;
end;
procedure TForm1.ListBox1Click(Sender: TObject);
begin
Seek(f,listBox1.ItemIndex);
MostrarRegistro;
end;
procedure TForm1.NuevoClick(Sender: TObject);
begin
Nueva:= True;
Edit1.Text:='Nueva comida';
DateTimePicker1.Datetime:=now;
SpinEdit1.Value:= 1;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Memo1.Clear;
Edit1.SetFocus;
end;
procedure TForm1.BorrarClick(Sender: TObject);
var
g: File of TReceta;
regABorrar: integer;
begin
AssignFile(g,'Temp.dat');
Rewrite(g);
Seek(f,0);
RegABorrar:= ListBox1.ItemIndex;
While not eof(f) do
begin
Read(f,r);
If FilePos(f)<> RegABorrar then
write(g,r);
end;
CloseFile(f);
CloseFile(g);
Erase(f);
Rename(g,Archivo);
Reset(f);
MostrarLista;
end;
procedure TForm1.GuardarClick(Sender: TObject);
begin
r.Nombre:= Edit1.Text;
r.Fecha:= DateTimePicker1.DateTime;
r.Porciones:= SpinEdit1.Value;
r.Ingred1:= Edit2.Text;
r.Ingred2:= Edit3.Text;
r.Ingred3:= Edit4.Text;
r.Ingred4:= Edit5.Text;
r.Instruc:= Memo1.Text;
if Nueva then
seek(f,filesize(f))
else
seek(f,ListBox1.ItemIndex);
write(f,r);
Nueva:= false;
MostrarLista;
end;
procedure TForm1.DescartarClick(Sender: TObject);
begin
Seek(f,ListBox1.ItemIndex);
MostrarRegistro;
end;
procedure TForm1.CerrarClick(Sender: TObject);
begin
Close;
end;
end.
y tambien como guardar un dibujo en el memo par luego mostrarlo bueno gracias de antemano aqui les dejo el codigo cualquier ayuda es de mucha ayuda
unit Receta;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Spin, ComCtrls, StdCtrls;
const
Archivo='Recetas.dat'; //Nombre del archivo
type
TReceta=Record
Nombre: String[30];
Fecha: tDateTime;
Porciones: integer;
Ingred1: string[20];
Ingred2: string[20];
Ingred3: string[20];
Ingred4: string[20];
Instruc: string[200];
end;
TForm1 = class(TForm)
Label1: TLabel;
ListBox1: TListBox;
Nuevo: TButton;
Borrar: TButton;
GroupBox1: TGroupBox;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
DateTimePicker1: TDateTimePicker;
Label4: TLabel;
SpinEdit1: TSpinEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Edit2: TEdit;
Edit4: TEdit;
Edit3: TEdit;
Edit5: TEdit;
Label10: TLabel;
Memo1: TMemo;
Guardar: TButton;
Descartar: TButton;
Cerrar: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure NuevoClick(Sender: TObject);
procedure BorrarClick(Sender: TObject);
procedure GuardarClick(Sender: TObject);
procedure DescartarClick(Sender: TObject);
procedure CerrarClick(Sender: TObject);
private
f: File of TReceta;
r: TReceta;
Nueva:Boolean;
Procedure MostrarLista;
Procedure MostrarRegistro;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
AssignFile(f,Archivo);
If FileExists(Archivo) then
reset(f) // si el archivo existe en el disco, lo abrimos
else
rewrite(f); // si no lo creamos
MostrarLista; //Lee todo el archivo y coloca los nombres en la lista
Nueva:= false; // bandera para saber si estamos ingresando una nueva receta
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
CloseFile(f);
end;
Procedure TForm1.MostrarLista;
begin
Listbox1.Items.Clear;
seek(f,0);
while not eof(f) do
begin
Read(f,r);
ListBox1.Items.Append(r.Nombre);
end;
ListBox1.ItemIndex:= 0;
ListBox1Click(nil);
end;
Procedure TForm1.MostrarRegistro;
begin
Read(f,r);
Edit1.Text:=r.Nombre;
DateTimePicker1.DateTime:= r.Fecha;
spinEdit1.Value:= r.Porciones;
Edit2.Text:= r.Ingred1;
Edit3.Text:= r.Ingred2;
Edit4.Text:= r.Ingred3;
Edit5.Text:= r.Ingred4;
Memo1.Text:= r.Instruc;
end;
procedure TForm1.ListBox1Click(Sender: TObject);
begin
Seek(f,listBox1.ItemIndex);
MostrarRegistro;
end;
procedure TForm1.NuevoClick(Sender: TObject);
begin
Nueva:= True;
Edit1.Text:='Nueva comida';
DateTimePicker1.Datetime:=now;
SpinEdit1.Value:= 1;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Memo1.Clear;
Edit1.SetFocus;
end;
procedure TForm1.BorrarClick(Sender: TObject);
var
g: File of TReceta;
regABorrar: integer;
begin
AssignFile(g,'Temp.dat');
Rewrite(g);
Seek(f,0);
RegABorrar:= ListBox1.ItemIndex;
While not eof(f) do
begin
Read(f,r);
If FilePos(f)<> RegABorrar then
write(g,r);
end;
CloseFile(f);
CloseFile(g);
Erase(f);
Rename(g,Archivo);
Reset(f);
MostrarLista;
end;
procedure TForm1.GuardarClick(Sender: TObject);
begin
r.Nombre:= Edit1.Text;
r.Fecha:= DateTimePicker1.DateTime;
r.Porciones:= SpinEdit1.Value;
r.Ingred1:= Edit2.Text;
r.Ingred2:= Edit3.Text;
r.Ingred3:= Edit4.Text;
r.Ingred4:= Edit5.Text;
r.Instruc:= Memo1.Text;
if Nueva then
seek(f,filesize(f))
else
seek(f,ListBox1.ItemIndex);
write(f,r);
Nueva:= false;
MostrarLista;
end;
procedure TForm1.DescartarClick(Sender: TObject);
begin
Seek(f,ListBox1.ItemIndex);
MostrarRegistro;
end;
procedure TForm1.CerrarClick(Sender: TObject);
begin
Close;
end;
end.
Valora esta pregunta


0