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 17-09-2008
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 585
Poder: 23
santiago14 Va por buen camino
Lightbulb agradecimentos

Quiero agradecerles a todos que a esta hora de la noche se han tomado la molestia de buscar una solución a todo esto.
Hasta ahora no he tenido buenos resultados; espero encontrar la respuesta en el corto plazo.

Agradecido nuevamente les deseo buenas noches.

Por supuesto que voy a considerar todas las respuestas y veo si haciendo un merengue entre todas puedo llegar a algo. Por favor, si tienen nuevas sugerencias no duden en ponerlas.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #2  
Antiguo 17-09-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Yo tengo esto funcionando en Delphi 6 desde hace mucho tiempo:

Código Delphi [-]
procedure DefaultSort(AttrIndex:array of integer;
                              AttrSortType: array of TSQLSortType);
....

Y la llamada...

Self.DefaultSort([1],[sstASC]);
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 17-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, es normal q te salte error puesto q no le estas pasando un array de TDatos, sino un array de enteros. Puedes hacer varias cosas (para mantener el formato de pares de numeros...).

1.- hacer overload de 'proceso' : mientras que en una acepte array de tdatos, en la otra acepte array de [0..1] real (pares de numeros), llamando, luego de transformar los parametros, una a la otra, segun te convenga.
2.- Crear una clase cuyo constructor acepte pares de numeros, tendras que llamar a proceso entonces de la manera proceso([TDatos(0,1),TDatos(20,3)]) etc...
3.- Crear una funcion que, a partir de pares de numeros, te devuelva un array de tdatos. Algo parecido a Rect()... te quedaria como proceso(A_Datos([(0,1),(20,80),(30,20)]));
4.- Crear una clase TDatos con un array [0..1] of double, y dentro ella crear dos propiedades, temperatura y humedad, con su read/write, los cuales devolverian v[0] i v[1];
5.- Que proceso solo acepte array de array[0..1] of double, y que TDatos sea eso (type TDatos : array [0..1] of double), sabiendo tu ya q el primer valor es temperatura y el segundo humedad.

... y alguna q otra manera mas hay, seguro...

Para mi la mejor de todas seria la primera (la menos laboriosa y visualmente mas entendible, una vez escrita) si bien segun para q lo quieras (si tiene q desarrollarse bastante) quizas te salga mas a cuenta crear una clase correctamente (la opcion 4). Creo q en c del antiguo si se podia tratar una struct (record) asi tal como escribes, colocandose cada valor en su sitio. Me parece q la OOP anulo esto , pues son necesarios los typecast para casi todo. Igualmente, no estoy seguro, investigo un poco. Saludos y a ver si te sirve lo escrito.

Última edición por coso fecha: 17-09-2008 a las 13:11:50.
Responder Con Cita
  #4  
Antiguo 17-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
 TPar = record
 temperatura : double;
 humedad : double;
end;

procedure Proceso( T: array of TPar);

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function Par(t, h : double) : TPar;
begin
        result.temperatura := t;
        result.humedad := h;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
        t : TPar;
begin
        t.temperatura := 50;
        t.humedad := 0;
        proceso([Par(20,78), Par(30,40),t]);
end;

procedure Proceso( T: array of TPar);
var
        i : integer;
begin
        for i := 0 to length(T) - 1 do
        begin
                SHowmessage(FormatFloat('0.00',T[i].temperatura) + ' ' + FormatFloat('0.00',T[i].humedad));
        end;
end;

otra...esta es analoga a como trabaja TPoint.

Última edición por coso fecha: 17-09-2008 a las 13:28:33.
Responder Con Cita
  #5  
Antiguo 17-09-2008
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 585
Poder: 23
santiago14 Va por buen camino
Wink Muy bueno

Cita:
Empezado por coso Ver Mensaje
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
 TPar = record
 temperatura : double;
 humedad : double;
end;

procedure Proceso( T: array of TPar);

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function Par(t, h : double) : TPar;
begin
        result.temperatura := t;
        result.humedad := h;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
        t : TPar;
begin
        t.temperatura := 50;
        t.humedad := 0;
        proceso([Par(20,78), Par(30,40),t]);
end;

procedure Proceso( T: array of TPar);
var
        i : integer;
begin
        for i := 0 to length(T) - 1 do
        begin
                SHowmessage(FormatFloat('0.00',T[i].temperatura) + ' ' + FormatFloat('0.00',T[i].humedad));
        end;
end;

otra...esta es analoga a como trabaja TPoint.
Gracias Coso, la verdad que está bueno el proceso que mandaste.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
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
Como pasar un parametro? b3nshi Varios 3 18-08-2007 06:54:53
Pasar SQL como parametro veloki Impresión 7 16-04-2007 15:28:37
PLSQL - Pasar un array como parametro. movorack SQL 1 06-03-2007 20:07:59
pasar como parámetro un array bidimensional nsr048 Varios 2 08-11-2005 11:54:20
Pasar como parametro el where en una funcion cso2000 MS SQL Server 2 15-02-2005 02:49:47


La franja horaria es GMT +2. Ahora son las 18:50:02.


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