Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-02-2021
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Poder: 21
Angel.Matilla Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Dá error cuando se selecciona "menos 1" (-1)
He hecho una prueba similar a la tuya y me da error con cualquier valor negativo.
Responder Con Cita
  #2  
Antiguo 19-02-2021
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
Al parecer el componente TListBox si tiene un problema



En este código estoy usando un TCombobox, TListBox y un TStrings.

Las funciones que alimentan y leen de las listas son las mismas, el objeto de lista es pasado como parámetro y la lista del TListBox genera error.

Código Delphi [-]
procedure TForm1.LlenarListasClick(Sender: TObject);
  procedure LlenarListaDatos(SL: TStrings);
  begin
    SL.BeginUpdate;
    try
      SL.Clear;
      try
        FDMemTable1.First;
        while not FDMemTable1.Eof do
        begin
          SL.AddObject(FDMemTable1Valor.AsString, TObject(FDMemTable1Codigo.AsInteger));
          FDMemTable1.Next;
        end;
      finally
        FDMemTable1.First;
      end;
    finally
      SL.EndUpdate;
    end;
  end;
begin
  //El orden de llenado no afecta la cantidad de items
  LlenarListaDatos(FLista);
  LlenarListaDatos(ComboBox1.Items);
  LlenarListaDatos(ListBox1.Items);
  Memo1.Lines.Assign(FLista); //Solo para mostrar el contenido de la lista en pantalla
end;

procedure TForm1.ObtDeListasClick(Sender: TObject);
  procedure EstValores(EditS, EditO: TEdit; SL: TStrings);
    var
      lIndex: Integer;
  begin
    EditS.Clear;
    EditO.Clear;
    
    if (SL.Count = 0) then
      Exit;

    try
      lIndex := SL.IndexOf(FDMemTable1Valor.AsString);
      if lIndex >= 0 then
        EditS.Text := SL[lIndex];
    except
      on E: Exception do
        EditS.Text := 'Error: ' + E.Message;
    end;      
      
    try
      lIndex := SL.IndexOfObject(TObject(FDMemTable1Codigo.AsInteger));
      if lIndex >= 0 then
        EditO.Text := IntToStr(Integer(SL.Objects[lIndex]));
    except
      on E: Exception do
        EditO.Text := 'Error: ' + E.Message;
    end;
  end;
begin
  EstValores(EditCBS, EditCBO, ComboBox1.Items);
  EstValores(EditLBS, EditLBO, ListBox1.Items);
  EstValores(EditSLS, EditSLO, FLista);
end;
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
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
Parsear texto con TString avechuche Varios 9 04-07-2013 09:57:24
Duda Tstring wildnetboy C++ Builder 9 16-06-2006 21:19:46
Como paso un Tstring a String Antuan Varios 18 13-08-2005 01:44:02
Convertir un TString a PWideChar bustio OOP 3 01-10-2004 04:50:16
TString en los caption buitrago Varios 3 14-08-2004 19:54:13


La franja horaria es GMT +2. Ahora son las 01:12:44.


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