Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Noticias (https://www.clubdelphi.com/foros/forumdisplay.php?f=34)
-   -   Encuesta Delphi para 2008 - Participe!!!!!!!!!!!! (https://www.clubdelphi.com/foros/showthread.php?t=53868)

axesys 03-03-2008 19:56:24

Encuesta Delphi para 2008 - Participe!!!!!!!!!!!!
 
Esta es la liga

http://video.codegear.com/survey/200...y_Spanish.html

poliburro 04-03-2008 01:14:10

Vaya, si que trabajan duro los chicos de codegear.

Casimiro Notevi 04-03-2008 01:46:04

uff!!!, ¡vaya encuesta!, por las respuestas que he dado... seguro que saben que he sido yo :D:D:D

Al González 04-03-2008 04:34:41

¡Hola!

Hace días, cuando la respondí, no dudé en sugerir que se incluya herencia insertada en el lenguaje (aunque temo que esta característica tardará algunos años más en aparecer). La verdad es que debe uno tomarse muy en serio esta encuesta. Yo, particularmente, dediqué media hora a responderla.

Recomiendo sobremanera que todos la respondamos, es un canal por el cual podemos decirle a CodeGear lo que los desarrolladores Delphi queremos. No la echen en saco roto. :)

Un abrazo desde Ciudad de México (a unos metros del Monumento a La Revolución ;)).

Al González. :)

axesys 05-03-2008 01:02:47

Hola Al,

Por lo que e leído sobre la herencia insertada que hablas según yo eso lo puedes hacer con los class helpers, puedes ver este video para que veas como

Class Helpers: Friend or Foe

Este es un ejemplo de como yo las estoy aplicando

Código Delphi [-]
unit udtsHelper;

interface

uses
  Classes, pFibDataSet;

type
  TFibDatasetHelper = class helper for TpFibDataSet
  public
    function CampoNombreCadena(sCampo: String): String;
    function CampoNombreEntero(sCampo: String): integer;
    function CampoNombreFlotante(sCampo: String): double;
    function CampoNombreFecha(sCampo: String): TDateTime;
    function CampoCadena(iIndice: integer): String;
    function CampoEntero(iIndice: integer): integer;
    function CampoFlotante(iIndice: integer): double;
    procedure CampoNombreBlob(sCampo: String; var strContenido: TMemoryStream);

    procedure CampoNombre(sCampo, sValor: string); overload;
    procedure CampoNombre(sCampo: string; iValor: Integer); overload;
    procedure CampoNombre(sCampo: string; dValor: Double); overload;
    procedure CampoNombre(sCampo: string; dtValor: TDateTime); overload;

    procedure ParametroNombre(sCampo, sValor: string); overload;
    procedure ParametroNombre(sCampo: string; iValor: Integer); overload;
    procedure ParametroNombre(sCampo: string; dValor: Double); overload;
    procedure ParametroNombre(sCampo: string; dtValor: TDateTime); overload;
  end;

implementation

uses
  DB;

{ TFibDatasetHelper }

function TFibDatasetHelper.CampoNombreCadena(sCampo: String): String;
begin
  Result:= FieldByName(sCampo).AsString;
end;

function TFibDatasetHelper.CampoNombreEntero(sCampo: String): integer;
begin
  Result:= FieldByName(sCampo).AsInteger;
end;

function TFibDatasetHelper.CampoNombreFlotante(sCampo: String): double;
begin
  Result:= FieldByName(sCampo).AsFloat;
end;

function TFibDatasetHelper.CampoNombreFecha(sCampo: String): TDateTime;
begin
  Result:= FieldByName(sCampo).AsDateTime;
end;

procedure TFibDatasetHelper.CampoNombre(sCampo: string; iValor: Integer);
begin
  FieldByName(sCampo).AsInteger:= iValor
end;

procedure TFibDatasetHelper.CampoNombre(sCampo, sValor: string);
begin
  FieldByName(sCampo).AsString:= sValor
end;

procedure TFibDatasetHelper.CampoNombre(sCampo: string; dtValor: TDateTime);
begin
  FieldByName(sCampo).AsDateTime:= dtValor
end;

procedure TFibDatasetHelper.CampoNombre(sCampo: string; dValor: Double);
begin
  FieldByName(sCampo).AsFloat:= dValor
end;

procedure TFibDatasetHelper.CampoNombreBlob(sCampo: String; var strContenido: TMemoryStream);
var
  fldCampo: TField;
  strStream: TStream;
begin

  if(not FieldByName(sCampo).IsNull) then
  begin
    fldCampo:= FieldByName(sCampo);
    strStream:= CreateBlobStream(fldCampo, bmRead);
    strContenido.CopyFrom(strStream, strStream.Size);
  end
  else
    strContenido.Clear;
end;

procedure TFibDatasetHelper.ParametroNombre(sCampo: string; iValor: Integer);
begin
  ParamByName(sCampo).AsInteger:= iValor
end;

procedure TFibDatasetHelper.ParametroNombre(sCampo, sValor: string);
begin
  ParamByName(sCampo).AsString:= sValor
end;

procedure TFibDatasetHelper.ParametroNombre(sCampo: string; dtValor: TDateTime);
begin
  ParamByName(sCampo).AsDateTime:= dtValor
end;

procedure TFibDatasetHelper.ParametroNombre(sCampo: string; dValor: Double);
begin
  ParamByName(sCampo).AsDouble:= dValor
end;

function TFibDatasetHelper.CampoCadena(iIndice: integer): String;
begin
  Result:= Fields[iIndice].AsString;
end;

function TFibDatasetHelper.CampoEntero(iIndice: integer): integer;
begin
  Result:= Fields[iIndice].AsInteger;
end;

function TFibDatasetHelper.CampoFlotante(iIndice: integer): double;
begin
  Result:= Fields[iIndice].AsFloat;
end;

end.

Lord Delfos 05-03-2008 02:02:10

Sí. Interesante encuesta.

Hay unas cuantas preguntas relacionadas con cosas linuxeras...

¿Estarán pensando en resucitar Kylix... Sería bueno, ¿no?

Por cierto. ¿Vieron el roadmap de Delphi? Roadmap Delphi

Casimiro Notevi 05-03-2008 09:25:18

Cita:

Empezado por Lord Delfos (Mensaje 270709)
Sí. Interesante encuesta.
Hay unas cuantas preguntas relacionadas con cosas linuxeras...
¿Estarán pensando en resucitar Kylix... Sería bueno, ¿no?
Por cierto. ¿Vieron el roadmap de Delphi? Roadmap Delphi

Sí, eso parece, que están "tanteando" al personal :)

Estaría muy bien, pero open source, para que la comunidad de programadores en Linux pudieran ampliarlo, mejorarlo, etc. que sería algo bueno incluso para ellos mismos al poder incorporar en nuevas versiones las cosas más interesantes creadas por terceros. Sería una especie de "retroalimentación" y además gratuita, no les costaría nada.
El que sea open source no quiere decir que tengan que regalarlo, sin más. Pueden venderlo a precios asequibles (he dicho asequibles, no os paséis, que luego pasa lo que pasa :)). Y con el pago pueden ofrecer algunos extras... que ya se vería qué puede ser.
Es que es una pena que lo tengan abandonado, da una sensación de "la maté porque es mía", o "si no es para mí, no será para nadie".
Si todos estos años, en lugar de "esconderlo", lo hubieran liberado, hoy, seguro, que sería uno de los programas más usados por los programadores linux.
¡¡¡Señores de Codegear, piénsenlo!!! :)

Al González 05-03-2008 17:29:08

Pero más eficazmente
 
¡Hola a todos!

Un saludo desde Fortín (Córdoba, Veracruz). Afuera se oyen cantar los gallos y trinar los pájaros entre las palmas, y huele a tierra mojada, la neblina ya se disipó, el Sol está increíble, ¡qué delicia! :). Les manda saludos FGarcia, espero conocer hoy a AzidRain también, si es que no anda fuera de la ciudad. ;)

Cita:

Empezado por axesys (Mensaje 270692)
Hola Al,

Por lo que e leído sobre la herencia insertada que hablas según yo eso lo puedes hacer con los class helpers...
Código Delphi [-]
...
  TFibDatasetHelper = class helper for TpFibDataSet
  public
    function CampoNombreCadena(sCampo: String): String;
    function CampoNombreEntero(sCampo: String): integer;
    function CampoNombreFlotante(sCampo: String): double;
    function CampoNombreFecha(sCampo: String): TDateTime;
    function CampoCadena(iIndice: integer): String;
    function CampoEntero(iIndice: integer): integer;
    function CampoFlotante(iIndice: integer): double;
    procedure CampoNombreBlob(sCampo: String; var strContenido: TMemoryStream);

    procedure CampoNombre(sCampo, sValor: string); overload;
    procedure CampoNombre(sCampo: string; iValor: Integer); overload;
    procedure CampoNombre(sCampo: string; dValor: Double); overload;
    procedure CampoNombre(sCampo: string; dtValor: TDateTime); overload;

    procedure ParametroNombre(sCampo, sValor: string); overload;
    procedure ParametroNombre(sCampo: string; iValor: Integer); overload;
    procedure ParametroNombre(sCampo: string; dValor: Double); overload;
    procedure ParametroNombre(sCampo: string; dtValor: TDateTime); overload;
  end;
...

¡Hola Arturo! Conozco el concepto de ayudantes de clases (o clases ayudantes, como a veces les llaman). Sin embargo, como lo tengo entendido, en ellas no pueden definirse nuevos campos, y hasta cierto punto se comprende, por la razón de que afectaría al tamaño "preconcebido" de las instancias. Mi propuesta de herencia insertada es poder definir una clase "normal" como derivada de otra, pero haciendo que el compilador la "inserte" en medio de una jerarquía de clases ya definida.

Algo como:

TDataSet
|
TNewDataSet <---- (clase "insertada")
|
Todos/varios descendientes actuales de TDataSet
(como TpFibDataSet, TADOTable, TIBQuery, etc.)


Definiendo en la clase insertada TNewDataSet nuevos campos, propiedades y métodos (como tus CampoCadena, CampoNombre y ParametroNombre).

La ventaja es que le darías herencia adicional/enriquecida automática a todo un grupo de clases existentes en bibliotecas como la VCL, sin tener que modificar el código fuente de éstas. Además del beneficio polimórfico que eso conlleva. Incluso evitaría el clásico recurso de las interfaces usadas para agregar metodología común a un grupo de clases dispersas. ¿Se comprende la utilidad? ¿Qué opinan? :)

Alguna vez Román, en otro hilo similar, comentó algo acerca de que Java Script tenía ya esta útil característica, pero personalmente no la he revisado.

Sé que tiene implicaciones técnicas en contra, pero creo que valdría la pena que los fabricantes de compiladores como CodeGear y Microsoft evaluaran la posibilidad de incluir esta característica en sus lenguajes.

Un abrazo eficaz.

Al González. :)

jachguate 05-03-2008 22:26:25

Cita:

Empezado por poliburro (Mensaje 270428)
Vaya, si que trabajan duro los chicos de codegear.

Bueno, No solo los de codegear... :D

Un saludo.

;)

egostar 05-03-2008 22:38:44

Cita:

Empezado por jachguate (Mensaje 271021)
Bueno, No solo los de codegear... :D

Un saludo.

;)

:eek:, con razón se me dificultó tanto entender las preguntas :D:D:D

Nada, es pura broma jajaja, algo así como el correito que me mandaste :mad:

Salud OS

PD: Solo una anotación amigo jach :)

Cita:

Empezado por jachguate.wordpress.com

Llenarla toma al rededor de 20 minutos, pero creo que son algunos minutos bien invertidos, confiando en que nuestras necesidades reales puede influir en las decisiones que tome el equipo sobre el futuro de esta herramienta.


Héctor Randolph 05-03-2008 22:41:36

Cita:

Empezado por jachguate (Mensaje 271021)
Bueno, No solo los de codegear... :D

Un saludo.

;)

Muy buen trabajo Juan Antonio.

Mientras respondía la encuesta precisamente noté que la traducción estaba muy bien lograda, lo que nunca imaginé es que un compañero del club era el responsable de tan excelente aportación a nuestra comunidad.

Muchas felicidades, es una motivación para seguir por el camino de Delphi.

Saludos

jachguate 05-03-2008 23:17:48

Cita:

Empezado por egostar (Mensaje 271025)
PD: Solo una anotación amigo jach :)

Gracias por la corrección, Eliseo... ahora ya está en español.. :D

Cita:

Empezado por egostar (Mensaje 271025)
Nada, es pura broma jajaja, algo así como el correito que me mandaste :mad:

No me obligues a hacer público el contenido de dicho correo... por favor.. :D:D:D:D

Un saludo.

;)

egostar 05-03-2008 23:25:40

Cita:

Empezado por jachguate (Mensaje 271032)
No me obligues a hacer público el contenido de dicho correo... por favor..

:rolleyes::rolleyes::rolleyes: No, pues ahí que muera :D:D:D

Salud OS

Al González 05-03-2008 23:53:57

Antonio, todavía recuerdo cuando me comentaste que ayudarías a traducir esta encuesta. Desde ese momento supe que estaría muy bien redactada (el "Dr. Clon Zález" haría algunas observaciones, pero esta vez no lo dejaré escribir :D).

Ahora que ya salió a la luz pública, lo menos que puedo hacer es felicitarte por esa estupenda traducción.

En algún momento le comentaba a CodeGear que las traducciones al español no estaban quedando bien, y aquí una muestra de cómo si le llega un texto CodeGear al corazón de los mortales.

Me encanta la forma en que tu traducción conecta con el lector. Sé que en mucho se debe a que el espíritu de las preguntas viene con nobleza desde Scotts Valley (y por eso también felicito a CodeGear y Andreano), pero el toque personal que le das al convertirla al castellano afianza esa sensación de contestar con ganas toda la encuesta. :)

Así sí, Borland. Gracias Antonio.

Un abrazo encuestador.

Al González. :)

Casimiro Notevi 06-03-2008 13:30:37

Ya me extrañaba, me dije: "por fin empiezan a interesarse por los hispanohablantes... y además, ¡qué bien traducida!", y resulta que que es traducción de jachguate.
:eek: Gracias :eek:

jachguate 06-03-2008 13:58:38

Cita:

Empezado por Casimiro Notevi (Mensaje 271136)
Ya me extrañaba, me dije: "por fin empiezan a interesarse por los hispanohablantes... y además, ¡qué bien traducida!", y resulta que que es traducción de jachguate.
:eek: Gracias :eek:

Hombre... yo creo que realmente si están interesados.... o, en otras palabras, van creyendo que la región/el idioma puede ser rentable para ellos.

Por lo de la buena traducción, agradezco los comentarios que se han hecho... francamente he dedicado un buen tiempo a realizarla y lo he hecho con especial empeño para que nuestras voces se escuchen dentro de CodeGear. Espero, al final del día, que esas voces tengan algún eco.

Un saludo.

;)

Casimiro Notevi 06-03-2008 14:17:17

Cita:

Empezado por jachguate (Mensaje 271147)
Espero, al final del día, que esas voces tengan algún eco.
Un saludo.;)

¿Algún secretito por ahí?, ¿te contratan como desarrollador para los "países hispanos"?, ¿traducirás la siguiente versión de Delphi a español? :D

jachguate 06-03-2008 14:22:14

Cita:

Empezado por Casimiro Notevi (Mensaje 271153)
¿Algún secretito por ahí?, ¿te contratan como desarrollador para los "países hispanos"?, ¿traducirás la siguiente versión de Delphi a español? :D

No conozco los secretos...... (lo siento, me obligan a decir eso para asegurarse que no revelaré todos los que conozco)

:p:p:p
:D:D:D


La franja horaria es GMT +2. Ahora son las 21:22:47.

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