Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-07-2003
elpezfuma elpezfuma is offline
Registrado
 
Registrado: may 2003
Posts: 6
Poder: 0
elpezfuma Va por buen camino
Question asignacion de un valor a un dbedit

estoy trabajando con un listtree como un catalogo y segun la line que presione le asigno un valor en otro formulario a un dbedit pero tengo que condicionar la linea aqui les pongo el codigo y los errores no esta terminado pero lo estoy probando y me da errores que desconosco

With Datamodule1 do
If (Tarticulo.State in [dsinsert,dsEdit]) then
begin
Tarticulo.Edit;
tira:= Listacla.Selected.AbsoluteIndex;
nodo:= Listacla.Selected.Text;
Str (tira,nodo1);
Label1.Caption := nodo1 ;
Fbienes.Labelclasificacion.Caption:= nodo;

bienes.DBEditgrupo.DataSource.DataSet.FieldByName(Fbienes.DBEditgrupo.Text).Asstring := '2'

* If tira < 20 then
Fbienes.DBEditsub.DataSource.DataSet.FieldByName(Fbienes.DBEditsub.Text).Asstring := '01'
else
if (tira > 21) and (tira<49)
Then
** Fbienes.DBEditsub.DataSource.DataSet.FieldByName(Fbienes.DBEditsub.Text).Asstring := '02';
{else
if tira < }
end
else
begin
MessageDlg('Debe abrir un nuevo registro antes de insertar los datos',mterror,[mbok],0);
Abort;
end;
* da el siguiente error: Missing operator or semicolon
** da el siguiente error: Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter'
Responder Con Cita
  #2  
Antiguo 08-07-2003
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Pues yo veo 3 fallos

bienes.DBEditgrupo.DataSource.DataSet.FieldByName(Fbienes.DBEditgrupo.Text).Asstring := '2'


1º - El inicio de la linea no seria: [b]F[/]bienes.DBEditgrupo.....


2º - Justo al final de esa misma linea te falta el punto y coma que te pide.


if (tira > 21) and (tira<49)
Then
** Fbienes.DBEditsub.DataSource.DataSet.FieldByName(Fbienes.DBEditsub.Text).Asstring := '02';
{else
if tira < }
end <------------3º - este end sobra de momento
else
begin
MessageDlg('Debe abrir un nuevo registro antes de insertar los datos',mterror,[mbok],0);
Abort;
end;
Responder Con Cita
  #3  
Antiguo 08-07-2003
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Pues yo veo 3 fallos

bienes.DBEditgrupo.DataSource.DataSet.FieldByName(Fbienes.DBEditgrupo.Text).Asstring := '2'


1º - El inicio de la linea no seria: Fbienes.DBEditgrupo.....


2º - Justo al final de esa misma linea te falta el punto y coma que te pide.


if (tira > 21) and (tira<49)
Then
** Fbienes.DBEditsub.DataSource.DataSet.FieldByName(Fbienes.DBEditsub.Text).Asstring := '02';
{else
if tira < }
end <------------3º - este end sobra de momento
else
begin
MessageDlg('Debe abrir un nuevo registro antes de insertar los datos',mterror,[mbok],0);
Abort;
end;


Perdona por el mensaje anterior, jejeje, me comí algunos de los códigos de teclado, es que no me gusta nada andar con el raton y el teclado, así que subrayo y uso las negritas escribiendo sus códigos
Responder Con Cita
  #4  
Antiguo 09-07-2003
elpezfuma elpezfuma is offline
Registrado
 
Registrado: may 2003
Posts: 6
Poder: 0
elpezfuma Va por buen camino
lo que me gustaria saber es sobre los errores que me arroja el mismo delphi que puse al final de la pagina del hilo pero muchas gracias por las correcciones.
Responder Con Cita
  #5  
Antiguo 09-07-2003
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
ahhhh, perdona entonces, como ya viste tenia prisa


* Missing operator or semicolon Traducido resulta : Falta operador o el caracter punto y coma ";". Normalmente el error es porque falta el punto y coma en la linea anterior a donde indica el fallo. Tambien por que falte un operador entre una o varias expresiones, vamos que falta: 'and' 'or' '<' '<=' '>' '>=' . Aunque confieso que en el 99% de los casos es el punto y coma que siempre me lo como con patatas.

** da el siguiente error: Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter' que traducido resulta: Tipos incompatibles: Tira de caracteres y procedimiento, puntero a tipo de datos no definido, o parametro de tipo desconocido.

Éste fallo normalmente es porque ha encontrado un end que no se corresponde con ningun begin de los if, while, for ... y entonces lo interpreta como que el procedimiento ha acabado.

procedure Mio ;
begin
if 3>2 then
showmessage('si');
end; <<<< Aqui interpreta que el procedimiento Mio ha acabado
showmessage('pos yo que se.....'); al leer esta linea, no sabe a que procedimiento o funcion pertenece ese código

end;



Tambien suele dar ese mismo error cuando a una funcion le pasas un valor que no se corresponde con el que espera:

procedure Mio ( x:integer):Boolean;


y la llamas de la forma :

Mio ( '3' );

Como ya supones, ahora te dirá:
Incompatible types: 'String' and 'Integer'


Saludos
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 12:38:56.


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