PDA

Ver la Versión Completa : Delphi no me reconoce instrucciones


atirukas
16-06-2008, 00:00:26
Hola soy nueva programando con delphi, estoy realizando un programa en delphi 7 y no me ejecuta una instruccion q es sencilla c:=c+1; no se si la estoy colocando mal o q es lo q pasa pongo un fragmento del codigo q utilizo
while(fecha <= datetimepicker2.Date)do begin
if c<=5 then begin
for d:=0 to i do begin
if fecha =nohabil[d] then
j:=1; break;
end;
if j=0 then begin
year[r][c]:=fecha;
fecha:=fecha+1;
end
else begin
fecha:=fecha+1;
end;
c:=c+1;
end
else
fecha:=fecha+1;
r:=r+1;
c:=0;
listbox1.Clear;
end;

no se donde este el error, c es un valor entero. Espero alguien pueda ayudarme. de antemano muchas gracias.

enecumene
16-06-2008, 03:07:17
Hola, por favor trata de usar las etiquetas delphi para que tus codigos se vean mas claro como se ve a continuación:

while(fecha <= datetimepicker2.Date)do begin
if c<=5 then begin
for d:=0 to i do begin
if fecha =nohabil[d] then
j:=1; break;
end;
if j=0 then begin
year[r][c]:=fecha;
fecha:=fecha+1;
end
else begin
fecha:=fecha+1;
end;
c:=c+1;
end
else
fecha:=fecha+1;
r:=r+1;
c:=0;
listbox1.Clear;
end;

Saludos. ;)

atirukas
16-06-2008, 04:23:25
ah ok gracias, de todas formas ya resolvi el problema.

enecumene
16-06-2008, 13:26:40
ah ok gracias, de todas formas ya resolvi el problema.

¡Vale!, ¡Qué buena noticia!, ¿y no crees que deberías postear la solución en caso de que aparezca otra persona con tu mismo problema?.

Saludos. ;)

atirukas
16-06-2008, 21:03:17
perdon es q soy nueva en esto, pero aqui les dejo la solución. Bien la solucion fue sencila lo q hacia era q le asignaba un valor inicial a c antes de comenzar el while, la solución fue cambiar esas instrucciones dentro de while y borra la instruccion c:=c+1; Entonces me quedó así;


Código Delphi [-] (http://www.clubdelphi.com/foros/#)
while(fecha <= datetimepicker2.Date)do begin
dia:=LongDayNames[DayOfWeek(fecha)];
if dia='Lunes' then c:=0;
if dia='Martes'then c:=1;
if dia='Miércoles'then c:=2;
if dia='Jueves'then c:=3;
if dia='Viernes'then c:=4;
if dia='Sábado'then c:=5;
if dia='Domingo'then c:=6;
if c <= 5 then begin
for d:=0 to i do begin
if fecha =nohabil[d] then begin
j:=1;
break;
end;
end;
if j=0 then begin
year[r][c]:=fecha;
fecha:=fecha+1;
end
else begin
year[r][c]:= strtodate('30/12/1899');
fecha:=fecha+1;
j:=0;
end;
end;
if c = 6 then begin
fecha:=fecha+1;
r:=r+1;
end;
end;



Bueno eso es todo.

atirukas
16-06-2008, 21:06:49
perdon es q soy nueva en esto, pero aqui les dejo la solución. Bien la solucion fue sencila lo q hacia era q le asignaba un valor inicial a c antes de comenzar el while, la solución fue cambiar esas instrucciones dentro de while y borra la instruccion c:=c+1; Entonces me quedó así;




Código Delphi [-] (http://www.clubdelphi.com/foros/#)
while(fecha <= datetimepicker2.Date)do begin
dia:=LongDayNames[DayOfWeek(fecha)];
if dia='Lunes' then c:=0;
if dia='Martes'then c:=1;
if dia='Miércoles'then c:=2;
if dia='Jueves'then c:=3;
if dia='Viernes'then c:=4;
if dia='Sábado'then c:=5;
if dia='Domingo'then c:=6;
if c <= 5 then begin
for d:=0 to i do begin
if fecha =nohabil[d] then begin
j:=1;
break;
end;
end;
if j=0 then begin
year[r][c]:=fecha;
fecha:=fecha+1;
end
else begin
year[r][c]:= strtodate('30/12/1899');
fecha:=fecha+1;
j:=0;
end;
end;
if c = 6 then begin
fecha:=fecha+1;
r:=r+1;
end;
end;







Bueno eso es todo