Projeto não abre
Olá !
Baixei um exemplo de calendario stringgrid , porem, ao tentar abri-lo o delphi não o abre corretamente e nem a execução do projeto está correta, se possível alguém pode me dizer o que está havendo ?
Link : http://www.planetadelphi.com.br/download/4869/arquivo/calendario-com-stringgrid
Baixei um exemplo de calendario stringgrid , porem, ao tentar abri-lo o delphi não o abre corretamente e nem a execução do projeto está correta, se possível alguém pode me dizer o que está havendo ?
Link : http://www.planetadelphi.com.br/download/4869/arquivo/calendario-com-stringgrid
André Moutinho
Curtidas 0
Respostas
Dorivan Sousa
18/06/2015
evento CalendarGridDrawCell
var
DiaGrid : string;
AlturaGrid, LarguraGrid, TopGrid, LeftGrid : Integer;
Data : TDateTime;
begin
with CalendarGrid do begin
//Limpando o Calendário Para Recria-lo
Canvas.Brush.Color := clWhite;
Canvas.Pen.Color := clWhite;
Canvas.Font.Style := [];
Canvas.Font.Color := clBlack;
Canvas.FillRect(Rect);
DiaGrid := Cells[aCol, aRow];
//Senão for Cabeçalho dos Dias da Semana
//if DiaGrid<>'' then //ADICIONA ESSA LINHA ********************************************************************
if aRow > 0 then begin
GOSTEI 0
André Moutinho
18/06/2015
evento CalendarGridDrawCell
var
DiaGrid : string;
AlturaGrid, LarguraGrid, TopGrid, LeftGrid : Integer;
Data : TDateTime;
begin
with CalendarGrid do begin
//Limpando o Calendário Para Recria-lo
Canvas.Brush.Color := clWhite;
Canvas.Pen.Color := clWhite;
Canvas.Font.Style := [];
Canvas.Font.Color := clBlack;
Canvas.FillRect(Rect);
DiaGrid := Cells[aCol, aRow];
//Senão for Cabeçalho dos Dias da Semana
//if DiaGrid<>'' then //ADICIONA ESSA LINHA ********************************************************************
if aRow > 0 then begin
Teria como você me explicar melhor ?
Onde insiro ? Como faço para funcionar corretamente ?
Desculpe, mas estou sem entender, gostaria apenas que o calendário com esse StringGrid, funcionasse , nada mais.
Obrigado .
GOSTEI 0
Dorivan Sousa
18/06/2015
voce clica na string grid vai no object inspector, na aba eventos e procura o evento OnGridDrawCell
voce vai ver esse codigo
antes do voce coloca o
vai ficar assim
eu to sem meu note nesse final de semana se nao conseguir na segunda eu posto o exemplo do site corrigido.
voce vai ver esse codigo
var
DiaGrid : string;
AlturaGrid, LarguraGrid, TopGrid, LeftGrid : Integer;
Data : TDateTime;
begin
with CalendarGrid do begin
//Limpando o Calendário Para Recria-lo
Canvas.Brush.Color := clWhite;
Canvas.Pen.Color := clWhite;
Canvas.Font.Style := [];
Canvas.Font.Color := clBlack;
Canvas.FillRect(Rect);
DiaGrid := Cells[aCol, aRow];
//Senão for Cabeçalho dos Dias da Semana
if aRow > 0 then begin
...
...
...
///daqui pra baixo tem mais codigos mas so precisa modificar a linha acima.
antes do
if aRow > 0 then begin
if DiaGrid<>'' then
vai ficar assim
var
DiaGrid : string;
AlturaGrid, LarguraGrid, TopGrid, LeftGrid : Integer;
Data : TDateTime;
begin
with CalendarGrid do begin
//Limpando o Calendário Para Recria-lo
Canvas.Brush.Color := clWhite;
Canvas.Pen.Color := clWhite;
Canvas.Font.Style := [];
Canvas.Font.Color := clBlack;
Canvas.FillRect(Rect);
DiaGrid := Cells[aCol, aRow];
//Senão for Cabeçalho dos Dias da Semana
if DiaGrid<>'' then //ADICIONA ESSA LINHA ********************************************************************
if aRow > 0 then begin
...
...
...
///daqui pra baixo tem mais codigos mas so precisa modificar a linha acima.
eu to sem meu note nesse final de semana se nao conseguir na segunda eu posto o exemplo do site corrigido.
GOSTEI 0
André Moutinho
18/06/2015
voce clica na string grid vai no object inspector, na aba eventos e procura o evento OnGridDrawCell
voce vai ver esse codigo
antes do voce coloca o
vai ficar assim
eu to sem meu note nesse final de semana se nao conseguir na segunda eu posto o exemplo do site corrigido.
voce vai ver esse codigo
var
DiaGrid : string;
AlturaGrid, LarguraGrid, TopGrid, LeftGrid : Integer;
Data : TDateTime;
begin
with CalendarGrid do begin
//Limpando o Calendário Para Recria-lo
Canvas.Brush.Color := clWhite;
Canvas.Pen.Color := clWhite;
Canvas.Font.Style := [];
Canvas.Font.Color := clBlack;
Canvas.FillRect(Rect);
DiaGrid := Cells[aCol, aRow];
//Senão for Cabeçalho dos Dias da Semana
if aRow > 0 then begin
...
...
...
///daqui pra baixo tem mais codigos mas so precisa modificar a linha acima.
antes do
if aRow > 0 then begin
if DiaGrid<>'' then
vai ficar assim
var
DiaGrid : string;
AlturaGrid, LarguraGrid, TopGrid, LeftGrid : Integer;
Data : TDateTime;
begin
with CalendarGrid do begin
//Limpando o Calendário Para Recria-lo
Canvas.Brush.Color := clWhite;
Canvas.Pen.Color := clWhite;
Canvas.Font.Style := [];
Canvas.Font.Color := clBlack;
Canvas.FillRect(Rect);
DiaGrid := Cells[aCol, aRow];
//Senão for Cabeçalho dos Dias da Semana
if DiaGrid<>'' then //ADICIONA ESSA LINHA ********************************************************************
if aRow > 0 then begin
...
...
...
///daqui pra baixo tem mais codigos mas so precisa modificar a linha acima.
eu to sem meu note nesse final de semana se nao conseguir na segunda eu posto o exemplo do site corrigido.
Então, efetuei a modificação, o code ficou assim na parte modificada :
//Senão for Cabeçalho dos Dias da Semana
if DiaGrid<>'' then
if aRow > 0 then begin
Data := StrToDate(DiaGrid);
DiaGrid := IntToStr(DayOf(Data));
//Checa se os Dias São do Mês Selecionado
if MonthOf(Data) = MonthOf(PrimeiroDiaMes) then begin
//Pintando a Data Atual
if Data = Date then begin
Canvas.Brush.Color := $00FFC794;
Canvas.Font.Style := [fsBold];
Canvas.Rectangle(Rect);
end;
//Pintando Data Selecionada
if gdSelected in State then begin
Canvas.Brush.Color := $00FFC794;
Canvas.Font.Color := clBlack;
Canvas.Font.Style := [fsBold];
Canvas.Rectangle(Rect);
end;
Porém, ao rodar a aplicação,olha o que ocorreu,repare na parte que eu sinalizei em vermelho do GRID, ficou toda estranha :
[img]http://arquivo.devmedia.com.br/forum/imagem/412436-20150620-175441.png[/img]
Como eu arrumo isso ai da imagem acima ?
Na verdade, o que eu queria fazer como controle, ao invés dessas setas na esquerda e direita, eu queria fazer com ComboBox, exemplo :
[img]http://arquivo.devmedia.com.br/forum/imagem/412436-20150620-180339.png[/img]
Em uma eu selecionava o MÊS e na outra o ANO, e ela já iria direto para o mês e ano pré-selecionado.
Caso, quando você veja aqui, possa me ajudar a deixar dessa forma com as COMBO-BOX agradeço, se for muito complicado deixar dessa forma, só me ajude naquela outra forma que já está pronta mesmo, o que eu queria da primeira maneira lá , é que na hora que inicia-se o ANO fosse 2015 e não 1900, tem como fazer ? (isso se dessa segunda forma com as combo-box for muito difícil, se não for poderia me dar o exemplo, com essas combos ai )
Obrigado pela ajuda !
GOSTEI 0
Dorivan Sousa
18/06/2015
o problema é na data inicial olha no oncreate, realmnte quando modifica o codigo ele inicia vazio, mas ao selecionar um ele normaliza... eu vou ver no projeto do site e vejo se encontro o problema....
GOSTEI 0
André Moutinho
18/06/2015
o problema é na data inicial olha no oncreate, realmnte quando modifica o codigo ele inicia vazio, mas ao selecionar um ele normaliza... eu vou ver no projeto do site e vejo se encontro o problema....
Sem problemas, se você puder, tem como me fazer o exemplo, com as combo-box ? como eu citei acima ?
Agradeço
GOSTEI 0