Ver Mensaje Individual
  #4  
Antiguo 20-03-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Reputación: 23
ozsWizzard Va por buen camino
¡Ostras!, se me acaba de venir un error a la cabeza, lo primero es que faltaría sumarle 1 al itemIndex de la última línea de la función Mostrar y ni por esas está bien, eso sería asumiendo que existen todos los años desde el 2000, pero no es así.

Tal y como está ahora, lo mejor es sutituir por ComboBox1.Text.
Código Delphi [-]
function TForm1.Mostrar(const Ruta: String): String;
var
   i, j: Integer;
   Nom: String;
begin
   ComboBox1.Clear;
   for i := 1 to 100 do
    begin
      Nom := kCarpera + IntTostr(i);
      if FileExists(Ruta + Nom) then
         j := ComboBox1.Items.Add(Nom);
   end;
   //Por defecto se marca la última campaña
    ComboBox1.ItemIndex := j;
   
   ShowModal;
   
   Result := Ruta + ComboBox1.Text;
end;


El error es por empezar con una solución y acabar con otra... quería mostrar en el combobox "campaña 20XX" y me lié.

Para hacerlo de esta segunda forma, mejor sería hacer un array simultáneo al combobox y un procedimiento AddCampana:

Variables globales al formulario
Código Delphi [-]
var
   ArrOfString: Array of string;

Procedimiento AddCampana
Código Delphi [-]
procedure TForm1.AddCampana(const Eje: Integer);
var
   j: Integer;
  Dat, Cam: String;
begin
   Dat := kCarpeta + IntTostr(Eje);
   Cam := 'Campaña 20' + IntTostr(Eje);
   j := ComboBox1.Items.Add(Cam);
   SetLeng(ArrOfString, ComboBox1.Items.Count);
   ArrOfString[j] := Dat; 
end;



Nuevamente la función Mostrar
Código Delphi [-]
function TForm1.Mostrar(const Ruta: String): String;
var
   i: Integer;
begin
   ComboBox1.Clear;
   for i := 1 to 100 do
       if FileExists(Ruta + Nom) then
         AddCampana(i);
   //Por defecto se marca la última campaña
    ComboBox1.ItemIndex := j;
   
   ShowModal;
   
   Result := Ruta + ArrOfString[ComboBox1.ItemIndex];
end;



Saludos.
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita