ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Alguem ajuda na linguagem Objective C ? [RESOLVIDO]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Off-Topic
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Ter Abr 08, 2014 4:00 pm    Assunto: Alguem ajuda na linguagem Objective C ? [RESOLVIDO] Responder com Citação

Pessoal estou com um problema no código em objective C, e talvez alguém aqui do fórum saiba esta linguagem e possa me ajudar.

É o seguinte tenho aqui este codigo
Código:
if ([carregaDadosCliente.listacount] > 0) {
itemVendaCliente.cliente = [carregaDadosCliente.lista objectAtIndex:indexLista];


Quando passa por ele carrega o valor na variavel e ai preenche esta variavel aqui
Código:
codVinculado = itemVendaCliente.cliente.codigoVinculado;


Ai passa por esta validação que eu fiz

Código:
 //Autor: Adriano

                //Data: 08/04/2014

               //so entra na pergunta se o parametro tiver marcado

                if ((itemVendaCliente.cliente.BloqCliSemRegEnt == 1)) {

                    //aqui incluir o codigo do cliente

                    if (codVinculado == 0) {

                    [selfatencao:@"Este cliente não teve seu registro de entrada efetuado."];

                       textFieldCliente.text = @"";

                       break;

                    }

                }


Só que debugando percebi que aqui nesta linha
Código:
 if (codVinculado == 0)
Não esta limpando a variavel quando passo novamente.

Exemplo: se não existe codigo vinculado então a variavel recebe zero e entra na condição do if acima.

Ai da um break e limpa o edittext e quando vou digitar um valor novo no edittext que tem que retornar na variavel seu ID ele continua zero, é como se não limpasse a variavel para receber o novo. Ai preciso sair da tela e voltar novamente para conseguir executar com o valor do ID, ou se na primeira vez que vou abrir a tela digitar no edittext um valor de ID valido então ele retorna o valor, mais se eu diditar um valor no edittext invalido que não tenho no banco de dados então retorna zero e fica retornando zero sempre mesmo digitando o valor certo no ID.

Se alguém souber como ajudar.

Vou deixar o bloco todo que é executado
Código:
- (void)carregaCliente {
   switch (estado) {
      case 1: //Inicia
         [self limpaFundos];
         imageFundoCliente.hidden = NO;
         textFieldCliente.text = @"";
         itemVendaCliente.cliente = nil;
         [delegate iniciarEntradaTeclado:4  textField:textFieldCliente];
         estado = 2;
         break;
      case 2: //Aguarda entrada
         if (![textFieldCliente.text isEqualToString:@""]) {
            estado = 3;
            [self performSelectorInBackground:@selector(iniciarSpin) withObject:nil];
            carregaDadosCliente = [[CarregaDadosCliente alloc] init];
            [carregaDadosCliente setCodigo:textFieldCliente.text];
            [carregaDadosCliente setVinculados:@"Sim"];
            [carregaDadosCliente setDelegate:self];
            [carregaDadosCliente setCallback:@selector(carregaLista)];
            [carregaDadosCliente setCallbackErro:@selector(carregaDadosErro)];
            carregaDados = carregaDadosCliente;
            [carregaDadosCliente clienteDados];
            carregaDados = carregaDadosCliente;
            isCarregaListaUnicoItem = NO;
            tipoLista = @"Cliente";
         }
         break;
      case 3: //Processa retorno
         [self.delegate pararSpin];
            //[carregaDadosCliente.lista removeObjectAtIndex:indexLista];
         if ([carregaDadosCliente.lista count] > 0) {
            itemVendaCliente.cliente = [carregaDadosCliente.lista objectAtIndex:indexLista];
               
                //Autor: Marlon
                //Data: 03/02/2014
                //PT: 469 Versão 3.72
                codVinculado = itemVendaCliente.cliente.codigoVinculado;
               
                //loccdVinculado = itemVendaCliente.cliente.locCliSomCodVinculado;
                /** só cai aqui se o cliente nao tiver codigo vinculado e o parametro pedir somente codigo vinculado */
                //Atualizado por Adriano 08/04/2014
                if ((itemVendaCliente.cliente.locCliSomCodVinculado == 1)) {
                    if (itemVendaCliente.cliente.codigoVinculado == 0) {
                    [self atencao:@"Cliente sem código vinculado"];
                        textFieldCliente.text = @"";
                        break;

                    }
                }//
               
                blCliSemRegEnt = itemVendaCliente.cliente.BloqCliSemRegEnt;
                //Autor: Adriano
                //Data: 08/04/2014
               //so entra na pergunta se o parametro tiver marcado
                if ((itemVendaCliente.cliente.BloqCliSemRegEnt == 1)) {
                    //aqui incluir o codigo do cliente
                    if (codVinculado == 0) {
                    [self atencao:@"Este cliente não teve seu registro de entrada efetuado."];
                       textFieldCliente.text = @"";
                       break;
                    }
                }
           
            if ((itemVendaCliente.cliente.codigoVinculado == 0) ||
               (itemVendaCliente.cliente.codigo == itemVendaCliente.cliente.codigoVinculado)) {
               textFieldCliente.text = [NSString stringWithFormat:@"%i - %@",
                                  itemVendaCliente.cliente.codigo,
                                  itemVendaCliente.cliente.nome];
            } else {
               textFieldCliente.text = [NSString stringWithFormat:@"%i/%i - %@",
                                  itemVendaCliente.cliente.codigo,
                                  itemVendaCliente.cliente.codigoVinculado,
                                  itemVendaCliente.cliente.nome];
            }
            estado = 1;
            itemFluxo = 2;
            [self fluxo:0];
         } else {
            estado = 1;
            [self carregaCliente];
            [self atencao:@"Cliente não encontrado"];
         }
         break;
   }
}


PS: Postei aqui devido a dificuldade em encontrar fórum de objective c em português, e como ja conheço aqui talvez algum colega conheça esta linguagem e possa me ajudar.

Obrigado.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree


Editado pela última vez por adriano_servitec em Qua Abr 09, 2014 10:24 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qua Abr 09, 2014 10:23 am    Assunto: Responder com Citação

Pessoal, resolvi com este método aqui
Código:
- (void)limpaVariaveis {
   [itemVendaCliente release];
   itemVendaCliente = nil;
   itemVendaCliente = [[ItemVendaCliente alloc] init];   
}


Obrigado
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Off-Topic Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB