Tak wyglądją dwie procedury które właściwie mają robić ta samo z tym, ze jedna ma wybierać dni do przodu, a druga do tyłu.
procedure Trejestracja.Nastpnydzie1Click(Sender: TObject);
var
i, id_komorki, k: integer;
data: string;
begin
//
datamodule2.QueryGrafik.Locate('id',wybrana_komorka,[loPartialKey]);
data:=datamodule2.QueryGrafik.FieldByName('data').AsString;
k:=0;
case (DayOfTheWeek(StrToDate(data))) of
1: if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Wtorek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Środa',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Czwartek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Piątek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Sobota',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Niedziela',[loPartialKey])) then k:=1;
2: if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Środa',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Czwartek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Piątek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Sobota',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Niedziela',[loPartialKey])) then k:=1;
3: if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Czwartek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Piątek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Sobota',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Niedziela',[loPartialKey])) then k:=1;
4: if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Piątek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Sobota',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Niedziela',[loPartialKey])) then k:=1;
5: if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Sobota',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Niedziela',[loPartialKey])) then k:=1;
6: if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Niedziela',[loPartialKey])) then k:=1;
7: k:=1;
end;
if k=0 then
begin
id_komorki:=StrToInt(datamodule2.QueryGrafik.FieldByName('id').AsString);
for i:=0 to Length(tab_panel)-1 do
begin
if tab_panel[i].Name='Kom'+IntTOStr(id_komorki) then
begin
KomorkaMouseMove(tab_panel[i],[ssAlt],Mouse.CursorPos.X,Mouse.CursorPos.Y);
ActiveControl:=tab_panel[i];
break;
end;
end;
end;
end;
procedure Trejestracja.Poprzednidzie1Click(Sender: TObject);
var
i, id_komorki, k: integer;
data: string;
begin
//
datamodule2.QueryGrafik.Locate('id',wybrana_komorka,[loPartialKey]);
data:=datamodule2.QueryGrafik.FieldByName('data').AsString;
datamodule2.QueryGrafik.First;
k:=0;
case (DayOfTheWeek(StrToDate(data))) of
1: k:=1;
2: if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Poniedziałek',[loPartialKey]))then k:=1;
3: if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Wtorek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Poniedziałek',[loPartialKey])) then k:=1;
4: if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Środa',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Wtorek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Poniedziałek',[loPartialKey])) then k:=1;
5: if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Czwartek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Środa',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Wtorek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Poniedziałek',[loPartialKey])) then k:=1;
6: if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Piątek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Czwartek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Środa',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Wtorek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Poniedziałek',[loPartialKey])) then k:=1;
7: if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Sobota',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Piątek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Czwartek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Środa',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Wtorek',[loPartialKey])) then
if not(datamodule2.QueryGrafik.Locate('dzien_tyg','Poniedziałek',[loPartialKey])) then k:=1;
end;
if k=0 then
begin
id_komorki:=StrToInt(datamodule2.QueryGrafik.FieldByName('id').AsString);
for i:=0 to Length(tab_panel)-1 do
begin
if tab_panel[i].Name='Kom'+IntTOStr(id_komorki) then
begin
ActiveControl:=tab_panel[i];
KomorkaMouseMove(tab_panel[i],[ssAlt],Mouse.CursorPos.X,Mouse.CursorPos.Y);
break;
end;
end;
end;
end;
Co ciekawe kiedy ta "następnycdzień" dochodzi do końca tygodnia (niedziela) to reaguje tak jak powinna i nic nie robi. Natomiast ta "poprzednidzien" kiedy dochodzi do początku tygodnia to wywala dokladnie to co jest w temacie, ani słowa więcej.
W czym problem?