 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
aleshy Profissional

Registrado: Terça-Feira, 13 de Março de 2007 Mensagens: 627
|
Enviada: Sex Jul 30, 2010 1:45 pm Assunto: Preenchimento do StringGrid (Resolvido) |
|
|
Srs,
Rodei por umas 50 mensagens no forum e nenhuma me ajudou.
Seguinte. Tenho as seguintes tabelas
Tabela1 - Tabela de Horarios:
00:00
00:30
01:00
01:30
Tabela2 - Consultas marcadas:
01:00 - data - Fulano de Tal
O que estou querendo é
Preencher a primeira coluna do StringGrid com os horarios da tabela1.
Depois disso, adicionar na coluna 2 no seu respectivo horario os dados da tabela2
Entao ficaria:
00:00
00:30
01:00 - data - Fulano de Tal
01:30
Alguem me ajuda? _________________ Alex Vieira
Desenvolvedor
Salvador - Ba
Editado pela última vez por aleshy em Seg Ago 02, 2010 4:44 pm, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
BrunoMoreyra Colaborador

Registrado: Quinta-Feira, 26 de Novembro de 2009 Mensagens: 1398 Localização: Goiânia - GO / Brasília - DF
|
Enviada: Sex Jul 30, 2010 1:50 pm Assunto: Re: Preenchimento do StringGrid |
|
|
Boa tarde,
ficaria da seguinte maneira.
| Código: |
StringGrid.Cells[0 {Coluna} ,0 {Linha]] := '00:00';
StringGrid.Cells[0 {Coluna} ,1 {Linha]] := '00:30';
StringGrid.Cells[0 {Coluna} ,2 {Linha]] := '01:00';
StringGrid.Cells[0 {Coluna} ,3 {Linha]] := '01:30';
StringGrid.Cells[0 {Coluna} ,4 {Linha]] := '02:00';
..
StringGrid.Cells[0 {Coluna} ,xx {Linha]] := '23:30';
StringGrid.Cells[1 {Coluna} ,2 {Linha]] := 'Consulta marcada para o fulano'; // Coluna 1 mas na mesma linha de 1 hora.
|
| aleshy escreveu: | Srs,
Rodei por umas 50 mensagens no forum e nenhuma me ajudou.
Seguinte. Tenho as seguintes tabelas
Tabela1 - Tabela de Horarios:
00:00
00:30
01:00
01:30
Tabela2 - Consultas marcadas:
01:00 - data - Fulano de Tal
O que estou querendo é
Preencher a primeira coluna do StringGrid com os horarios da tabela1.
Depois disso, adicionar na coluna 2 no seu respectivo horario os dados da tabela2
Entao ficaria:
00:00
00:30
01:00 - data - Fulano de Tal
01:30
Alguem me ajuda? |
_________________ Atencisamente,
Bruno Moreira Batista.
http://www.kawek.com.br/BrunoBatista
Skype: Bruno_Batysta |
|
| Voltar ao Topo |
|
 |
aleshy Profissional

Registrado: Terça-Feira, 13 de Março de 2007 Mensagens: 627
|
Enviada: Sex Jul 30, 2010 1:53 pm Assunto: |
|
|
Caro BrunoMoreyra,
Adicionar manualmente é facil. Quero fazer isso com um loop do resultado retornado de uma query.
Nem todos os dias terao horarios de 00:00 a 23:00.
Por isso eu preciso que, se o query retornar apenas 5 horarios eu preencha o StringGrid com estes 5 horarios e depois pesquise as consultas marcadas e adicione ao respectivo horario..
Preciso de algo tipo For.. _________________ Alex Vieira
Desenvolvedor
Salvador - Ba |
|
| Voltar ao Topo |
|
 |
BrunoMoreyra Colaborador

Registrado: Quinta-Feira, 26 de Novembro de 2009 Mensagens: 1398 Localização: Goiânia - GO / Brasília - DF
|
Enviada: Sex Jul 30, 2010 1:57 pm Assunto: |
|
|
Boa tarde,
coloque uma variável do tipo TDateTime, onde você trabalhará somente com a hora, inicializando com a hora que você desejar (08:00), e percorra até a hora que deseja, em um while, verificando o horário que a variável está, e com isso incremente os minutos no intervalo que desejar, 30 minutos.
Posterior preenchido o StringGrid com todos os horários, basta percorrer a query, procurando qual a linha do horário que foi cadastrado, e colocar na coluna desejada.
| aleshy escreveu: | Caro BrunoMoreyra,
Adicionar manualmente é facil. Quero fazer isso com um loop do resultado retornado de uma query.
Nem todos os dias terao horarios de 00:00 a 23:00.
Por isso eu preciso que, se o query retornar apenas 5 horarios eu preencha o StringGrid com estes 5 horarios e depois pesquise as consultas marcadas e adicione ao respectivo horario..
Preciso de algo tipo For.. |
_________________ Atencisamente,
Bruno Moreira Batista.
http://www.kawek.com.br/BrunoBatista
Skype: Bruno_Batysta |
|
| Voltar ao Topo |
|
 |
aleshy Profissional

