Commit 7b8e54f3 authored by Lucio Sandrini's avatar Lucio Sandrini

Correção de alguns erros no Cadastro de Formulário.

parent d7ffe4a3
......@@ -5,6 +5,7 @@ object itCadastrarFormulario: TitCadastrarFormulario
Width = 937
ClientHeight = 482
ClientWidth = 937
OnDestroy = FormDestroy
LCLVersion = '2.1.0.0'
object scrlbxTudo: TScrollBox
Left = 0
......
......@@ -51,6 +51,7 @@ type
procedure cbbFormSelect(Sender: TObject);
procedure edtDisplayNomeChange(Sender: TObject);
procedure edtNomeChange(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure lstAtributosFill(piType: string);
procedure btnCancelarClick(Sender: TObject);
procedure btnUpClick(Sender: TObject);
......@@ -237,14 +238,19 @@ end;
procedure TitCadastrarFormulario.btnSalvarClick(Sender: TObject);
var
lField, lResponseField, lFormField, lFields, lNewForm,
lFieldField, lTypeField, lTypeSelectRelation: utField;
lFieldField, lTypeField, lTypeSelectRelation, lForm: utField;
lOrder, lFormOID: Integer;
lItem: TListItem;
begin
if edtNomeForm.Text = '' then
raise Exception.Create('O Formulrio deve possuir um nome.');
lField := utField.Create;
lFormField := lField.AddField('Form');
if cbbForm.Text <> 'Novo' then lFormField.AddAttribute('OID').AsInteger := Integer(cbbForm.Items.Objects[cbbForm.ItemIndex]);
if edtNomeForm.Text <> '' then lFormField.AddAttribute('name').AsString := edtNomeForm.Text;
if cbbForm.Text <> 'Novo' then
lFormField.AddAttribute('OID').AsInteger := Integer(cbbForm.Items.Objects[cbbForm.ItemIndex]);
lFormField.AddAttribute('name').AsString := edtNomeForm.Text;
lFields := lFormField.AddField('Fields');
lOrder := 0;
......@@ -290,31 +296,30 @@ begin
{caso tenha sido salvo com sucesso}
if lResponseField.HasField('Form') then
begin
lFormOID := lResponseField.FieldByName('Form').AttributeByName('OID').AsInteger;
application.MessageBox('Formulrio salvo com sucesso.','StarUML', MB_ICONASTERISK + MB_OK);
lForm := lResponseField.FieldByName('Form');
lFormOID := lForm.AttributeByName('OID').AsInteger;
if cbbForm.Text = 'Novo' then
begin
lblCodigoForm2.Caption := IntToStr(lFormOID);
lblCodigoForm.Caption := IntToStr(lFormOID);
cbbForm.Items.Objects[cbbForm.ItemIndex] := Pointer(lFormOID);
cbbForm.Items[cbbForm.ItemIndex] := IntToStr(lFormOID); {mudar para o nome depois---------------------}
cbbForm.AddItem('Novo', nil);
lNewForm := fForms.AddField('Form');
lNewForm.Assign(lResponseField.FieldByName('Form'));
lNewForm.Name := IntToStr(lFormOID);
lForm.Name := IntToStr(lFormOID);
lNewForm := fForms.AddField(IntToStr(lFormOID));
lNewForm.Assign(lForm);
end
else
begin
//cbbForm.Text := IntToStr(lFormOID); {mudar para o nome depois---------------------}
fForms.FieldByName(IntToStr(lFormOID)).Assign(lResponseField.FieldByName('Form'));
fForms.FieldByName('Form').Name := IntToStr(lFormOID);
lForm.Name := IntToStr(lFormOID);
fForms.FieldByName(IntToStr(lFormOID)).Assign(lForm);
end;
if lResponseField.FieldByName('Form').HasAttribute('name') then
begin
cbbForm.Items[cbbForm.ItemIndex] := lResponseField.FieldByName('Form').AttributeByName('name').AsString;
edtNomeForm.Text := lResponseField.FieldByName('Form').AttributeByName('name').AsString;
end;
application.MessageBox('Formulrio salvo com sucesso.','StarUML', MB_ICONASTERISK + MB_OK);
cbbForm.Items[cbbForm.ItemIndex] := lForm.AttributeByName('name').AsString;
cbbForm.ItemIndex := cbbForm.Items.IndexOf(lForm.AttributeByName('name').AsString);
edtNomeForm.Text := lForm.AttributeByName('name').AsString;
end
else raise Exception.Create('Erro ao salvar formulrio.');
......@@ -456,6 +461,7 @@ begin
lItem.Checked := True;
lItem.SubItems[__DISPLAY_NAME] := lFieldItem.AttributeByName('displayName').AsString;
lItem.SubItems[__OBRIGATORIO] := lFieldItem.AttributeByName('required').AsString;
lItem.SubItems[__ID] := lFieldItem.AttributeByName('id').AsString;
lItem.SubItems[__TIPO] := lFieldItem.FieldByName('Type').AttributeByName('name').AsString;
lFieldItem.Name := IntToStr(lId);
......@@ -695,11 +701,14 @@ begin
end;
end;
//procedure itCadastrarFormulario.Finalize;
//begin
// inherited;
// if Assigned(fTypesField) then
// fTypesField.Free;
//end;
procedure TitCadastrarFormulario.FormDestroy(Sender: TObject);
begin
if Assigned(fTypesField) then
fTypesField.Free;
if Assigned(fForms) then
fForms.Free;
if Assigned(fFormFields) then
fFormFields.Free;
end;
end.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment