Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-05-2014
Mantixd Mantixd is offline
Miembro
NULL
 
Registrado: dic 2013
Posts: 17
Poder: 0
Mantixd Va por buen camino
Claro que me fue de mas util, y fue mi error lo que pasa es que vi en otras publicaciones el mismo codigo que tu mismo habias posteado pero para que lo imprimiera en un listbox creo jeje y en ese codigo pusiste esta linea asi

Código Delphi [-]
 if UpperCase(SL[j]) = UpperCase(DirAsm[k]) then

y pues en este codigo ya no pusiste la parte del UpperCase y yo si la habia dejado jeje y por eso me imprimia doble ya ahora si quedo todo solucionado muchas gracias Nelson!
Responder Con Cita
  #2  
Antiguo 03-05-2014
Pedron Pedron is offline
Miembro
NULL
 
Registrado: may 2014
Posts: 10
Poder: 0
Pedron Va por buen camino
Hola disculpen perdon que me entrometa por aqui, este codigo si me puede servir mucho pero lo que yo estoy buscando es que me imprima en un memo2 todos los datos que sean diferentes al arreglo, por ejemplo si tengo


Código Delphi [-]
HOLA DB HOLA

Que solo me guarde el

HOLA HOLA

lo que tengo es esto pero pues creo que me hace falta algo agradeceria mucho su ayuda

Código Delphi [-]
        SL := TStringList.Create;

  // ListBox5.Clear;

   for i := 0 to Memo1.Lines.Count - 1 do
   begin

      AuxStr := Memo1.Lines[i];

      for j := 1 to Length(AuxStr) do
      begin
         if (AuxStr[j] <> ' ') and (AuxStr[j] <> ',')
         then

            Token := Token + AuxStr[j]
         else
         begin
            SL.Add(Token);
            Token := EmptyStr;
         end
      end;

      SL.Add(Token);
      Token := EmptyStr;

      for j := 0 to SL.Count - 1 do
       for k := Low(DirAsm) to High(DirAsm) do

            if (UpperCase(Memo1.Lines[i])) <> (UpperCase(DirAsm[k]))


             then



              Memo2.Lines.Add(Memo1.Lines[i]);
Responder Con Cita
  #3  
Antiguo 03-05-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Pedron,

Cita:
...estoy buscando es que me imprima en un memo2 todos los datos que sean diferentes al arreglo...ejemplo...HOLA DB HOLA...guarde...HOLA HOLA...
Revisa este código:
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
   SL: TStringList;
   i, j, k : Integer;
   Token : String;
   AuxStr : String;

begin

   SL := TStringList.Create;

   Memo2.Clear;

   for i := 0 to Memo1.Lines.Count - 1 do
   begin

      AuxStr := Memo1.Lines[i];

      for j := 1 to Length(AuxStr) do
      begin
         if (AuxStr[j] <> ' ') and (AuxStr[j] <> ',') then
            Token := Token + AuxStr[j]
         else
         begin
            SL.Add(Token);
            Token := EmptyStr;
         end
      end;

      SL.Add(Token);
      Token := EmptyStr;

      for j := SL.Count - 1 downto 0 do
         for k := Low(RegAsm) to High(RegAsm) do
            if SL[j] = RegAsm[k] then
               SL.Delete(j);

      for j := 0 to SL.Count - 1 do
         Token := Token + SL[j] + ' ';

      Memo2.Lines.Add(Token);
      Token := EmptyStr;

      SL.Clear;

   end;

   SL.Free;

end;
El código anterior en Delphi 7 y Windows 7 Professional x32, analiza cada línea de TMemo1, las compara tipo Case Sensitive con un arreglo y copia dicha línea a TMemo2 eliminando cualquier ocurrencia encontrada.

Espero sea útil

Nelson.
Responder Con Cita
  #4  
Antiguo 03-05-2014
Pedron Pedron is offline
Miembro
NULL
 
Registrado: may 2014
Posts: 10
Poder: 0
Pedron Va por buen camino
Hola nlsgarcia Muchisimas gracias por tu respuesta tan rapida probe el codigo que me mandaste probe con elementos que no estan dentro del arreglo y pues los pone en el memo2 pero al poner un elemento que si esta dentro del arreglo me manda este error de ante mano muchisimas gracias.
Imágenes Adjuntas
Tipo de Archivo: jpg Captura.jpg (7,4 KB, 3 visitas)
Responder Con Cita
  #5  
Antiguo 03-05-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Pedron,

Cita:
Empezado por Pedron
...probé con elementos que no están dentro del arreglo y pues los pone en el Memo2 pero al poner un elemento que si esta dentro del arreglo me manda este error...List Index Out of Bounds...


Revisa esta imagen:



El código sugerido en el Msg #16 funciona según lo esperado como se puede apreciar en la imagen anterior.

Pregunto:

