Cita:
Empezado por feliz-58
Tengo la versión 7
pero no he podido sacar a flote el asunto, dicen que esa funcion no esta para disponible en delphi 7.
y ademas delphi me dice lo siguiente:
[Hint] Unit1.pas(60): Variable 'Hour' is declared but never used in 'Cambiafecha'
[Hint] Unit1.pas(60): Variable 'Min' is declared but never used in 'Cambiafecha'
[Hint] Unit1.pas(60): Variable 'Sec' is declared but never used in 'Cambiafecha'
[Hint] Unit1.pas(60): Variable 'MSec' is declared but never used in 'Cambiafecha'
[Hint] Unit1.pas(99): Value assigned to 'Contador' never used
[Error] Unit1.pas(136): Undeclared identifier: 'EndofaMonth'
[Error] Unit1.pas(140): Undeclared identifier: 'EndOfTheMonth'
[Error] Unit1.pas(153): Undeclared identifier: 'StartOfTheMonth'
[Error] Unit1.pas(170): '.' expected but ';' found
[Fatal Error] Project2.dpr(6): Could not compile used unit 'Unit1.pas'
|
Vamos por parte, las variables Hour, min, Sec y msec, no son marcadas como error, sino que han sido declaradas y no han sido usadas, por lo que pasa tal cual, te pongo el código de dicha función, para que veas y lo entiendas.
Antes del begin ... end, declaramos las variables, pero fíjate que que, las que te esta marcando como [hint], no son usadas en el bloque de la función
Código Delphi
[-]function Cambiafecha(ffecha:tDateTime):string;
var
fec2:string;
Present: TDateTime;
Year, Month, Day, Hour, Min, Sec, MSec: Word;
begin
Present:= ffecha;
DecodeDate(Present, Year, Month, Day);
fec2:=inttostr(month)+'/'+inttostr(day)+'/'+inttostr(year);
result:=fec2;
end;
Asi como el valor de contador, que es declarado en el programa y no tiene uso, esto es debido a las pruebas que fui haciendo con el código.
En cuanto a
'EndofaMonth' no tengo ni idea, revisa el código y mira a ver de donde viene, o si te has equivocado al escribirlo, no seria
EndOfTheMonth.
Por último
'EndOfTheMonth' y
'StartOfTheMonth', como ya te comentaba están en la unidad DataUtils que tienes que llamara en el uses despues de interface, pero por si no están en el Delphi 7, búscando en internet, di con este procedure en la página
http://www.planetadelphi.com.br/dica...imo-dia-do-mes
Código Delphi
[-]Procedure PrmeiroEUltimoDiaDoMes(mes,ano:String; var dataIni,dataFin:string);
var
MesAux,AnoAux:Integer;
Begin
dataIni:='01/'+FormatCurr('00',StrToInt(mes))+'/'+ano;
MesAux:=StrToInt(mes);
AnoAux:=StrToInt(ano);
MesAux:=MesAux+1;
if MesAux = 13 then
begin
MesAux:=1;
AnoAux:=AnoAux+1;
end;
dataFin:='01/'+IntToStr(MesAux)+'/'+IntToStr(AnoAux);
dataFin:=DateToStr(StrToDate(dataFin)-1);
End;
Ten en cuenta que tanto los datos que te pide como los datos que devuelve son
dataIni,dataFin, son String, por los que tendrás que convertirlos a TDate.
los errores
Cita:
[Error] Unit1.pas(170): '.' expected but ';' found
[Fatal Error] Project2.dpr(6): Could not compile used unit 'Unit1.pas'
|
Se refiere a que tienes un problema con un (.) y un (
en la linea 170, supongo que no has terminado la linea o simplemente te falta poner un (
al final y la última es que no ha podido compilar el proyecto, simplemente, cuando te da errores el compilador, siempre da este último, por lo que del número de errores tienes que descontar 1.
Si me permites darte un consejo, es mejor que la próxima vez, estés un par de días intentando solucionar las cosas y busques en la red, normalmente en el club se da consejos y algo de código, para ayudar a encontrar la solución, pero si te acostumbras a que te den la mayor parte echa, no terminaras por aprender. Se que es complicado entender muchas veces el código de otros compañeros, sobre todo al principio y de hecho es complicado muchas veces, pero debes tomarlo como una referencia y procurar seguir los consejos que te dan.
Te digo esto ya que en mi post anterior en este tema ya te decía
Cita:
ola feliz-88, te respondo a tus dudas
1.- El dsPrincipal esta conectado a la tabla que tienes en el unit2 (Form2)
2.- StartOfTheMonth y EndOfTheMonth // Unit DateUtils esta tiene que ponerla en el uses que viene despues de interface, que versión de Delphi tienes, por lo que puede ser un problema de la versión de delphi que tienes, si este es el caso, busca en internet, que hay funciones para decirte el último día del mes y la sustituyes
|
y por lo que he visto, pienso que ni te has molestado en buscar en internet.
Espero no te tomes a mal mi comentario.