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 29-04-2005
ciscu ciscu is offline
Miembro
 
Registrado: jun 2003
Ubicación: Granollers
Posts: 114
Poder: 21
ciscu Va por buen camino
Talking Añadir registros de tabla paradox con asm

Hola a todos!!!

¿Alguien puede decirme cómo insertar registros en una tabla paradox utilizando el assembler integrado de delphi, es decir, ASM...END;?

PD: de paso, cómo consultar, modificar y eliminar registros, si no es mucho pedir...
Responder Con Cita
  #2  
Antiguo 29-04-2005
ciscu ciscu is offline
Miembro
 
Registrado: jun 2003
Ubicación: Granollers
Posts: 114
Poder: 21
ciscu Va por buen camino
O podéis indicarme alguna página que explique ensamblador para tablas...?

Gracias anticipadas
Responder Con Cita
  #3  
Antiguo 29-04-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
¿Porqué quieres hacerlo con assembler y no directamente en ObjectPascal?....
Podrías hacerlo en Pascal, compilar y ver la ventana CPU para ver que es lo que compiló delphi
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 02-05-2005
ciscu ciscu is offline
Miembro
 
Registrado: jun 2003
Ubicación: Granollers
Posts: 114
Poder: 21
ciscu Va por buen camino
Talking

Gracias por tu respuesta, delphi.com.ar!!!

Verás, estoy haciendo un programa de gestión y hay algunos bucles (como pasar las facturas a contabilidad) que tardan entre 5 y 10 min. dependiendo de la cantidad (normalmente unas 3000 facturas), y lo que yo querría es que este bucle reduciese al máximo el tiempo; leé por ahí que el problema de hacer un programa con un lenguaje de alto nivel como delphi es que el ordenador tiene que emplear mucho tiempo en traducir las instrucciones a lenguaje máquina, y por eso querría solamente convertir el trozo de código del bucle en ensamblador.

Si hago lo que dices, cómo puedo saber lo que corresponde a dicho bucle si en la ventana CPU me aparece todo el programa compilado?

Gracias anticipadas!!!
Responder Con Cita
  #5  
Antiguo 02-05-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por ciscu
Si hago lo que dices, cómo puedo saber lo que corresponde a dicho bucle si en la ventana CPU me aparece todo el programa compilado?
Si tienes marcada la opción Mixed (boton derecho sobre el código compilado), te mostrará mezclado con el código assembler código Delphi lo que te ayudará a identificar el código.


Cita:
Empezado por ciscu
leé por ahí que el problema de hacer un programa con un lenguaje de alto nivel como delphi es que el ordenador tiene que emplear mucho tiempo en traducir las instrucciones a lenguaje máquina
Los lenguajes que pierden tiempo en esta tradución son los lenguajes interpretados, delphi no es un lenguaje interpretado. Por otro lado, si hay procesos que es conveniente escribirlos en assembler, proque no siempre los compiladores reducen nuestro código al mínimo posible de instruccionesa al procesador, o al juego mas veloz, no creo que logres mucho en un proceso como el tuyo. Hace unos años, ayudé a un compañero ha depurar un algoritmo de reconocimiento de imágenes, armamos alguna de las rutinas en asm, y notamos que no había diferencia alguna, luego comparamos nuestro assembler con el código que compilaba Delphi, y o sorpresa!... eran muuuy similares!

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 03-05-2005
fly fly is offline
Miembro
 
Registrado: abr 2005
Posts: 65
Poder: 20
fly Va por buen camino
Como te dice el compañero delphi.com.ar, yo tampoco creo que puedas ser capaz de optimizar el código usando assembler.

Hace muuchos años, como ocho ó nueve (y más), yo si que conseguí mejoras notables usando ensamblador en temas gráficos, u optimizando un calculos que usaba una raiz cuadrada, aproximando el resultado con asm.

Pero esos eran otros tiempo ( Turbo Pascal ) y otras aplicaciones ( Puramente gráficas ). Hoy en día no creo que nadie "en su sano juicio" quisiera hacerlo en ensamblador, aún es más si tienes que aprenderlo.
¿No te seria más rentable pasar las DDBB a otro tipo? Firebird/Interbase va muy bien.
Optimizar sentencias en SQL es mucho más rentable en estos dias que optimizar el código en assembler.

Si fueran rutinas gráficas, de sonido, residentes, puro calculo aritmético,etc... estaría encantado en ayudarte, pero con lo que se de assembler para 80x86 me llega para descartar el uso de tan bajo nivel con DDBB. Eso es trabajo de los desorralladores de los motores de las bases de datos.

Saludos y suerte.

PD: Pon algo del código maldito y quizá alguien te pueda ayudar.
Responder Con Cita
  #7  
Antiguo 03-05-2005
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 21
JXJ Va por buen camino
delphi.com.ar

¿Me explicas de favor como la hago para ver el codigo, ensamblador. ¡??
por que no entendi lo que dijiste. Tengo Delphi 7.

*******************
Si tienes marcada la opción Mixed (boton derecho sobre el código compilado),
te mostrará mezclado con el código assembler código Delphi lo que te ayudará
a identificar el código.

*******************

Gracias.-
Responder Con Cita
  #8  
Antiguo 03-05-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Me uno a lo dicho, creo que no vas a ganar absolutamente nada intentando actualizar datos desde ensamblador.

1º.- Tienes que tener un dominio muy grande de ASM.
2º.- Tienes que conocer los datos técnicos de la cabecera de la tabla.
3º.- Hay que tener en cuenta que al dar altas o hacer modificaciones hay que actualizar índices....

Si el motor que utilizas es lento, piensa más bien en cambiar a otro motor, aunque si la cantidad de datos a insertar es grande, dificilmente se va a poder rebajar el tiempo.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #9  
Antiguo 03-05-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por JXJ
¿Me explicas de favor como la hago para ver el codigo, ensamblador. ¡??
por que no entendi lo que dijiste. Tengo Delphi 7.
Me refería a poder ver el código compilado en la ventana de debug "CPU"

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
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


La franja horaria es GMT +2. Ahora son las 00:09:20.


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