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

 
 
Herramientas Buscar en Tema Desplegado
  #21  
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
...no le he cambiado ningún dato a tu código que me mandaste y pues al momento de poner AX me da ese error (List Index Out of Bounds)...
Es correcto , es un error de frontera.

Revisa esta código:
Código Delphi [-]
 procedure TForm1.Button3Click(Sender: TObject);
 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');
                                       
 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 := High(RegAsm) downto Low(RegAsm) do
             if SL[j] = RegAsm[k] then
             begin
                SL.Delete(j);
                Break;
             end;   
 
       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 bajo Windows 7 Professional x32, es la versión 2 del código propuesto en el Msg #16 que resuelve errores de frontera, funcionando correctamente según lo esperado con datos de prueba como se puede ver en la siguiente imagen:



Espero sea útil

Nelson.
Responder Con Cita
 


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 00:37:38.


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