PDA

Ver la Versión Completa : Sobre el uso de with


JavierB
05-11-2004, 18:09:23
Hola a todos.

Supongamos que tengo un código parecido a este:

with table1 do
begin
Cadena=FindField('nombre').AsString;
Delete(Cadena,5,2); //Aquí da un error
end;
Como os imaginareis se produce un error en la línea del Delete porque Delphi cree que quiero hacer Table1.Delete y, claro, sobran parámetros.

¿Hay alguna forma de solucionar esto?

Gracias por vuestra ayuda. Saludos, :cool:

frudolph
05-11-2004, 18:31:36
Sí, tienes que anteponerle al nombre del procedimiento, la unidad donde está declarado. En tu caso:

--> System.Delete(Cadena, 5, 2);

roman
05-11-2004, 18:32:45
¿Hay alguna forma de solucionar esto?
Sí. Antepón al identificador la unidad donde está declarada:

System.Delete(Cadena,5,2)

EDITO:

Veo que se me han adelantado por un pelín :)

// Saludos

JavierB
05-11-2004, 19:27:13
Vaya, vaya, vaya... 2 respuestas en tan solo 1 minuto. :eek:

Gracias frudolph y roman. Habeis coincidido hasta en el comentario de anteponer la unidad donde está declarado. Me lo anoto para el futuro.

Gracias de nuevo. Saludos, :cool:

marcoszorrilla
05-11-2004, 22:59:20
Yo propongo:

with table1 do
begin
Cadena=FindField('nombre').AsString;
end;
Delete(Cadena,5,2);


Un Saludo.

JavierB
06-11-2004, 20:32:41
Gracias por tu propuesta marcoszorrilla, pero en este caso prefiero que el Delete esté dentro del bloque with para no tener que poner tanto Table1.

Saludos, :cool: