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 15-11-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Muy buenas a todos,

tienes razón, me merezco una colleja

No es que tenga esto abandonado pero la verdad es que la parte de los albaranes me tienen totalmente bloqueado.

He tenido que hacer muchos cambios y ademas a medida que arreglo pequeños fallos surgen nuevas cosas y lo que pensaba hacer en unas horas se está convirtiendo en unas semanas. asi parece que es esto de la programación.

No he subido nada porque está a medias y no se entendería bien la finalidad.

Necesito pasar de un punto donde estoy atontado y bloqueado

No quería molestar al foro pero ya necesito un empujoncito porque sino me eternizo con esto.

Estoy haciendo los calculos del form albaran, muy diferente a lo que tenía inicialmente, aqui hay de todo un poco. Aunque voy avanzando con otras cosas sigo parado en el tema de calcular el porte en funcion del peso de la tarifa. Necesito usar como sea y siempre que se pueda, la orden locate ya que resulta muy comoda y no hay demasiado que detallar en ella. Pero no se exactamente si lo que quiero se puede o no hacer con ella. Os cuento:

Uso la siguiente sentencia para buscar el primer registro de la tabla TTarifa cuyo peso sea igual al contenido del Edit3.

Hasta ahí bien, pero hay un detalle importante y es que el peso en este caso debe de ser exactamente igual a ese valor sino no lo encuentra, sin embargo yo necesito que localice el primer registro cuyo peso sea >= a Edit3 y no se como hacerlo.

Código Delphi [-]
  DTMGesatrans.TTarifa.Locate('Peso',StrToInt(Edit3.Text),[]);

La tabla tarifa tiene por ej:

5
10
15
20
...

Si edit3 = 5 no hay problema, si edit3 = 10 tampoco lo hay ... pero si edit 3=11 quiero que se quede en el registro de 10 si es 17 , por ejemplo que se quede en 15 ...

No se si me explico bien, supongo que con sql esto se hace sin problema pero de momento preferiría hacerlo con locate para no liarme demasiado.

A ver si alguien se anima y me saca del tunel

Que tengais todos un buen día.

Caral no te preocupes que es cosa de días
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #2  
Antiguo 15-11-2006
[pepon386] pepon386 is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Valencia
Posts: 68
Poder: 20
pepon386 Va por buen camino
Si tienes un índice por ese campo, puedes usar la función FindNearest.
Responder Con Cita
  #3  
Antiguo 15-11-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Cita:
Empezado por Delphitest
supongo que con sql esto se hace sin problema pero de momento preferiría hacerlo con locate para no liarme demasiado.
Pues al no usar sql te estas liando más todavía con código delphi: Cuando FindNearest devuelve un valor,tienes que mirar si es el valor exacto o si es un valor cercano (por encima o por debajo) del peso, con sql lo tienes de un solo golpe, además ya lo dije en un mensaje anterior.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 15-11-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Delphitest
La verdad sigo sin entender porque te cuesta tanto esto, es solo cuestion de preguntar en el foro, recuerda que hay verdaderos maestros en esto.
Bueno, tienes un problema que es:
Cita:
Si edit3 = 5 no hay problema, si edit3 = 10 tampoco lo hay ... pero si edit 3=11 quiero que se quede en el registro de 10 si es 17 , por ejemplo que se quede en 15 ...
Bueno la verdad lo tenias, te envio la modificacion, recuerda que he modificado la tabla tarifa, y por sobre todo que soy novatito y que hago lo que puedo, seguro habra mejores formas de hacerlo, pero no las conozco.
Aqui te envio los cambios, no te entretengas con otras cosas, sigue adelante, ya tendras tiempo de mejorar tu codigo.
http://rapidshare.com/files/3475098/Gesatrans.zip.html
Por favor revisalo, creo que es lo que necesitas.
Si pones cualquier numero que no sea el peso exacto el selecciona el conveniente automaticamente.
Saludos
Responder Con Cita
  #5  
Antiguo 15-11-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Hola Caral,

gracias por molestarte con esto.

He estado probando y repasando el código, pero no me sirve de esta forma.

Dentro del código hay varias lineas que mencionan los kilos, entre tanto y tanto ...

no puedo depender de esto ya que los kilos se pueden cambiar en cualquier momento desde la tabla tarifa y no siempre los saltos seran de 5 en 5 o de 10 en 10, es la parte delicada que tiene.

Necesito que una orden busque en la tabla y saque los datos pero amoldandose a los kilos que esten ahí aunque cambien de vez en cuando.

Sigo dandole vueltas pero no veo la forma.

si doy con algo os lo digo, pero esto se pone oscuro

Por cierto, diras que soy un poco pesado pero no funciona el tema del ini
Haz la prueba y quitando la DB del sitio original colocala en otra ruta, ami solo me funciona si cambio el ADOConnection, sino nada.

Un abrazo para todos y siento las molestias
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #6  
Antiguo 15-11-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Delphitest
La verdad no se que te esta pasando, no nos envias codigo, asi que no sabemos nada.
A mi el programa que acabo de enviar funciona perfectamente, define los kilos y los calcula en base a la zona, no se si hay que hacer otro calculo adicional, sin codigo es dificil verlo.
Insisto, prueba el programa que te envie, el ultimo, hazlo correr y modifica un albaran, con esto te daras cuenta de cosas.
Por cierto tego un hilo empezado (Programa de Matematicas) en varios, este es para que los foristas aporten ideas y codigo, es interesante, casualmente trabaja con matematicas, revisalo y aporta ideas y codigo, se que puedes.
Saludos
Responder Con Cita
  #7  
Antiguo 15-11-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Por cierto. Que ha pasado con nuestro amigo Robert01.
Se va de vacaciones y no pide permiso, ni avisa.
A ver si da señales de vida.
Saludos
Responder Con Cita
  #8  
Antiguo 15-11-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Es cierto Caral, parece que ya no quiero subir nada ni compartir nada, pero te aseguro que no es por nada especial, sino simplemente que creo que lo que tengo hecho ahora mismo no sirve para nada, hay un lio impresionante, pero realmente impresionante. Hasta yo me pierdo en el código.

Soy consciente de que no estoy haciendo esta parte demasiado bien pero he llegado a un punto en el que me superan las cosas. Entre todos los cambios que van surgiendo dia a dia y las partes que no consigo hacer no veas que agobio me entra por momentos.

Aun así para que os hagais una idea y veais que realmente se está complicando el asunto, os pongo todo lo que tengo.

Aqui esta lo último

Hay que centrarse en los albaranes.

Los clientes tienen mas opciones, hay remitentes, destinatarios, volumen para el peso, desembolso en origen ... tengo la cabeza que ya no da para mas.

Hay varias casillas por ahi no visibles que he tenido que poner para conseguir algunos calculos.

Lo importante ahora mismo es:

Hay que editar un albaran, poner el peso y si queremos volumen, en Edit3 se recoge el peso max de esos dos valores, en DBEdit25 y solo despues de meter un destinatario (mas que nada pq antes no sabriamos donde va el bulto) se recoge la zona, que he calculado en base a los 2 digitos de la izquierda del codigo postal (Hay logicamente una tabla con los 52 codigos postales de España).

Ahora bien, en DBEdit21 quiero que aparezcan los portes en base a:

Peso que sale de Edit3 (pero no clavado sino que se tiene que amoldar a lo que hay en la tabla Tarifa)

Zona que aparece en DBEdit25

Ya no se ni si me estoy explicando bien o no, pero solo por curiosidad echarle un vistazo al codigo del form albaranes, asi se entenderá mejor mi bloqueo, cabreo, decepción, agobio ....

Buenas noches para el que pueda dormir bien, pq yo ya ni duermo
__________________
Mi proyecto paso a paso (Parte I)
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
Ejecutar Query Paso a Paso??? juliopag1 SQL 0 17-06-2006 01:51:10
Novato (Paso a Paso de una consulta) enecumene Conexión con bases de datos 2 29-05-2006 20:52:19
Motor Paso a Paso jluisx C++ Builder 3 12-09-2005 16:48:07
Red Paradox paso a paso Aldo Josué Conexión con bases de datos 2 13-12-2003 13:53:37
procedure paso a paso Silver Varios 1 26-08-2003 20:24:00


La franja horaria es GMT +2. Ahora son las 06:30:19.


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