1- ¿Modificastes el código sugerido en el Msg #16?

2- ¿Que data utilizastes en el Memo1 que origino el error?, ¿Que valores tienes en el arreglo de comparación?.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 03-05-2014 a las 06:26:04.
Responder Con Cita
  #6  
Antiguo 03-05-2014
Pedron Pedron is offline
Miembro
NULL
 
Registrado: may 2014
Posts: 10
Poder: 0
Pedron Va por buen camino
Código Delphi [-]


const
  RegAsm : Array[1..30] of string = ('AX','BX','CX','DX','AH','AL',
                                     'BH','BL','BP','CH','CL','CS',
                                     'DH','DL','DI','DS', 'GS', 'IP',
                                     'SI','SP','SS', 'ES',
                                     'EAX','EBP','EBX','ECX',
                                     'EDI','EDX','EIP','ESIFE');

procedure TForm1.Button1Click(Sender: TObject);
var
 SL: TStringList;
   i, j, k : Integer;
   Token : String;
   AuxStr : String;

begin

  SL := TStringList.Create;

  Memo2.Clear;

   for i := 0 to Memo1.Lines.Count - 1 do
   begin

      AuxStr := Memo1.Lines[i];

      for j := 1 to Length(AuxStr) do
      begin
         if (AuxStr[j] <> ' ') and (AuxStr[j] <> ',') then
            Token := Token + AuxStr[j]
         else
         begin
            SL.Add(Token);
            Token := EmptyStr;
         end
      end;

      SL.Add(Token);
      Token := EmptyStr;

      for j := SL.Count - 1 downto 0 do
         for k := Low(RegAsm) to High(RegAsm) do
            if SL[j] = RegAsm[k] then
               SL.Delete(j);

      for j := 0 to SL.Count - 1 do
         Token := Token + SL[j] + ' ';

      Memo2.Lines.Add(Token);
      Token := EmptyStr;

      SL.Clear;

   end;

   SL.Free;
end;

ese es mi codigo que utilizo no le he cambiado ningun dato a tu codigo que me mandaste y pues al momento de poner AX me da ese error espero y puedas ayudarme saludos y muchas gracias!
Responder Con Cita
  #7  
Antiguo 03-05-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Pedron.

Ya habías creado un hilo con la consulta del mensaje #15, por favor no dupliques los temas ya que dificultan las búsquedas posteriores.

Código Delphi [-]
...
implementation

var
 Nemos: TStrings;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Nemos:= TStringList.Create;
  Nemos.CommaText:= 'ALIGN,.ALPHA,ASSUME,.CODE,COMM,COMMENT,.CONST,.CREF,'+
    '.DATA,DB,DD,DF,DOSSEG,DQ,DT,DW,ELSE,END,ENDIF,ENDM,ENDP,ENDS,EQU,.ERRnn,'+
    'EVEN,EXITM,EXTRN,.FARDATA,.FARDATA?,GROUP,IF,IF1,IF2,IFB,IFDEF,IFDIF,IFE,'+
    'IFIDN,IFNB,IFNDEF,INCLUDE,INCLUDELIB,IRP,IRPC,LABEL,.LALL,.LFCOND,.LIST,'+
    'LOCAL,MACRO,.MODEL,NAME,ORG,OUT,PAGE,PROC,PUBLIC,PURGE,.RADIX,RECORD,'+
    'REPT,.SALL,SEGMENT,.SEQ,.SFCOND,.STACK,STRUC,SUBTTL,.TFCOND,TITLE,.XALL'+
    ',.XCREF,.XLIST';
end;

procedure TForm1.btnProcesarClick(Sender: TObject);
var
  TS: TStrings;
  i,j: Integer;
  s: string;
begin
  Memo2.Clear;
  for i:= 0 to Memo1.Lines.Count-1 do
  begin
    TS:= TStringList.Create;
    try
      s:= EmptyStr;
      ExtractStrings([' '], [], PChar(Memo1.Lines[i]), TS);
      for j:= 0 to TS.Count-1 do
        if Nemos.IndexOf(TS[j]) = -1 then  s:= s + TS[j] + ' ';
      Memo2.Lines.Add(s);
    finally
      TS.Free;
    end;
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Nemos.Free;
end;
end.

Resultado:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Guardar datos en Base de Datos MySQL knnibal Conexión con bases de datos 6 23-06-2011 15:36:42
añadir un renglón a un dbgrid olybola Varios 8 07-06-2010 21:23:15
Ir al ultimo renglon en un StringGrid palets Varios 2 18-02-2009 22:11:59
Guardar en 1 base de datos SQL, datos procedentes de 2 tablas distintas adaypr C++ Builder 1 05-09-2006 11:56:33
agregar un renglón al dbgrid olybola Conexión con bases de datos 1 26-06-2003 20:58:03


La franja horaria es GMT +2. Ahora son las 23:38:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi