delphi7

Delphi

06/03/2011

boa tarde 1º gstaria de parabens pelo site, bela iniciativa de ajudar a tirar duvidas dos usuarios. gostaria que me ajudasse me dando uma ideia de como faço para não salvar um cadastro se um campo do edit não estiver preenchido   estou fazendo assim    ListItem.SubItems.Add(Edit1.Text);
   If (Edit1.Text='') then
   begin        Application.MessageBox('Digite o Nome','Atenção', MB_ICONINFORMATION);   so que se eu deixar algum edit vazio ele salva msm assim o outro que esta preenchido se souber outra forma q eu possa fazer para so salvar se todos estiverem devidamente preenchidos me ajude por favor.   obrigado.
Alessandra

Alessandra

Curtidas 0

Respostas

Marco Salles

Marco Salles

06/03/2011

Acho que melhor que percorrer os edits ou controles é percorrer os fields
GOSTEI 0
Alessandra

Alessandra

06/03/2011

você poderia me dar um exemplo de como ficaria?
GOSTEI 0
Marco Salles

Marco Salles

06/03/2011

Acho que melhor que percorrer os edits ou controles é percorrer os fields
Desculpa , mas quando vc fal aem salvar , vc esta se refierindo a algum banco de dados ?? Vc esta utilizando quais os componetes de conexão ???
GOSTEI 0
Alessandra

Alessandra

06/03/2011

não, estou falando em salvar no listview, são 5 edits tenho que fazer com o q ele so salve no list view se todos estiverem preenchidos, com o nome, endereço, rua, cidade, cep. sem banco de dados
GOSTEI 0
Diego Macario

Diego Macario

06/03/2011


não, estou falando em salvar no listview, são 5 edits tenho que fazer com o q ele so salve no list view se todos estiverem preenchidos, com o nome, endereço, rua, cidade, cep. sem banco de dados
 


olha so, vc esta usando clientdataset?
pq tem uma funcao do guinther pauli onde no tfields do clientdataset vc marca a propriedade required e ele vai verificar se esta vazio o edit...
e dar uma msg amigavel
seria isso?
seria antes de salvar...
caso tenha algum marcado como required em branco ele n deixa salvar
GOSTEI 0
Alessandra

Alessandra

06/03/2011

acho que não to conseguindo expressar direito o que eu quero.  to iniciando no listview, não sei bem como ele funciona ainda, mais respondendo, não estou usando o clientedataset stou usando o  listview pra fazer um cadastro basico de cliente adicionei dentro do listview uns edits so que eu não sei como fazer com que ele não salve quando eu clicar no botão salvar se eu ñ preencher todos os campos. to iniciando agora no listview na facul ai to meio q perdida 
GOSTEI 0
Alessandra

Alessandra

06/03/2011

é na forma que eu eunviei a cima so que eu queria que quando desse a mensagem que esta faltando adicionar um nome no ed_nome.text quando fosse clicar no botão salvar ele não salvasse os outros por que falto adicionar o nome no nome.text. ja coloquei a condição if nome.text ='' the para não salvar se stiver vazio mas axo q esta faltando colocar alguma outra coisa porque ele ainda continia salvando
GOSTEI 0
Marco Salles

Marco Salles

06/03/2011

vamos fazer o seguinte   Coloque um ListView1 num form , e de dois clicks nele e adicione os Items no Editing ListViewn Coloque assim  
   Columns = <
      item
        Caption = 'Nome'
        Width = 200
      end
      item
        Caption = 'Endereco'
        Width = 200
      end
      item
        Caption = 'Cidade'
        Width = 100
      end>
  Adicione tambpem Tres Edits   Coloque um metodo no form (Private) e defina-o assim :  procedure PreenCherListView;   Na implementation façã  
procedure TForm1.PreenCherListView;
var
  ListItem: TListItem; // Criamos uma variável para guarda os itens do Listview
begin
 ListItem := ListView1.Items.Add;
 // Adicionamos dados a Nome
 ListItem.Caption := edit1.text;
 // Adicionamos a Coluna Endereco
 ListItem.SubItems.Add(edit2.text);
 // Adicionamos a Cidade
 ListItem.SubItems.Add(edit3.text);
end;
  Então .. para não prencher edits Vazio neste List temos que antes de Chamar o método .PreenCherListView , testamos com Outro método ..   Abaixo do .PreenCherListView  defina   procedure PreenCherListView; function VerificarVazio(const Nome,Endereco,Rua:String):Boolean;   Implemente o método  
function TForm1.VerificarVazio(const Nome,Endereco,Rua:String):boolean;
begin
result:=True;
if Trim(Nome) = '' then
  begin
    showmessage('Digite o Nome');
    exit;
  end;
if Trim(Endereco) = '' then
  begin
    showmessage('Digite o Nome');
    exit;
  end;
if Trim(Rua) = '' then
  begin
    showmessage('Digite o Nome');
    exit;
  end;
result:=False;
end;
  No OnClik do Botão faça  
procedure TForm1.Button1Click(Sender: TObject);
begin
if VerificarVazio(Edit1.Text,Edit2.Text,Edit3.Text) then
   PreenCherListView;
end;
  Rode o Programa e Teste...   ps) Muitos maneiras de fazer isto, esta não é a mais profissional , nen Orientada a Objetos . Mas vc que esta ingressando na facul e mais ou menos por ai
GOSTEI 0
Lu

Lu

06/03/2011

oi to com uma duvidazinha to usando esse codigo para ñ se reepetir a maatricula
so q msm assim ela sta salvando iguais
ond sta errado?

var
  existeMatricula: Boolean;
begin
  existeMatricula := False;
  for i := 0 to ListView1.Items.Count - 1 do
  begin
    if  ListView1.Items.Item[i].Caption = txtMatricula.text then
      begin
        existeMatricula := True;

        Break;
      end
  
  end;
 

????????

obrigado pela ajuda com o outro codigo
GOSTEI 0
Marco Salles

Marco Salles

06/03/2011

oi to com uma duvidazinha to usando esse codigo para ñ se reepetir a maatricula
so q msm assim ela sta salvando iguais
ond sta errado?

var
  existeMatricula: Boolean;
begin
  existeMatricula := False;
  for i := 0 to ListView1.Items.Count - 1 do
  begin
    if  ListView1.Items.Item[i].Caption = txtMatricula.text then
      begin
        existeMatricula := True;

        Break;
      end
  
  end;
 

????????

obrigado pela ajuda com o outro codigo
Blz Alessandra Mas cada tópico é um tópico. As duvidas de hj sçao as mesmas dúvidas de amahã de outros Coloque resolvido neste e inicie um novo tópico com o que vc deseja OK Obrigado
GOSTEI 0
POSTAR