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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-09-2006
Roberto Sánchez Roberto Sánchez is offline
Registrado
 
Registrado: ago 2006
Posts: 4
Poder: 0
Roberto Sánchez Va por buen camino
De pascal a Delphi 6

Hola,
Según me dice un amigo, el integer de pascal, corresponde al smallint en delphi. Pero con ese cambio sigue sin que los ficheros fabricados sean leidos por el programa en pascal.
¿Qué es packed?

Gracias
R. Sánchez
Responder Con Cita
  #2  
Antiguo 10-09-2006
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Hola a todos!

Cita:
Empezado por Roberto Sánchez
...¿Qué es packed?...
Que tal Roberto. Ahora que las computadoras gozan de mayor capacidad de almacenamiento, la industria le da preferencia a la velocidad de procesamiento. Es por ello que muchos compiladores alinean los campos de una estructura (como el tipo Record de Delphi) de tal manera que resulte más rápido acceder a ellos. Esta alineación consiste en introducir algunos bytes de relleno entre ciertos campos para que éstos queden justo donde puedan ser accedidos más rápidamente por la CPU.

Una manera de impedir que el compilador haga esta alineación es declarar la estructura en cuestión como Packed Record. De hecho eso es lo recomendable cuando tal estructura se utilizará en procesos de almacenamiento y lectura de información en disco. El tamaño de un registro compacto (packed) es la suma del tamaño de sus campos, mientras que un registro alineado (no compacto) suele contener algunos bytes adicionales.

Un abrazo compacto.

Al González.
Responder Con Cita
  #3  
Antiguo 11-09-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Hola nuevamente.

Cita:
Empezado por Al González
Que tal Roberto. Ahora que las computadoras gozan de mayor capacidad de almacenamiento, la industria le da preferencia a la velocidad de procesamiento.
El "Ahora", puede malinterprestarse en este caso... pues la posibilidad de alinear o no alinear los registros en memoria ha existido desde al menos turbo pascal 6, donde ya se podían declarar packed records y "records" normales.

No recuerdo ya de pascal 5.5, pero es probable que en este todos los registros fueran no alineados ("packed").

Cita:
Empezado por Al González
De hecho eso es lo recomendable cuando tal estructura se utilizará en procesos de almacenamiento y lectura de información en disco. El tamaño de un registro compacto (packed) es la suma del tamaño de sus campos, mientras que un registro alineado (no compacto) suele contener algunos bytes adicionales.
Yo no me atrevería a decir categóricamente que es lo recomendable... en cada caso habrá que evaluar si conviene mas perder unos cuantos bytes por registro en el disco y la memoria, a cambio de mayor eficiencia de programa o si por el contrario, es mas importante ahorrar bytes sacrificando desempeño.

Hasta luego.


pd.
(Un abrazo condicional. )
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #4  
Antiguo 11-09-2006
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Riesgo de incompatibilidad

¡Hola a todos!


Cita:
Empezado por jachguate
...El "Ahora", puede malinterprestarse en este caso... pues la posibilidad de alinear o no alinear los registros en memoria ha existido desde al menos turbo pascal 6...
Tienes razón, tal vez se entendió que esa característica nació en Delphi. Sé que la alineación de tipos estructurados existía ya en algunas versiones de Turbo Pascal, desde que, debido a las nuevas y mayores capacidades de almacenamiento y la cada vez mayor exigencia de velocidad en las aplicaciones, se volvía conveniente sacrificar unos pocos bytes en favor de ésta última.


Cita:
Empezado por jachguate sobre la recomendación de usar "Packed" para almacenamiento en disco
...
Yo no me atrevería a decir categóricamente que es lo recomendable... en cada caso habrá que evaluar si conviene mas perder unos cuantos bytes por registro en el disco y la memoria, a cambio de mayor eficiencia de programa o si por el contrario, es mas importante ahorrar bytes sacrificando desempeño...
Cuando se trata de almacenamiento en disco, se presenta un problema más importante aún: el de la compatibilidad, por ello la recomendación que la propia Borland hace:
Cita:
Empezado por Ayuda de Delphi 7
...Because data alignment can change, it's a good idea to pack any record structure that you intend to write to disk or pass in memory to another module compiled using a different version of the compiler.
Desde luego, aún con esto en mente, algunos desarrolladores preferirán ignorar la recomendación argumentando que los archivos nunca serán accedidos por otras aplicaciones (cuyas reglas de alineación podrían ser diferentes) o que la única aplicación que los usa nunca volverá a ser compilada con versiones posteriores del lenguaje (donde las reglas de alineación podrían cambiar). Pero ya sabemos que nunca es una palabra maldita en programación . En fin, es cuestión de poner en la balanza la oportunidad de desempeño contra el riesgo de incompatibilidad.


Un abrazo balanceado.

Al González.
Responder Con Cita
  #5  
Antiguo 12-09-2006
Roberto Sánchez Roberto Sánchez is offline
Registrado
 
Registrado: ago 2006
Posts: 4
Poder: 0
Roberto Sánchez Va por buen camino
De pascal a Delphi 6

Gracias por sus consejos. Pruebo los cambios que mencionan y aprendo.
Haré saber logros y tropiezos en busca de la solución

R. Sánchez

pd. Un abrazo incondicional y ...

Última edición por Roberto Sánchez fecha: 12-09-2006 a las 03:32:43.
Responder Con Cita
Respuesta


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
Usar la libreria crt.dcu de Turbo Pascal 7 en delphi 2205 nunez1984 API de Windows 10 08-03-2010 04:36:34
Las Turbo Tools estan devuelta :) Epachsoft Noticias 54 25-12-2006 02:39:13
manual de excepciones de object pascal para free pascal??? Garion OOP 3 27-05-2005 00:42:29
compatibilidad entre Turbo Pascal 7 y Delphi 7 !! Jat Varios 0 13-12-2004 23:24:34
Instalar TpOrpheus de Turbo Power Delfino OOP 3 18-10-2003 11:19:08


La franja horaria es GMT +2. Ahora son las 23:13:05.


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