Ver Mensaje Individual
  #9  
Antiguo 11-06-2014
force1758 force1758 is offline
Miembro
 
Registrado: jul 2010
Posts: 37
Reputación: 0
force1758 Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola force1758.

Me cuestiono lo mismo que Casimiro: ¿ Cuales son los valores que estas evaluando ?

El código de tu mensaje no genera ningún error. Y por otro lado, aparentemente funciona como se espera de acuerdo a los valores de Edit1 y Memo1.

Para ejemplo tomemos este caso:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  Edit1.Text:= 'F64-01020800-0000E59D-BFEBFBFF';
  Memo1.Clear;
  Memo1.Text:= 'blabla00000F64-01020800-0000E59D-BFEBFBFFblabla';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  loll, ftext:string;
  nrf: Integer;
begin
  if Button1.Caption=('Button1') then  
  begin
    ftext:= LowerCase(Memo1.Lines.text);
    loll:= LowerCase(Edit1.Text);
    nrf:= pos(LowerCase(loll),ftext);
    if nrf > 0 then
    begin
      Memo1.setfocus;
      Memo1.SelStart:=nrf-1;
      Memo1.SelLength:=length(Edit1.text);
      Memo1.setfocus;
      Label1.Caption:=('OK');
    end
    else
      Label1.Caption:=('error');
  end;
end;
En Label1 podras ver 'Ok' y en el Memo seleccionada la cadena 'F64-01020800-0000E59D-BFEBFBFF'...

Saludos
si te entiendo pero el problema es cuando cierro la aplicacion y vuelvo a tratar de conectarme con el servidor para obtener el serial para compararlo con el edit me explico mejor de esta manera mostrare el codigo completo haber si se puede mejorar o ayudar a reparar el error

Código Delphi [-]

procedure idmaquina; // esta procedimiento me devuelve el serial de la maquina y la coloca en un edit
begin
eshardwareid.gethardwareid;
form1.Edit1.text:=eshardwareid.CPUID;
end;

procedure conectartxt; //aqui paso lo que esta en mi servidor a un tmemo
begin
form1.memo1.Clear;
form1.IdHTTP1.Request.CacheControl := 'no-cache'; //supuestamente borro la cahe del inhttp
form1.Memo1.Text:=form1.IdHTTP1.Get('http://url/Array.txt');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
idmaquina;
conectartxt; 
end;

procedure TForm1.Button1Click(Sender: TObject);// y aqui deberia buscar y seleccionar la cadena en el 
var                                                               //memo y mandar el label en OK pero solo sucede 
  loll, ftext:string;                                            //una vez cierro la aplicacion y la vuelvo abrir y me     
  nrf: Integer;                                                /// sale el label error como sino encontrara nada en el
begin                                                           //memo
  if Button1.Caption=('Button1') then  // ¿ Con que fin ?
  begin
    ftext:= LowerCase(Memo1.Lines.text);
    loll:= LowerCase(Edit1.Text);
    nrf:= pos(LowerCase(loll),ftext);
    if nrf > 0 then
    begin
      Memo1.setfocus;
      Memo1.SelStart:=nrf-1;
      Memo1.SelLength:=length(Edit1.text);
      Memo1.setfocus;
      Label1.Caption:=('OK');
    end
    else
      Label1.Caption:=('error');
  end;
end;


espero haber sido un poco mas claro gracias por sus respuestas
Responder Con Cita