English readers and other languages: Many posts are in portuguese, you can use the Translate button at left side.

Clique nas imagens dos artigos! Elas levam você para o site do artista que a criou e muitas
vezes tem assuntos relacionados ou outras imagens para expandir seus horizontes!

sexta-feira, 7 de agosto de 2009

Unify Accell na Wikipedia

Algum tempo atrás eu havia criado uma entrada na Wikipedia para a linguagem Unify Accell/SQL, com a qual trabalho nas Lojas Renner.
Por algum motivo, acho que alguém achou que "isto não ecsiste!" e tive que recriar o texto.
Fica aqui o registro e a cópia do primeiro post para o tópico. Quem sabe, algum dos outros poucos que ainda trabalham com este tipo de ferramenta, possam efetuar sua contribuição:


Unify Accell
Minha contribuição para a Wikipédia, a enciclopédia livre:


Accell/SQL é um ambiente de desenvolvimento integrado para plataforma não-gráfica Unix/Linux.

Possui interface para servidor de banco de dados Unify Dataserver, assim como outros fornecedores (Sybase, Informix, Ms-SQL Server. Oracle, Ingres, etc)

Posteriormente foram incluidos variações de GUI (graphical user interface) para o produto, incluindo MOTIF, Open Look and web-based (Accell/Web).

Além dos utilitários para gerar construções básicas (GRUD, etc), possui um editor de formulários (telas em modo caracter) e um gerador de relatórios. Cada formulário está associado a um script.

Accell possui duas linguagens de programação orientadas a eventos. Uma para formulários (telas) e outra para relatórios.

Permite a construção de aplicativos de razoável complexidade, observando-se é claro, as limitações impostas pela abordagem de simplificação de atividades em prol de resultados, característico de L4Gs.

Temos visto, de forma geral, a linguagem de programação do Accell, ser comparada com Clipper Summer87, xBase e outras do gênero.


----

'''Exemplo de script simples, associado a uma tela com os campos (não mostrada aqui):'''

form videos

target_table videos

LOCAL LIST aAtores[1 TO 1000]

LOCAL VOID FUNCTION ORDENAR(REF LIST lista, tam)
LOCAL cont, cont1, aux
begin
FOR(SET cont TO 1; cont <= tam; SET cont TO cont + 1)
begin
FOR(SET cont1 TO cont; cont1 <= tam; SET cont1 TO cont1 + 1)
begin
if(lista[cont] < lista[cont1]) then
begin
SET aux TO lista[cont]
SET lista[cont] TO lista[cont1]
SET lista[cont1] TO aux
end
end
end
end

LOCAL NUMERIC FUNCTION GetCount($v_id)
LOCAL nAlugados
begin
SET $nAlugados TO SELECT COUNT(*) FROM rental WHERE r_vi_id = $v_id;
RETURN ($nAlugados);
end

ON CLEAR TO ADD
set v_id:stop_for_input to false

ON CLEAR TO FIND
set v_id:stop_for_input to true

BEFORE ADD
SET v_id TO SELECT MAX(v_id) FROM videos;
if (status$() <> 0) then
SET v_id TO v_id + 1
else
SET v_id TO 1

FIELD v_category
INIT FIELD
ENABLE ZOOM TO v_cat RETURN KEY

ON NEXT FORM
if not is_current_record_stored$() then
begin
DISPLAY 'Pressione F9 (Incluir / Atualizar) antes de ir para o Cadastro de Aluguel' FOR FYI_MESSAGE WAIT
REJECT OPERATION
end


etc


----

Outro Exemplo mostrando uma tela em modo caracter:

.replace stored update record 1 of 10 records found
.
.
. COMPANY: Athena Development Corp. SALES REP NO.: 7
.
. ADDRESS: 5800 S.W. Washington St. NAME: G Moore
. REP PHONE: (415) 645-1214
.
. CITY: Portland
. STATE: OR POSTAL CODE: 97210
. MAIN PHONE: (503) 246-2400
. CONTACT: M Bennett
. TITLE: Purchasing Manager
. PHONE: ext. 2406
.
.
.Enter the company name.
.F1-Prv Form F2-Nxt Form F3-Prv Rec F4-Nxt Rec F5-Fld Help F10-More Key

----

Sem comentários: