sexta-feira, 17 de agosto de 2012

DER intermediário - boletim on-line

Dando seqüência ao sistema de boletim on-line, foram necessárias mais algumas normalizações, segue abaixo o DER atual. Acredito que sejam mais necessárias mais algumas pequenas alterações. Quero implementar ainda a grade de horários das disciplinas para os alunos.

sexta-feira, 27 de julho de 2012

Web Design - lá vamos nós...

Sou mais desenvolvedor do que "designer" mas a necessidade faz o sapo pular. Fiz um layout de prova para  um cliente, achei bem legal, e o cliente gostou. Aí vai a versão 1:


O cliente me passou uns ajustes, e a versão 1, se tornou a versão 2 abaixo:

Particularmente, preferi muito mais a versão 1 mas tem que ficar ao gosto do cliente. Agora vou bolar as páginas internas... fui!

Logomarca e interface gráfica - boletim on-line

No post anterior, mostrei o DER do sistema, abaixo a logomarca do sistema, o batizei de Caderno. Simples e caceteiro, tinha pensado em um monte de sigla horrível, ai simplifiquei pra algo do cotidiano dos estudantes.


Agora vou mostrar a interface gráfica do sistema, ficou bem legal. Usei até o wallpaper do Ubuntu (acho que da versão 10).


Tem umas funções que vou tentar implementar, para poder abrir várias janelas ao mesmo tempo, tornando-o multi-tarefa, como em um sistema de Desktop on-line que imita um sistema operacional e seu sistema de janelas (minimizar, maximizar, fechar).

sexta-feira, 20 de julho de 2012

DER inicial - boletim on-line

Estou montando um DER de um sistema de boletim on-line: notas das unidades para os pais dos alunos acessarem no site da Escola.

Pense no quebra-cabeça. Parece fácil mas entender a relação entre aluno, disciplinas, professores, séries, turmas, unidades... ufa.

Cada professor pode ensinar várias disciplinas para várias séries, sendo que a disciplina em si, é determinada pela relação entre série x turma. O professor não ensina simplesmente Matemática, ele ensina Matemática para o "2° ano" (série), em uma determinada turma, sendo que turma é a relação da série com o ano (2012).

Os alunos fazem parte de uma turma, que é o conjunto de série, ano, disciplinas e horários. As notas são dos alunos, ligadas à unidade e à turma. Da mesma forma a frequência.

Bom, isto é apenas a base da relação entre as principais entidades do banco:



terça-feira, 17 de julho de 2012

Imitando um textarea para colorir

Tive que me virar pra criar um script complementar pra um cliente.
Ele faz inclusões de licitações em seus sistema copiando o conteúdo de um arquivo HTML (acredito eu).


O fato é que no sistema antigo, eles colavam todo o conteúdo, e iam marcando o que é título, o que é objeto do texto, o que é tipo, etc. Agora neste sistema novo que estamos desenvolvendo, preciso implementar a mesma funcionalidade. Ao marcar uma porção do texto, ela fica de uma cor específica deste campo, exemplo: titulo é vermelho, objeto é azul... além do texto marcado ser copiado para o campo título do formulário.


Utilizando textarea, consegui fazer o script pra copiar partes do textos, mas na hora de fazer colorir apenas uma palavra ou uma frase de um texto dentro da textarea, o bicho pegou, pesquisei, pesquisei... e achei melhor fazer um DIV com cara de textarea e editável, pois o cliente vai colar o texto completo neste campo grandão, e marcar as partes... etc.


Mudei pra o div, marcar as cores foi fácil, tive que readaptar toda a parte de copiar parte do textarea (estava trabalhando com String, Indexof(), etc e tal) agora tive que mudar pra window.getSelection que é pra pegar qualquer porção de texto selecionado.


Bom, segue o código final do arquivo teste.php:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE>Teste de colorir</TITLE>
<style type="text/css">
textarea {
    height: 28px;
    width: 400px;
}
#textarea {
    -moz-appearance: textfield-multiline;
    -webkit-appearance: textarea;
    border: 1px solid gray;
    font: medium -moz-fixed;
    font: -webkit-small-control;
    height: 128px;
    overflow: auto;
    padding: 2px;
    resize: both;
    width: 400px;
}
</style>
 </HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function copiarTitulo(x)
{
    var txt = '';
     if (window.getSelection)
    {
        txt = window.getSelection();
             }
    else if (document.getSelection)
    {
        txt = document.getSelection();
            }
    else if (document.selection)
    {
        txt = document.selection.createRange().text;
    }
    else return;
 document.formulario.titulo.value = txt;
 textocompleto = String(x.innerHTML);
 textocompleto = textocompleto.replace(txt, "<span style='color:red;'>"+txt+"</span>");
 x.innerHTML = textocompleto;
 document.formulario.btTitulo.disabled = true;

}
function copiarObjeto(x)
{
    var txt = '';
     if (window.getSelection)
    {
        txt = window.getSelection();
             }
    else if (document.getSelection)
    {
        txt = document.getSelection();
            }
    else if (document.selection)
    {
        txt = document.selection.createRange().text;
    }
    else return;
 document.formulario.objeto.value = txt;
 textocompleto = String(x.innerHTML);
 textocompleto = textocompleto.replace(txt, "<span style='color:blue;'>"+txt+"</span>");
 x.innerHTML = textocompleto;
 document.formulario.btObjeto.disabled = true;
}

//Função anterior, tentando fazer rodar com textarea
// mas com textarea é mais complicado pra colorir,
// o jeito foi utilizar um div com cara de textarea
function copiarTituloTA(input){
 if(document.selection && document.selection.createRange().text != ''){ // IS IE
  document.formulario.titulo.value = document.selection.createRange().text;

 }
 else{ // Not IE.. assume Mozilla?
  var startPos = input.selectionStart;
  var endPos = input.selectionEnd;
  document.formulario.titulo.value = input.value.substring(startPos, endPos);
 }
}
function atualizando(x, y) {
 x.innerHTML = String(y);
}
//-->
</SCRIPT>
 <BODY>

<form action="teste.php" method="post" name="formulario"> 

titulo: <input type="text" name="titulo" size="50"><br>
objeto: <input type="text" name="objeto" size="50"><br>
<br>
Texto:<br>
<!--textarea name="texto" cols="40" rows="5">Script antigo.</textarea-->

<div id="textarea" onClick="this.contentEditable='true';" onKeyPress="javascript:atualizando(document.getElementById('textarea'), this.innerHTML)">O texto será colado aqui e selecionado. Marque uma frase ou palavra do texto e selecione se é titulo ou objeto.</div>
<br><br>

<input type="button" value="titulo" name="btTitulo" onclick="javascript:copiarTitulo(document.getElementById('textarea'))" style="background-color:red;">
<input type="button" value="objeto" name="btObjeto" onclick="javascript:copiarObjeto(document.getElementById('textarea'))"  style="background-color:blue;">
</form>
 
 </BODY>
</HTML>

sábado, 11 de setembro de 2010