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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-06-2006
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Poder: 20
Bauhaus1975 Va por buen camino
Unhappy Lineas que no se ejecutan

Hola a todos!

Se me ha presentado un problema muy raro, la verdad. Trabajando con Delphi 6.
Estoy haciendo un procedimiento para insertar de manera ordenada elementos en una lista, trabajando con punteros. El problema es que hay algunas líneas ¡¡que no se ejecutan!!, incluso puede verse al ejecutar con el debug 'paso a paso'. En concreto son líneas que hacen referencia a la segunda variable de tipo puntero que hay definida en el procedimiento.

Estos son los tipos que se manejan
Código Delphi [-]
type
TC = ^itemC;
itemC = record
          Valor    : integer;
          Sgte     : TC;
end;

Y este es el mencionado procedimiento:
Código Delphi [-]
procedure TForm1.insertarOrdenado(Vector:TC;var Lista:TC);
// Insertamos el item Vector en la Lista de manera ordenada
// La ordenación es descendente (mayor valor al principio)
var
        Aux : TC;  // Puntero de avance principal
        AuxAnt : TC; // Puntero de avance secundario (un elemento por detrás de 'Aux)
        Pivote : integer;
begin
 Pivote := Vector.Valor;
        // Si la lista está vacía inserta el item directamente
 if (Lista = nil) then
                begin
  Lista := Vector;
        end
 else
         begin
                New(Aux);
                New(AuxAnt);
         Aux := Lista;
                AuxAnt := nil; // Esta linea no se ejecuta
                // Recorremos la lista de punteros hasta encontrar el sitio
         while ((Aux <> nil) and (Pivote < Aux.Valor)) do
                        begin
                        AuxAnt := Aux; // Esta linea no se ejecuta
          Aux := Aux.Sgte;
         end;
         // Aquí se inserta el elemento
                Vector.Sgte := Aux;
                AuxAnt := Vector; // Esta linea no se ejecuta
        end;
end;

¿Se puede manejar más de un tipo puntero en un procedimiento?
Supongo que sí, pero como esto es tan raro....

Bueno, a ver si alguien puede echarme un cable.
Muchas gracias y un saludo.
Responder Con Cita
 



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
Saber q programas se ejecutan Diavlo Varios 1 13-05-2006 21:41:35
Una web con 225,816,744 lineas de código Jesús Pena Noticias 6 09-02-2006 07:48:35
Borrar lineas Luli Gráficos 2 29-07-2005 15:21:28
Lineas en TXT joanajj Varios 5 05-11-2004 21:09:06
lineas en Ttreeview elpezfuma OOP 4 30-05-2003 22:52:18


La franja horaria es GMT +2. Ahora son las 16:42:33.


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