
Marcos Santana
Membros-
Total de itens
64 -
Registro em
-
Última visita
Tudo que Marcos Santana postou
-
Função para checar campos obrigatórios da tabela
pergunta respondeu ao robinhocne de Marcos Santana em Delphi, Kylix
Colega eu uso assim: function CamposObrigatorios : Boolean; begin Erro:= false; If (um edit de um campo que é requerido = '') and (not erro) Then Begin Application.Messagebox('Informe ???????.','ATENÇÃO',mb_IconInformation); Esse Edit.SetFocus; erro:=true; End; result := not erro; end; No evento que salvo os dados testo if CamposObrigatorios then begin Condição.... Funciona muito bem. -
Colegas onde estou errando nesse código procedure TForm1.GridDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin CarregarGrid; if (ACol = Coluna) and (ARow = Linha) then Grid.Canvas.Brush.color := clBlue; Grid.canvas.fillRect(Rect); Grid.Canvas.TextRect(Rect, Rect.Left, Rect.Top,Grid.Cells[Coluna, Linha]); end; ----------------------------------------------------------- CarregarGrid é assim: with qryAuxiliar do begin Close; SQL.Clear; SQL.Add('Select de_Coluna, de_Linha, de_Cor From Tab_Grid'); Open; end; if qryAuxiliar.RecordCount > 0 then begin Coluna:= qryAuxiliar.FieldByName('de_Coluna').AsInteger; Linha:= qryAuxiliar.FieldByName('de_Linha').AsInteger; end; Se eu fizer assim: Coluna:= 1; Linha:= 2; if (ACol = Coluna) and (ARow = Linha) then Grid.Canvas.Brush.color := clBlue; Grid.canvas.fillRect(Rect); Grid.Canvas.TextRect(Rect, Rect.Left, Rect.Top,Grid.Cells[Coluna, Linha]); Funciona onde estou errando?, pois quero pegar os valores de Coluna e Linha que vem de uma tabela no Access. :wacko:
-
Bem colega da outra vez que você me deu essa idéia o arquivo de baixai não tinha compilado no Delphi 7, pois era de Delphi 5. Más esse tem todas as versões é complicou no Delphi 7 é no 2006. Vou testar é post o resultado obrigado
-
Foram-me passados dois arquivos, um com uma tabela com os horários de cada dia, turmas, professores e suas matérias e outro com o calendário, fica mais ou menos assim: Calendário Calendário com os doze meses do ano, é se no mês de janeiro no dia 10 for um feriado cadastro pelo usuário ou um dia de reunião, a célula do SgringGrid que representa esse dia fique na cor que o usuário escolher não tenho uma tabela de feriados ainda Grade de Horários ------------------------------------ Horário Noturno ------------------------------------ Segunda-Feira ------------------------------------ Série - Turma ------------------------------------ Horário | 1ª Ens.Médio ------------------------------------ 18:00-18:50 | Química 18:50-19:40 | Química 19:40-20:30 | Inglês 20:50-21:40 | Ed Física 21:40-22:30 | Ed Física ------------------------------------ Legenda: ------------------------------------ Adriana | Claudino | Marcos -> Professor ------------------------------------ Nessa legenda cada nome tem uma cor é sua matéria e da cor do nome do professor Então criei as tabelas: Horário com os campos (cd_Horario, id_Turma, de_DiaSemana, de_Horario) que tem uma relação 1 para N com a tabela Turma assim uma turma tem vários horários mas um horário pertence a uma turma (cd_Turma, de_Turma) Assim eu tenho para cada dia da semana e turno as horários. Outro problema: Se o professor Marcos tem duas aulas de Física na segunda-feira, então ele deve dar 80 aulas no ano, ou seja para cada aula que um professor da na semana, ele deve dar 40 aulas por ano Exemplo: Carlos da 2 aulas por semana = 80 Aulas anuais Jorge da 3 aulas por semana = 120 Aulas anuais De posse dessas informações criei uma tabela chamada Calendário (cd_Calendario, id_Professor, id_Materia, id_Turma, id_Horario) que se relaciona com as tabelas: Professor, Matéria, Turma e Horário todas 1 pra N não sei se é a melhor opção Eu preciso do seguinte: Se um professor da duas aulas por semana isso soma 80 aulas ano é o usuário for cadastrar esse professor. Ficaria assim, as aulas são na segunda-feira é são duas aulas, vou tem que inserir na tabela calendário que aquele professor vai dar aula dia + horário + Matéria + Turma e contar se já tem a quantidade de aulas no ano Se não tiver incluo más um registro se dever incluído em todas as segunda-feira do ano é a quantidade de aulas ainda não foi a que o professor deve dar no ano O usuário deve escolher outro dia da semana, terça-feira por exemplo até que a quantidade de aulas seja completada é assim podemos saber quando começa e termina as aulas de cada professor é em que dia elas ocorreram. Se não foi claro e´só me passar onde.
-
Colega semanas atrás perguntou se tinhas como pintar uma célula de um calendário No delphi pois preciso criar um calendário com os dias que os professores dão aula. Por exemplo Professor Paulo tem aula de Matemática na segunda então em todas as Segunda do calendário a célula dos dias de segunda ficam verdes, com o calendário do delphi ou outros componentes similares não deu certo então resolve usar o StringGrid é fiz assim: {Janeiro por exemplo} StringGrid1.Cells[0,0]:= 'D'; StringGrid1.Cells[1,0]:= 'S'; StringGrid1.Cells[2,0]:= 'T'; StringGrid1.Cells[3,0]:= 'Q'; StringGrid1.Cells[4,0]:= 'Q'; StringGrid1.Cells[5,0]:= 'S'; StringGrid1.Cells[6,0]:= 'S'; StringGrid1.Cells[0,1]:= ''; StringGrid1.Cells[0,2]:= '7'; StringGrid1.Cells[0,3]:= '14'; StringGrid1.Cells[0,4]:= '21'; StringGrid1.Cells[0,5]:= '28'; StringGrid1.Cells[1,1]:= '1'; StringGrid1.Cells[1,2]:= '8'; StringGrid1.Cells[1,3]:= '15'; StringGrid1.Cells[1,4]:= '22'; StringGrid1.Cells[1,5]:= '29'; StringGrid1.Cells[2,1]:= '2'; StringGrid1.Cells[2,2]:= '9'; StringGrid1.Cells[2,3]:= '16'; StringGrid1.Cells[2,4]:= '23'; StringGrid1.Cells[2,5]:= '30'; StringGrid1.Cells[3,1]:= '3'; StringGrid1.Cells[3,2]:= '10'; StringGrid1.Cells[3,3]:= '17'; StringGrid1.Cells[3,4]:= '24'; StringGrid1.Cells[3,5]:= '31'; StringGrid1.Cells[4,1]:= '4'; StringGrid1.Cells[4,2]:= '11'; StringGrid1.Cells[4,3]:= '18'; StringGrid1.Cells[4,4]:= '25'; StringGrid1.Cells[4,5]:= ''; StringGrid1.Cells[5,1]:= '5'; StringGrid1.Cells[5,2]:= '12'; StringGrid1.Cells[5,3]:= '19'; StringGrid1.Cells[5,4]:= '26'; StringGrid1.Cells[5,5]:= ''; StringGrid1.Cells[6,1]:= '6'; StringGrid1.Cells[6,2]:= '13'; StringGrid1.Cells[6,3]:= '20'; StringGrid1.Cells[6,4]:= '27'; StringGrid1.Cells[6,5]:= ''; {Fim} Com um StringGrid faço um MonthCalendar é no evento DrawCell do StringGrid Pinto as células que preciso só que ficou muito manual tenho 12 StringGrid no form É tenho que colocar o valor é as cores de cada célula é mudar todo ano Têm como atribuir os valores e pintar as células de cada StringGrid dinamicamente Ou melhorar esse minha idéia.
-
Valeu colega era isso mesmo ;)
-
O banco pode ser qualquer uma desse: access, sql2000, 2005 ou firebird Obrigado.
-
Colega está fazendo um programa de Controle Escolar, só que tenho Dúvidas que como relacionar algumas tabelas: Aluno com a série: para mim esse relacionamento é muitos para muitos, pois um aluno pode está na 7º série em 2007 e na 8º em 2008, então Fiz a tabela Aluno, Serie e Aluno_Serie, e relacionei assim: Aluno/Aluno_Serie 1/N, e Serie e Aluno_Serie 1/N Até ai tudo bem só que como relaciono as tabelas: turma, nota, matéria e professor, bastam essas tabelas ou esquece alguma outra? Podem me ajudar.
-
Estou usando Delphi 7, poderia de dar mais informações sobre esse outro componente. Obrigado pela força. :lol:
-
Colegas quero criar um form de cadastro de feriados para uma escola. Más gostaria que ao cadastrar o dito feriado, o mesmo ficasse pintado num componente estilo Month Calendar, alguém já fez algo assim pois não encontrei uma maneira de pintar a célula do componente com a cor cadastrada ex: dia 7 de setembro no Calendar ficaria azul. Tem como fazer algo assim no Delphi 7? :huh:
-
Colegas tenho uma dll escrita em delphi 7 e estou portando para delphi 2006 Usando a vcl net só que tem "bibliotecas" que o compilador não aceita são elas: CurrEdit, Rxctrls, ToolEdit e JPEG. Alguém sabe que tipo é compatível para Delphi 2006
-
[resolvido] Ajuda Com Listview
pergunta respondeu ao Marcos Santana de Marcos Santana em Delphi, Kylix
Obrigado colegas funcionou :D . -
[resolvido] Ajuda Com Listview
pergunta respondeu ao Marcos Santana de Marcos Santana em Delphi, Kylix
Bem colegas a principio é isso mesmo só que além do caption eu preciso pegar o subitem [3] São 6 de cada linha do listview tem como. -
Colegas estou usando um dbgrid é um listview No cadastro de entrada de material Os produtos ficam no grid e ao clicar no mesmo “jogo” no listview Até ai tudo bem só que tem alguns erros que não consigo tirar: Não deixar que seja inserida o mesmo produto duas vezes Não sei como verificar a cada item inserido se o mesmo já existe no Listview. Na coluna quantidade o valor não pode ser zero também não sei Como verificar isso. Para inserir uso esse código : procedure TfrmMovEntrada.AdicionarItem; var ListItem: TListItem; // Variável para guarda os itens do Listview item : string; begin // Adicionamos um Item ao ListView ListItem := ListView1.Items.Add; // Adicionamos dados a Coluna Código do Grupo ListItem.Caption := qryEstCons.Fieldbyname('cd_grupo').AsString; // Adicionamos dados a Coluna Nome do Grupo ListItem.SubItems.Add(Trim(qryEstCons.Fieldbyname('de_grupo').AsString)); // Adicionamos dados a Coluna Código do Produto ListItem.SubItems.Add(qryEstCons.Fieldbyname('cd_produto').AsString); // Adicionamos dados a Coluna Nome do Produto ListItem.SubItems.Add(Trim(qryEstCons.Fieldbyname('de_produto').AsString)); // Adicionamos dados a Coluna Quantidade do Produto item:= (InputBox('SCA','Informe a quantidade','0')); if item = '0' then begin Application.MessageBox('Informe uma quantidade correta', 'Atenção', MB_OK + MB_ICONINFORMATION); item:= (InputBox('SCA','Informe a quantidade','0')); end else begin ListItem.SubItems.Add(item); // Adicionamos dados a Coluna Quantidade do Produto ListItem.SubItems.Add(Trim(qryEstCons.Fieldbyname('vl_custo').AsString)); end; end; Alguém pode me ajudar.