⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vacaciones.txt

📁 u can get vacation days, u put diaslaborales(first date, last day, working day (*)) (*) 5 mond
💻 TXT
字号:
{ saca los dias habilees entre dos fechas, Ej
diaslaborales(fecha 1 menor, fecha 2 mayor, dias)
el tercer campo indica los dias laborales en la semana
5 ----> de lunes hasta el viernes
6 ----> de lunes hasta medio dia del sabado }
function diaslaborales(dia1:tdate;dia2:tdate;cunto: integer): single;
var
   semana:array[1..7] of integer;
   ii,jj,hh:integer;
   res:single;
   diaex:tdate;
begin
    ii:=DaysBetween(dia1,dia2);
    semana[1]:=0;semana[2]:=0;semana[3]:=0;semana[4]:=0;semana[5]:=0;
    semana[6]:=0;semana[7]:=0;
    diaex:=dia1;
    for jj:=0  to ii do
    begin
         
         dm.ZQR_dias_habiles.sql.clear;
         dm.ZQR_dias_habiles.sql.add('select * from feriado where feria=:det');
         dm.ZQR_dias_habiles.ParamByName('det').asdate:=diaex;
         dm.ZQR_dias_habiles.execsql;
         dm.ZQR_dias_habiles.close;
         if dm.ZQR_dias_habiles.recordcount>0 then
         begin
           hh:=DayOfTheWeek(diaex);
           case hh of
            1: semana[1]:=semana[1];
            2: semana[2]:=semana[2];
            3: semana[3]:=semana[3];
            4: semana[4]:=semana[4];
            5: semana[5]:=semana[5];
            6: semana[6]:=semana[6];
            7: semana[7]:=semana[7];
           end;
         end
         else
         begin
           hh:=DayOfTheWeek(diaex);
           case hh of
            1: semana[1]:=semana[1]+1;
            2: semana[2]:=semana[2]+1;
            3: semana[3]:=semana[3]+1;
            4: semana[4]:=semana[4]+1;
            5: semana[5]:=semana[5]+1;
            6: semana[6]:=semana[6]+1;
            7: semana[7]:=semana[7]+1;
           end;
         end;
         diaex:=IncDay(diaex);

    end;
    if cunto=5 then res:=semana[1]+semana[2]+semana[3]+semana[4]+semana[5];
    if cunto=6 then res:=semana[1]+semana[2]+semana[3]+semana[4]+semana[5]+(semana[6]/2);
  Result := res;
  //FloatToStr(diaslaborales(strtodate(REdit1.Text),strtodate(REdit2.Text),strtoint(RzEdit1.text)));
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -