Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #12  
Antiguo 10-08-2010
maugescully maugescully is offline
Registrado
 
Registrado: ago 2010
Posts: 8
Poder: 0
maugescully Va por buen camino
Gracias AzidRain. Te mando lo que tengo hasta el momento...
UNIT1
Código:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, Unit2;
type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    Archivo1: TMenuItem;
    Nuevo1: TMenuItem;
    Abrir1: TMenuItem;
    Guardar1: TMenuItem;
    AgregarAlumno1: TMenuItem;
    EliminarAlumno1: TMenuItem;
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Label4: TLabel;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Cerrar1: TMenuItem;
    Herramientas1: TMenuItem;
    Buscar1: TMenuItem;
    Listac1: TMenuItem;
    N1: TMenuItem;
    ListadeLibres1: TMenuItem;
    Salir1: TMenuItem;
    Label8: TLabel;
    Label9: TLabel;
    Button1: TButton;
    Edit8: TEdit;
    Label10: TLabel;
    Edit9: TEdit;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure Nuevo1Click(Sender: TObject);
    procedure Abrir1Click(Sender: TObject);
    procedure AgregarAlumno1Click(Sender: TObject);
    procedure Cerrar1Click(Sender: TObject);
    procedure Buscar1Click(Sender: TObject);
    procedure Salir1Click(Sender: TObject);
    procedure Guardar1Click(Sender: TObject);
    procedure Listac1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  z:TAlumno;
implementation
 
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
  z:=TAlumno.Create;
end;
 
procedure TForm1.Nuevo1Click(Sender: TObject);
begin
If saveDialog1.Execute then
         begin
         z.ArchivoNuevo(Savedialog1.FileName+'.txt');
         showmessage('Se creó el archivo:'+Savedialog1.filename+'.txt')
         end
    end;
 
procedure TForm1.Abrir1Click(Sender: TObject);
begin
If OpenDialog1.Execute
   then begin
        z.AbrirArchivo(OpenDialog1.filename);
        showmessage('Archivo '+OpenDialog1.filename+' Abierto')
        end
end;
procedure TForm1.Guardar1Click(Sender: TObject);
var c:ficha ;cod:byte ;
begin
If saveDialog1.Execute then
   begin
c.DNI:=StrToInt(Edit1.Text);
c.Apellido:=Edit2.Text;
c.Nombres:=Edit3.Text;
c.nota1:=StrToInt(edit4.text);
c.nota2:=StrToInt(Edit5.Text);
c.nota3:=StrToInt(Edit6.text);
c.Promedio:=(c.nota1+c.nota2+c.nota3)/3;
  if c.Promedio<=60 then
       begin
         c.Condicion:='Libre';
       end
     else  c.Condicion:='Regular';
   z.guardarcomo (Savedialog1.FileName+'.txt', c, cod);
        showmessage('El Archivo se a guardado como '+OpenDialog1.filename);
   end
end;

procedure TForm1.AgregarAlumno1Click(Sender: TObject);
var c:Ficha; cod:byte ;
begin
c.DNI:=StrToInt(Edit1.Text);
c.Apellido:=Edit2.Text;
c.Nombres:=Edit3.Text;
c.nota1:=StrToInt(edit4.text);
c.nota2:=StrToInt(Edit5.Text);
c.nota3:=StrToInt(Edit6.text);
c.Promedio:=(c.nota1+c.nota2+c.nota3)/3;
  if c.Promedio<=60 then
       begin
         c.Condicion:='Libre';
       end
     else  c.Condicion:='Regular';
    z.GrabarAlumno(c,cod);
If cod<>0 then
     ShowMessage('No se pudo Agregar el Cliente.Seguramente no Abrió antes el archivo')
     else ShowMessage('Se ha agregado el registro');
end;

procedure TForm1.Cerrar1Click(Sender: TObject);
begin
   z.CerrarArchivo;
   z.free;
   Close
end;
procedure TForm1.Buscar1Click(Sender: TObject);
var i:word; c:Ficha; mensaje:string;
begin
     i:=StrToInt(Edit9.Text);
     z.BuscarAlumno(i,c,mensaje);
     If mensaje='OK' then
   begin
    Edit1.Text:=IntToStr(c.DNI);
    Edit2.Text:=c.Apellido;
    Edit3.Text:=c.Nombres;
    Edit4.Text:=IntToStr(c.nota1);
    Edit5.Text:=IntToStr(c.nota2);
    Edit6.Text:=IntToStr(c.nota3);
    Edit7.Text:=FloatToStr(c.Promedio);
    Edit8.Text:=c.Condicion;
   end
      else
  ShowMessage(mensaje);
    end;
procedure TForm1.Salir1Click(Sender: TObject);
begin
close();
end;

