Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-09-2008
Manshula Manshula is offline
Registrado
 
Registrado: mar 2008
Posts: 5
Poder: 0
Manshula Va por buen camino
Implementacion Secuencia

Esta es una implementacion de secuencia de caracteres que hice pero me han sugerido un par de cosas y quisiera saber si lo dejo asi o hago los cambios.

1) en el TSecuencia.LeerPrim;
mi profesor dice que estoy leyendo el segundo elemento, no el primero.

2)Me sugirieron reemplazar en el Tsecuencia.fin
en vez de comparar con eof, insertar una marca de fin por el Tsecuencia.marcar y luego comparar el fin a traves de ese elemento.

espero que se halla entendido, soy novato en esto. Cualquier ayuda viene bien saludos

Código:
unit Secuencia;

interface

type

    TSecuencia = class

                  private

                    f: TextFile;
                    filename: string;

                  public

                    procedure leerPrim(var x:char);
                    procedure leerSig(var x:char);
                    procedure escribir(var x:char);
                    procedure marcar;
                    function fin: boolean;

                end;

implementation

uses SysUtils, Dialogs, Classes;

  procedure TSecuencia.leerPrim;
  begin
    try
      assignFile (f, filename);
      reset(f);
      except
        on exception do
        begin
          ShowMessage('Error al intentar abrir el archivo.');
          exit;
        end;
    end;
    read(f,x);
  end;

  procedure TSecuencia.leerSig;
  begin
    read(f, x);
  end;

  function TSecuencia.fin(): boolean;
  begin

    result := eof(f);
  end;

  procedure TSecuencia.escribir;
  begin
    write (f,x);
  end;

  procedure TSecuencia.marcar();
  var x: char;
  begin
   closefile(f);
  end;
end.
Responder Con Cita
  #2  
Antiguo 25-09-2008
Manshula Manshula is offline
Registrado
 
Registrado: mar 2008
Posts: 5
Poder: 0
Manshula Va por buen camino
Quisiera saber si esta bien planteado lo que hice yo y si conviene o no hacer lo sugerido. En ese caso lo hago y lo posteo a ver que les parece
Responder Con Cita
  #3  
Antiguo 25-09-2008
Avatar de duilioisola
[duilioisola] duilioisola is online now
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
No entiendo que es lo que quieres hacer con esto.
Aparentemente, abres un archivo y lees caracteres.

- En ningún lugar le envias el nombre del archivo. Quizás sería un buen lugar en LeerPrim.
Código Delphi [-]
procedure TSecuencia.leerPrim(Archivo: string; var x:char);
  begin
    FileName := Archivo;
    try
      assignFile (f, filename);
      reset(f);
      except
        on exception do
        begin
          ShowMessage('Error al intentar abrir el archivo.');
          exit;
        end;
    end;
    read(f,x);
  end;
También puedes hacerlo en un metodo para inicializar el objeto.

LeerPrim lee el primer caracter despues de abrir el archivo. Parece que todo es correcto.

- LeerSig no verifica si ya ha llegado al final.
Código Delphi [-]
procedure TSecuencia.leerSig;
  begin
    if (not fin) then
      read(f, x);
     else
       Raise exception.Create("No hay mas datos para leer!");
  end;

- Qué se supone que hace marcar?
Parece que solo cierra el archivo. Quizás te sugirieron que miraras si habías llegado al final antes de cerrarlo, para no dejar nada sin leer.

- Sobra var x: char; en marcar.

Última edición por duilioisola fecha: 25-09-2008 a las 17:00:41.
Responder Con Cita
  #4  
Antiguo 25-09-2008
Manshula Manshula is offline
Registrado
 
Registrado: mar 2008
Posts: 5
Poder: 0
Manshula Va por buen camino
Gracias por la respuesta.

La idea de el marcar es "marcar" el fin de la secuencia

lo que me sugieren ahi es insertar un elemento "x" para comparar el fin por ese elemento y no por eof
Responder Con Cita
  #5  
Antiguo 25-09-2008
Avatar de duilioisola
[duilioisola] duilioisola is online now
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Cita:
No entiendo que es lo que quieres hacer con esto.
Sigo sin saber cual es el objetivo de todo esto.

Has preguntado porqué te sugieren poner un elemento que marque el final? Si es para leer archivos no hace falta.
Responder Con Cita
  #6  
Antiguo 26-09-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Manshula, cuando te respondí al mensaje privado te pedí que seas lo más detallista posible. Veo que preferiste ahorrarte palabras, de hecho no veo diferencia alguna entre el mensaje que me enviaste y el post.

Para que podamos ayudarte debes explicar mejor tu caso. La verdad es que no se te entiende. Tomate el tiempo para organizar bien tus ideas y exponerlas.

Te he dicho que no se cobran por la palabras.
Es preferible un post largo y bien explícito y descriptivo que un post vacio.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
Respuesta



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
IMplementacion de un parser bustio Varios 10 07-12-2007 17:50:10
Diseño e implementación de Thumbnails MaMu Gráficos 4 18-04-2007 20:25:37
Implementacion de sql a un qreport!! magnu9 Impresión 1 09-11-2006 21:46:01
Implementacion de Callback walito Varios 6 26-09-2006 20:03:22
Implementacion POO y UML Leonardo OOP 1 19-10-2005 15:51:13


La franja horaria es GMT +2. Ahora son las 08:18:15.


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