Registrado: Terça-Feira, 13 de Março de 2007 Mensagens: 627
|
Enviada: Sex Jul 30, 2010 2:05 pm Assunto: |
|
|
Pow Brunao!
Esta é a parte mais facil
Meu problema é que nunca trabalhei com StringGrid e nao sei como incluir os resultado retornados nas colunas.
Tipo:
Grid.Cells[0,1] := primeiro resultado,
Grid.Cells[0,2] := segundo resultado
mas isso deve ser feito dinamicamente... entende?
Ele deve saber que o primeiro resultado da query de horarios vai para a primeira linha, o segundo resultado para a segunda linha e assim vai... _________________ Alex Vieira
Desenvolvedor
Salvador - Ba |
|
| Voltar ao Topo |
|
 |
BrunoMoreyra Colaborador

Registrado: Quinta-Feira, 26 de Novembro de 2009 Mensagens: 1398 Localização: Goiânia - GO / Brasília - DF
|
Enviada: Sex Jul 30, 2010 2:14 pm Assunto: |
|
|
Boa tarde,
no caso você terá que definir quantas colunas terá o StringGrid.
E no caso você pode trabalhar com coluna visíveis e colunas invisíveis, no caso das coluna visíveis são aquelas que o usuário pode visualizar (fica fácil para ele entender), as colunas invisíveis são utilizadas para controle do sistema (no caso o usuário não precisa visulizar) como ás vezes acontece de código, algo assim.
Query.First;
while (not Query.Eof) do begin
// Procurando a linha que o horário está
vLinha := 0;
for I := 0 to (StringGrid.RowCount - 1) do begin
if (StringGrid.Cells[0,I] = Query.FieldByName('HORARIO').AsString) then begin
vLinha := I;
Break;
end;
end;
// Tem que verificar a coluna que deseja, dia algo assim.
// A coluna pode ser vista da mesma maneira que encontrou a linha.
StringGrid.Cells[1,vLinha] := Query.FieldByName('PACIENTE').AsString;
StringGrid.Cells[2,vLinha] := Query.FieldByName('PACIENTE').AsString;
Query.Next;
end;
| aleshy escreveu: | Pow Brunao!
Esta é a parte mais facil
Meu problema é que nunca trabalhei com StringGrid e nao sei como incluir os resultado retornados nas colunas.
Tipo:
Grid.Cells[0,1] := primeiro resultado,
Grid.Cells[0,2] := segundo resultado
mas isso deve ser feito dinamicamente... entende?
Ele deve saber que o primeiro resultado da query de horarios vai para a primeira linha, o segundo resultado para a segunda linha e assim vai... |
_________________ Atencisamente,
Bruno Moreira Batista.
http://www.kawek.com.br/BrunoBatista
Skype: Bruno_Batysta |
|
| Voltar ao Topo |
|
 |
aleshy Profissional

Registrado: Terça-Feira, 13 de Março de 2007 Mensagens: 627
|
Enviada: Seg Ago 02, 2010 4:18 pm Assunto: |
|
|
Resolvido!
Trecho do codigo com a resolucao:
| Código: | while not qSalaEspera.Eof do
begin
GradeEspera.Cells[0, L] := Copy(qSalaEspera.FieldByName('HORA').AsString, 1, 5) + ' - ' +
qSalaEspera.FieldByName('CLIENTE').AsString + ' (' +
qSalaEspera.FieldByName('ANIMAL').AsString + ') - ' +
qSalaEspera.FieldByName('SIGLA').AsString +
qSalaEspera.FieldByName('FUNCIONARIO').AsString;
L := L + 1;
Next;
end;
|
É tao simples que as vezes fica complicado  _________________ Alex Vieira
Desenvolvedor
Salvador - Ba |
|
| Voltar ao Topo |
|
 |
BrunoMoreyra Colaborador

Registrado: Quinta-Feira, 26 de Novembro de 2009 Mensagens: 1398 Localização: Goiânia - GO / Brasília - DF
|
Enviada: Seg Ago 02, 2010 5:53 pm Assunto: |
|
|
Boa noite,
só abro uma observação para a sua codificação, pelo jeito você está utilizando o with então tem hora que você coloca o nome do objeto qSalaEspera.Eof, e tem hora você não coloca o nome do objeto Next, colocando direto o nome da propriedade.
Só tomar cuidado com isso, pois o formulário também possui a propriedade Next, então o código compilar, mas hora de funcionar ocasione problema, então tome bastante cuidado com isso.
| aleshy escreveu: | Resolvido!
Trecho do codigo com a resolucao:
| Código: | while not qSalaEspera.Eof do
begin
GradeEspera.Cells[0, L] := Copy(qSalaEspera.FieldByName('HORA').AsString, 1, 5) + ' - ' +
qSalaEspera.FieldByName('CLIENTE').AsString + ' (' +
qSalaEspera.FieldByName('ANIMAL').AsString + ') - ' +
qSalaEspera.FieldByName('SIGLA').AsString +
qSalaEspera.FieldByName('FUNCIONARIO').AsString;
L := L + 1;
Next;
end;
|
É tao simples que as vezes fica complicado  |
_________________ Atencisamente,
Bruno Moreira Batista.
http://www.kawek.com.br/BrunoBatista
Skype: Bruno_Batysta |
|
| Voltar ao Topo |
|
 |
aleshy Profissional

Registrado: Terça-Feira, 13 de Março de 2007 Mensagens: 627
|
Enviada: Ter Ago 03, 2010 2:14 pm Assunto: |
|
|
Ok amigo.
Nunca tive este tipo de problema, visto que o codigo que postei nao mostra o bloco de begin e end onde contem o with query do begin...
De qualquer forma obrigado pela dica. _________________ Alex Vieira
Desenvolvedor
Salvador - Ba |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|