procedure TForm1.Listac1Click(Sender: TObject);
var A: TAlumno;
begin
if opendialog1.Execute then
        begin
        A:= Talumno.Create;
        A.ListaPromedios(Memo1, opendialog1.FileName);
        A.Free;
        end;
end;
end.


UNIT2
Código:
 
unit Unit2;
interface
 uses SysUtils,  Dialogs, StdCtrls;
 Type
   Ficha= Record
   DNI:longint;
   Apellido, nombres: string[20];
   nota1,nota2,nota3:integer;
   Promedio:real;
   Condicion: string[10];
   end;
TAlumno=class
   private
   Archi: File of Ficha;
   public
procedure ArchivoNuevo(ArchiFisico:string);
procedure AbrirArchivo(ArchiFisico:string);
procedure Guardarcomo(ArchiFisico:String; c:ficha; var cod:byte);
procedure GrabarAlumno(c:Ficha; var cod:byte);
procedure ListaPromedios(var Tm1: TMemo; ArchiFisico: string);
//procedure Eliminar(ArchiFisico:string);
procedure CerrarArchivo;
procedure BuscarAlumno(p:word; var c:Ficha; var m:string);
//procedure Promedio(P:prom.);
//procedure Regulares;
//procedure Libres;

end;
implementation
procedure TAlumno.ArchivoNuevo(ArchiFisico:string);
  begin
   AssignFile(Archi,ArchiFisico);
   Rewrite(Archi);
   end;

procedure TAlumno.AbrirArchivo(ArchiFisico:string);
   begin
    AssignFile(Archi,ArchiFisico);
    Reset(Archi)
  end;
 

procedure TAlumno.Guardarcomo(ArchiFisico:string; c:ficha; var cod:byte);
  begin
    AssignFile(Archi,ArchiFisico);
    ReWrite(Archi)  ;
    {$I-}
    Seek(Archi, FileSize(archi));
   {$I+};
    cod:=IOResult;
    If cod=0 then
    Write(Archi,c);
     end;

procedure TAlumno.GrabarAlumno(c:Ficha; var cod:byte);
  begin
   {$I-}
    Seek(Archi, FileSize(archi));
   {$I+};
    cod:=IOResult;
    If cod=0 then
    Write(Archi,c);
     end;
procedure TAlumno.BuscarAlumno(p:word;var c:Ficha;var m:string);
    var Largo:word;
   begin
   {$I-} Largo:=FileSize(archi);{$I+};
   If (IOResult<>0)
    then
     begin
     m:='Problemas con el archivo. Está creado o abierto ?';
     exit // sale del procedure
    end
     else if p>=Largo then
     begin
       m:='El Número de registro está fuera de rango.';
       exit; // sale del procedure
     end;
     Seek(Archi, p);
     Read(archi,c);
     m:='OK';
     end;

     procedure TAlumno.ListaPromedios (var Tm1: TMemo; ArchiFisico: string);
var Archi:TextFile;
     Nomb, cadena: string;
     DNI:longint;
   n1,n2,n3: integer;
     Promedio: real;
 begin
  AssignFile(Archi, ArchiFisico);
  {$I-}
  Reset(Archi);
  {$I+}
  if IOResult=0 then begin
    readln(Archi, Nomb);//leo la comision
    while not EOF(Archi) do
     begin
      readln(Archi,nomb);
      readln(Archi,n1,n2,n3);
      Promedio:= (n1+n2+n3)/3;
      cadena:= 'Nota 1: '+inttostr(n1)+', Nota 2: '+inttostr(n2)+', Nota 3: '+inttostr(n3)+', Promedio: '+FormatFloat('###.##',promedio);
      Tm1.Lines.Add(Nomb);
      Tm1.Lines.Add(cadena);
      end;
    CloseFile(Archi);
    end;
 end;

procedure TAlumno.CerrarArchivo;
  begin
  CloseFile(Archi)
  end;
end.

ahora el problema que tengo es que puedo grabar y puedo leer pero solo por byte... y si logro que busque solo me lee los simbolos no la informacion que corresponde! (la busqueda sería desde el edit1 no desde el 9, esa fue solo una prueba)
en eso trabajo ahora, si tenes alguna ayudita o correccion para darme seria muy agradecida!!
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
string literal may have at most 255 elements?? auxilio einarcito SQL 7 26-08-2008 01:26:15
Auxilio con FastReport nmg05 Impresión 0 14-04-2008 18:42:43
Auxilio en ComboBox Luis Conexión con bases de datos 4 30-09-2004 09:43:55
Auxilio....Tipos de datos buitrago Firebird e Interbase 0 07-09-2004 00:51:20


La franja horaria es GMT +2. Ahora son las 22:05:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi