Olá!
Não sei pq, o calendário ficou com os dias(nomes) em português em posições erradas em relação ao dia(numero). Na Hwgui. Já resolvi.
Agora estava resolvendo a melhor maneira de guardar o resultado do calendário marcado em um DBF, fiz um campo com 68 caracteres ANOMESDIAS assim coloco apenas 12 inclusões por pessoa. Muito difícil acontecer.
Tinha feito ANO MES DIA, depois apenas dia no formato data. (365 inclusões ) x 12 venceu o 12.
Pq tem que gravar e a opção de remover(desmarcar) o dia, caso algum erro.
Ainda não terminei...Tô em macha lenta na programação.
Saudações,
Itamar M. Lins Jr.
Calendário, marcar dia trabalhado
Moderador: Moderadores
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Calendário, marcar dia trabalhado
Olá!
Aumentei o campo, tem que separar os dias com "," ou "/", "." etc..
Senão embola dia 01 + 17 fica 0117, ai a função at() pega 01 - 11 - 17 rsrsrs.
Saudações,
Itamar M. Lins Jr.
Aumentei o campo, tem que separar os dias com "," ou "/", "." etc..
Senão embola dia 01 + 17 fica 0117, ai a função at() pega 01 - 11 - 17 rsrsrs.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Calendário, marcar dia trabalhado
Se entendi, pode reduzir e talvez melhorar
202507xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ano com 4 dígitos
mes com 2 dígitos
um byte pra cada dia, máximo 31 bytes
total 37 bytes
Pode criar uma função de de/para
pra pegar marcação do dia, Substr( campo, 6 + dia, 1 )
Num browse então, só definir colunas pra cada byte
Usando aquele esquema de FOR/EACH só pra ter variável LOCAL no codeblock:
Sei lá se vai precisar mostrar um ano ou mais...
202507xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ano com 4 dígitos
mes com 2 dígitos
um byte pra cada dia, máximo 31 bytes
total 37 bytes
Pode criar uma função de de/para
pra pegar marcação do dia, Substr( campo, 6 + dia, 1 )
Num browse então, só definir colunas pra cada byte
Usando aquele esquema de FOR/EACH só pra ter variável LOCAL no codeblock:
Código: Selecionar todos
FOR nCont = 1 TO 31
FOR EACH nDia IN nCont
AAdd( col, { || iif( PegaDia( field->Registro, nCont ), "X", " " )
NEXT
NEXT
...
FUNCTION PegaDia( cCampo, nDia )
RETURN Substr( cCampo, 6 + nDia, 1 ) == "X"
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Calendário, marcar dia trabalhado
Lembrando também que o FOR/EACH vale pra letras.
Código: Selecionar todos
aDias := Array(31)
FOR EACH cLetra IN Substr( cCampo, 7 ) // pula yyyymm ano/mes
aDias[ cLetra:__EnumIndex() ] := cLetra
NEXT
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Calendário, marcar dia trabalhado
Tava olhando aqui de novo...
Pena que é perigoso trabalhar com binário, senão seria um único bit, que representaria 255 dias.
Ou transformar isso em hexa e usar 2 letras.
putz...
2 x 12 = 24
24 bytes pro ano inteiro.
Montar em binário, os 255 bits
ver que número dá
converter em hexa.
É meio doido mas é interessante.
histórico de 1 ano seriam 12 bytes, em hexa 24 bytes.
Ou até menos.... 255 bits dá pra representar 255 dias, pelo menos 6 meses, reduz pra 2 bytes, ou 4 bytes em hexa.
Só precisa do bit indicando sim/não.
Muito louco isso: 1 ano em 4 bytes.
Será que fiz a conta direito ?
2025xxxx
Pena que é perigoso trabalhar com binário, senão seria um único bit, que representaria 255 dias.
Ou transformar isso em hexa e usar 2 letras.
putz...
2 x 12 = 24
24 bytes pro ano inteiro.
Montar em binário, os 255 bits
ver que número dá
converter em hexa.
É meio doido mas é interessante.
histórico de 1 ano seriam 12 bytes, em hexa 24 bytes.
Ou até menos.... 255 bits dá pra representar 255 dias, pelo menos 6 meses, reduz pra 2 bytes, ou 4 bytes em hexa.
Só precisa do bit indicando sim/não.
Muito louco isso: 1 ano em 4 bytes.
Será que fiz a conta direito ?
2025xxxx
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Calendário, marcar dia trabalhado
É lógico que não.
Misturei bits e bytes.
1 byte representa até 255, mas não tem 255 bits.
São só 8 bits, no máximo uma semana.
Misturei bits e bytes.
1 byte representa até 255, mas não tem 255 bits.
São só 8 bits, no máximo uma semana.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/