Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Codigo Firebird con Lazarus y Filtros (https://www.clubdelphi.com/foros/showthread.php?t=87301)

Minoru 11-12-2014 01:18:28

Codigo Firebird con Lazarus y Filtros
 
Muy buenas tardes a los de esta comunidad.
Soy un usuario nuevo en este lenguaje de programación, me ha gustado mucho lazarus. me recordó a visual basic en cierta forma.

sin mas rodeos, quisieran que me pudieran ayudar con cierto problema que tengo.
cree un pequeño programa de prueba, que se conecta a base de datos Firebird.

--------------------------------
se conecta a "service.FDB"
Tiene 2 tablas CLIENTES y REPARACIONES

CLIENTES(CODIGO,NOMBRES,TELEFONO,CELULAR)
REPARACIONES(CODIGO,CLIENTE,NS,FALLA)

LLave Primaria: CODIGO

--------------------------------

Ya aprendí hacer filtros.
pero cuando llama a FALLA
sale (MEMO), cosa que utilice el mismo código en Embarcadero y me mostraba los datos correctamente
www.dropbox.com/s/txkturm68im8kzy/error.jpg


el Código Fuente es:
http://www.dropbox.com/s/lcuvdlgu117...nviar.rar?dl=0

ya he intentado leer foros en ingles y todo, quizas soy un poco menso por que no me resultan. si alguien que tenga mas experiencia en programacion y quisiera gastar un poco de su valioso tiempo a ayudar a un nuevo. le agradeceria mucho!!

De antemano gracias por la ayuda y creo que ayudara a otros newbies como yo... que estamos aprendiendo a utilizar lazarus con BD. :)

ecfisa 11-12-2014 02:57:45

Hola Minoru.
Cita:

Empezado por Minoru (Mensaje 486457)
pero cuando llama a FALLA
sale (MEMO), cosa que utilice el mismo código en Embarcadero y me mostraba los datos correctamente
www.dropbox.com/s/txkturm68im8kzy/error.jpg

Para visualizar los caracteres de la columna blob, agrega este código al evento OnGetText del campo "FALLA":
Código Delphi [-]
procedure TForm1.SQLQFALLAGetText(Sender: TField; var aText: string; DisplayText: Boolean);
begin
  aText:= Copy(TStringField(Sender).AsString, 1, MaxInt);
end;

Saludos :)

Minoru 11-12-2014 19:09:39

Cita:

Empezado por ecfisa (Mensaje 486460)
Hola Minoru.


Para visualizar los caracteres de la columna blob, agrega este código al evento OnGetText del campo "FALLA":
Código Delphi [-]
procedure TForm1.SQLQFALLAGetText(Sender: TField; var aText: string; DisplayText: Boolean);
begin
  aText:= Copy(TStringField(Sender).AsString, 1, MaxInt);
end;

Saludos :)


Muchas Gracias, si funciono!! :)

TiammatMX 11-12-2014 19:12:14

Cita:

Empezado por Minoru (Mensaje 486457)
...me recordó a visual basic en cierta forma...

¡¡NIÑ@ GROSER@!! Ve a lavarte la boca con jabón, para que no digas groserías... :p:p;);):D:D

Minoru 11-12-2014 19:43:06

Cita:

Empezado por TiammatMX (Mensaje 486527)
¡¡NIÑ@ GROSER@!! Ve a lavarte la boca con jabón, para que no digas groserías... :p:p;);):D:D

jeje, es que hace mucho tiempo utilizaba vb6 y ahora que conocí lazarus me acostumbre mas a su entorno gráfico que con embarcadero. :P

PD: ahora ando buscando información, al seleccionar un ítem del DBGrid1 y que lo datos se pasen a un nuevo form2 :(
si lo sabes , te agradecería mucho tu ayuda!!. T_T

TiammatMX 11-12-2014 19:48:40

Cita:

Empezado por Minoru (Mensaje 486536)
...PD: ahora ando buscando información, al seleccionar un ítem del DBGrid1 y que lo datos se pasen a un nuevo form2 :(
si lo sabes , te agradecería mucho tu ayuda!!. T_T...

Pregunta nueva, hilo nuevo..., antes que llegue Casimiro a regañarte, ¿ya leíste ésto http://www.clubdelphi.com/foros/guiaestilo.php ?

Minoru 11-12-2014 19:53:29

Cita:

Empezado por TiammatMX (Mensaje 486538)
Pregunta nueva, hilo nuevo..., antes que llegue Casimiro a regañarte

jajaja, entonces borren esto!! antes de que me regañen!! T_T

seguiré tu consejo entonces. un saludo.- :)

Casimiro Notevi 11-12-2014 19:58:56

¿Alguien me ha llamado?
Por si acaso, aquí está la guía de estilo.
:p

Minoru 11-12-2014 21:20:01

Cita:

Empezado por Casimiro Notevi (Mensaje 486541)
¿Alguien me ha llamado?
Por si acaso, aquí está la URL

si gracias, ya termine de leer la reglas. jejeje. cualquier cosa me regañan :P

Minoru 16-12-2014 21:56:25

Hola Efisa, desde el mismo día. aplique lo que me dijiste para optimizar y si funciono sin problemas. quite algo de código innecesario que repetía sin necesidad.

pero me volvió a aparecer el error del (MEMO) que se soluciono cuando utilice OnGetText en el evento. pero de esta forma no me sale para aplicar el evento. hay que hacer otra cosa? de antemano muchas gracias por tu ayuda.




el Codigo:
https://www.dropbox.com/s/dxvq74z0e1...er1.2.rar?dl=0




-------------
Metas:
Crear tablas en una BD Firebird - Solucionado
Conectar BD con Lazarus - Solucionado
Mostrar Resultados en Grid - Solucionado
Filtrar los datos por Búsqueda y Orden – Solucionado
Solución al Problema (MEMO) – Solucionado por ecfisa (v1.0)
Pasar Datos del TDBGrid del form1 a Form2 - Solucionado por ecfisa (v1.1)
Optimización del código - Solucionado por ecfisa (v1.1)
Crear Reporte - Solucionado (v1.1)
Reaparece Error del Memo - Pendiente (v1.2)

ecfisa 16-12-2014 22:09:20

Hola Minoru.

El evento OnGetText ahora deberá residir en el TDataModule y lo creas del mismo modo que cuando estaba en el TForm.Estando SQLQ seleccionado:

Click botón derecho del mouse -> Editar campos... -> FALLA. Luego: Inspector de objetos -> pestaña Eventos -> Doble click sobre OnGetText y dentro el código anterior.

Código Delphi [-]
procedure TDataModule1.SQLQFALLAGetText(Sender: TField; var aText: string;
  DisplayText: Boolean);
begin
  aText:= Copy(TStringField(Sender).AsString, 1, MaxInt);
end;
Saludos :)

Minoru 18-12-2014 17:33:06

muchas gracias ecfisa, otra vez. una consulta. es normal que no salga la letra "Ñ" y en su lugar sale "?" cuando llamo los datos?


La franja horaria es GMT +2. Ahora son las 17:07:48.

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