Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-09-2013
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Cita:
Empezado por nlsgarcia Ver Mensaje
Espero sea útil
Nelson.
Realmente ha sido muy útil.

Una pregunta. Si quiero decidir yo mismo el nombre del archivo de texto en el cual voy a guardar la lista ¿Cómo hago?
Por ejemplo que quiera tener un archivo de texto para cada combo, y tengo dos combo's.

Saludos.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #2  
Antiguo 12-09-2013
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Cita:
Empezado por santiago14 Ver Mensaje
Una pregunta. Si quiero decidir yo mismo el nombre del archivo de texto en el cual voy a guardar la lista ¿Cómo hago?
Por ejemplo que quiera tener un archivo de texto para cada combo, y tengo dos combo's.
Saludos.
Bueno, hice esto...
Código Delphi [-]
TComboBox = class(StdCtrls.TComboBox)
  private
    FHistory: String;
...
  public
    property History : String read FHistory write SetHistory;

...

procedure TComboBox.SetHistory(const Value: String);
var
  FS : TFileStream;
begin
  FHistory := Value;
  if not FileExists(History) then
  begin
    FS := TFileStream.Create(FHistory, fmCreate);
    FS.Free;
  end;
  Self.StoredItems.LoadFromFile(FHistory);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1.History:='Mi_historial.txt';
end;

Ahora puedo poner el nombre del .txt que yo quiera, y además, cada combo podría tener un archivo de texto particular.
Gracias.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #3  
Antiguo 12-09-2013
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Que va, faltaría dar una vuelta de tuerca mas para cuando no me envíen un nombre para mi archivo de texto...
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #4  
Antiguo 12-09-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
santiago14,

Cita:
Empezado por santiago14
...Una pregunta. Si quiero decidir yo mismo el nombre del archivo de texto en el cual voy a guardar la lista ¿Cómo hago?...
Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, StrUtils, ExtCtrls;

type
  TComboBox = class(StdCtrls.TComboBox)
  private
    CtrlLoad : Boolean;
    UnFlicker : Boolean;
    UpDown : Boolean;
    AuxText : String;
    FHistoryName : String;
    StoredItems : TStringList;
    procedure FilterItems;
    procedure StoredItemsChange(Sender: TObject);
    procedure LoadHistory;
    procedure ComboExit(Sender: TObject);
    procedure ComboCloseUp(Sender: TObject);
    procedure ComboKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure CNCommand(var Message: TWMCommand); Message CN_COMMAND;
  protected
  public
    constructor Create(Owner: TComponent); override;
    destructor Destroy; override;
    property History : String read FHistoryName write FHistoryName;
  end;

type
  TForm1 = class(TForm)
    ComboBox1 : TComboBox;
    Button1 : TButton;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

constructor TComboBox.Create(Owner: TComponent);
begin

   inherited;

   AutoComplete := False;
   StoredItems := TStringList.Create;
   StoredItems.OnChange := StoredItemsChange;
   Self.OnExit := ComboExit;
   Self.OnCloseUp := ComboCloseUp;
   Self.OnKeyDown := ComboKeyDown;
   Self.Sorted := True;
   Self.DropDownCount := 30;
   UnFlicker := False;
   CtrlLoad := False;

end;

destructor TComboBox.Destroy;
begin
   StoredItems.Free;
   inherited;
end;

procedure TComboBox.LoadHistory;
begin

   CtrlLoad := True;

   if FHistoryName = EmptyStr then
      FHistoryName := 'History.txt';

   if FileExists(FHistoryName) then
   begin
      Self.StoredItems.LoadFromFile(FHistoryName);
      SendMessage(Handle, CB_SHOWDROPDOWN, Integer(False), 0);
   end;

end;

procedure TComboBox.CNCommand(var Message: TWMCommand);
begin

   inherited;

   if Message.NotifyCode = CBN_EDITUPDATE then
      FilterItems;

end;

procedure TComboBox.FilterItems;
var
   i : Integer;
   StartPos, EndPos : Integer;

begin

   SendMessage(Handle, CB_GETEDITSEL, WPARAM(@StartPos), LPARAM(@EndPos));

   AuxText := Text;

   if Text <> EmptyStr then
   begin

      Items.Clear;

      for i := 0 to StoredItems.Count - 1 do
      begin
         if PosEx(LowerCase(Text), LowerCase(StoredItems[i])) > 0 then
            Items.Add(StoredItems[i]);
      end;

   end
   else
      Items.Assign(StoredItems);

   if UnFlicker then
      SendMessage(Handle, CB_SHOWDROPDOWN, Integer(True), 0);

   Text := AuxText;

   SendMessage(Handle, CB_SETEDITSEL, 0, MakeLParam(StartPos, EndPos));

   UnFlicker := True;

end;

procedure TComboBox.StoredItemsChange(Sender: TObject);
begin

   if Assigned(StoredItems) then
      FilterItems;

end;

procedure TComboBox.ComboExit(Sender: TObject);
begin

   if (Items.IndexOf(Text) = -1) and (Text <> EmptyStr) and (FHistoryName <> EmptyStr) and CtrlLoad then
   begin
      StoredItems.Add(Text);
      StoredItems.SaveToFile(FHistoryName);
   end;

end;

procedure TComboBox.ComboCloseUp(Sender: TObject);
begin

   If (AuxText <> EmptyStr) and (UpDown = False) then
   begin
      Text := AuxText;
   end;

   UpDown := False;

end;

procedure TComboBox.ComboKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
   if (Key = VK_UP) or (Key = VK_DOWN) then
      UpDown := True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

   if ComboBox1.Text <> EmptyStr then
      ShowMessage(ComboBox1.Text);

   if ComboBox2.Text <> EmptyStr then
      ShowMessage(ComboBox2.Text);

   if ComboBox3.Text <> EmptyStr then
      ShowMessage(ComboBox3.Text);

end;

procedure TForm1.FormCreate(Sender: TObject);
begin

   ComboBox1.History := 'History_1.txt';
   ComboBox1.LoadHistory;

   ComboBox2.History := 'History_2.txt';
   ComboBox2.LoadHistory;

   ComboBox3.History := 'History_3.txt';
   ComboBox3.LoadHistory;

end;

end.
El código anterior es la Versión 2 del código sugerido en el Msg #10 que permite: Simular de forma básica la función SHAutoComplete en un componente TComboBox modificado.

Mejoras realizadas:

1- Se incluyo la propiedad History que permite asignar un archivo Histórico a un ComboBox.

2- Se incluyo el método LoadHistory que permite cargar el archivo Histórico asociado al ComboBox.

3- Se elimino el efecto de flickering al cargar el ComboBox.

4- Se optimizo el código a nivel general.

Notas:

1- Si se omite el método LoadHistory, el ComboBox Modificado funcionara como un ComboBox estándar.

2- Si se omite la propiedad History, el ComboBox Modificado funcionara con el archivo Histórico por Defecto 'History.txt'.

3- Se debe asignar primero la propiedad History y luego llamar el método LoadHistory, para un correcto funcionamiento del Histórico.

El ejemplo esta disponible en el link: http://terawiki.clubdelphi.com/Delph...omboBox+V2.rar

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 12-09-2013 a las 08:36:45.
Responder Con Cita
  #5  
Antiguo 12-09-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
santiago14,

Continuación del Msg #15:

Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, StrUtils, ExtCtrls;

type
  TComboBox = class(StdCtrls.TComboBox)
  private
    CtrlLoad : Boolean;
    UnFlicker : Boolean;
    UpDown : Boolean;
    AuxText : String;
    HistoryName : String;
    StoredItems : TStringList;
    procedure FilterItems;
    procedure StoredItemsChange(Sender: TObject);
    procedure LoadHistory(FileHistory : String = 'History.txt');
    procedure ComboExit(Sender: TObject);
    procedure ComboCloseUp(Sender: TObject);
    procedure ComboKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure CNCommand(var Message: TWMCommand); Message CN_COMMAND;
  protected
  public
    constructor Create(Owner: TComponent); override;
    destructor Destroy; override;
  end;

type
  TForm1 = class(TForm)
    ComboBox1 : TComboBox;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    ComboBox4: TComboBox;
    Button1 : TButton;
    ComboBox5: TComboBox;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

constructor TComboBox.Create(Owner: TComponent);
begin

   inherited;

   AutoComplete := False;
   StoredItems := TStringList.Create;
   StoredItems.OnChange := StoredItemsChange;
   Self.OnExit := ComboExit;
   Self.OnCloseUp := ComboCloseUp;
   Self.OnKeyDown := ComboKeyDown;
   Self.Sorted := True;
   Self.DropDownCount := 30;
   UnFlicker := False;
   CtrlLoad := False;

end;

destructor TComboBox.Destroy;
begin
   StoredItems.Free;
   inherited;
end;

procedure TComboBox.LoadHistory(FileHistory : String = 'History.txt');
begin

   CtrlLoad := True;

   HistoryName := FileHistory;

   if FileExists(HistoryName) then
   begin
      Self.StoredItems.LoadFromFile(HistoryName);
      SendMessage(Handle, CB_SHOWDROPDOWN, Integer(False), 0);
   end;

end;

procedure TComboBox.CNCommand(var Message: TWMCommand);
begin

   inherited;

   if Message.NotifyCode = CBN_EDITUPDATE then
      FilterItems;

end;

procedure TComboBox.FilterItems;
var
   i : Integer;
   StartPos, EndPos : Integer;

begin

   SendMessage(Handle, CB_GETEDITSEL, WPARAM(@StartPos), LPARAM(@EndPos));

   AuxText := Text;

   if Text <> EmptyStr then
   begin

      Items.Clear;

      for i := 0 to StoredItems.Count - 1 do
      begin
         if PosEx(LowerCase(Text), LowerCase(StoredItems[i])) > 0 then
            Items.Add(StoredItems[i]);
      end;

   end
   else
      Items.Assign(StoredItems);

   if UnFlicker then
      SendMessage(Handle, CB_SHOWDROPDOWN, Integer(True), 0);

   Text := AuxText;

   SendMessage(Handle, CB_SETEDITSEL, 0, MakeLParam(StartPos, EndPos));

   UnFlicker := True;

end;

procedure TComboBox.StoredItemsChange(Sender: TObject);
begin

   if Assigned(StoredItems) then
      FilterItems;

end;

procedure TComboBox.ComboExit(Sender: TObject);
begin

   if (Items.IndexOf(Text) = -1) and (Text <> EmptyStr) and CtrlLoad then
   begin
      StoredItems.Add(Text);
      StoredItems.SaveToFile(HistoryName);
   end;

end;

procedure TComboBox.ComboCloseUp(Sender: TObject);
begin

   If (AuxText <> EmptyStr) and (UpDown = False) then
   begin
      Text := AuxText;
   end;

   UpDown := False;

end;

procedure TComboBox.ComboKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
   if (Key = VK_UP) or (Key = VK_DOWN) then
      UpDown := True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

   if ComboBox1.Text <> EmptyStr then
      ShowMessage(ComboBox1.Text);

   if ComboBox2.Text <> EmptyStr then
      ShowMessage(ComboBox2.Text);

   if ComboBox3.Text <> EmptyStr then
      ShowMessage(ComboBox3.Text);

   if ComboBox4.Text <> EmptyStr then
      ShowMessage(ComboBox4.Text);

   if ComboBox5.Text <> EmptyStr then
      ShowMessage(ComboBox5.Text);

end;

procedure TForm1.FormCreate(Sender: TObject);
begin

   ComboBox1.LoadHistory('History_1.txt');

   ComboBox2.LoadHistory('History_2.txt');

   ComboBox3.LoadHistory('History_3.txt');

   ComboBox4.LoadHistory; // History.txt es el archivo Histórico por defecto.

   // ComboBox5 no usa el método LoadHistory y por lo tanto se comporta como un ComboBox Estándar

end;

end.
El código anterior es la Versión 3 del código sugerido en el Msg #15 que permite: Simular de forma básica la función SHAutoComplete en un componente TComboBox modificado.

Notas:

1- El método LoadHistory permite definir el archivo histórico asociado al ComboBox Modificado.

2- Si se llama el método LoadHistory sin parámetros, se cargara el archivo Histórico por Defecto 'History.txt'.

3- Si se omite el método LoadHistory, el ComboBox Modificado funcionara como un ComboBox estándar.

4- Se elimino la propiedad History, la cual fue sustituida por el parámetro FileHistory del método LoadHistory.

El ejemplo esta disponible en el link: http://terawiki.clubdelphi.com/Delph...omboBox+V3.rar

Espero sea útil

Nelson.
Responder Con Cita
  #6  
Antiguo 13-09-2013
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Lo que propuso Nelson está realmente bueno.
Haciendo un poco de futurología...

¿No perderá rendimiento cuando el listado se haga medio grande? Para eso había pensado ponerle un botón de "eliminar historial" y volver a empezar...
Si el historial es grande, hay dos momentos que yo veo que pueden ser conflictivos:
1) Cuando se carga el historial, por cada combo, al principio.
2) Cuando se agrega un elemento nuevo al combo. Esto es en realidad sobrescribir el archivo de texto anterior con uno nuevo, que tiene una línea mas.

Por otro lado, sería bueno tener un historial por cada combo ¿sería bueno realmente? y que el archivo de texto se cree automáticamente sin que el usuario lo defina. Cuando el usuario defina explícitamente un archivo de historial, el creado por defecto desaparezca.

Si no es razonable tener un historial por cada combo, la propuesta aquí expuesta es la mas indicada, ya que si no se define un archivo de texto, el combo actúa de manera natural.

Santiago.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #7  
Antiguo 14-09-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
santiago14,

Cita:
Empezado por santiago14
...si no se define un archivo de texto, el combo actúa de manera natural...
Recuerda que en las versiones anteriores (v1, v2 y v3) siempre existió el archivo histórico por defecto 'History.txt', pero si no se llama el método LoadHistory (v2 y v3) el ComboBox Modificado funcionara como un ComboBox estándar.

Cita:
Empezado por santiago14
...¿No perderá rendimiento cuando el listado se haga medio grande?...

...sería bueno tener un historial por cada combo...y que el archivo de texto se cree automáticamente...
Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, StrUtils, ExtCtrls;

type
  TComboBox = class(StdCtrls.TComboBox)
  private
    CtrlLoad : Boolean;
    UnFlicker : Boolean;
    UpDown : Boolean;
    AuxText : String;
    HistoryName : String;
    StoredItems : TStringList;
    CountItems : Byte;
    procedure FilterItems;
    procedure StoredItemsChange(Sender: TObject);
    procedure LoadHistory(FileHistory : String = ''; CountHistory : Byte = 10);
    procedure ComboExit(Sender: TObject);
    procedure ComboCloseUp(Sender: TObject);
    procedure ComboKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure CNCommand(var Message: TWMCommand); Message CN_COMMAND;
  protected
  public
    constructor Create(Owner: TComponent); override;
    destructor Destroy; override;
  end;

type
  TForm1 = class(TForm)
    ComboBox1 : TComboBox;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    ComboBox4: TComboBox;
    Button1 : TButton;
    ComboBox5: TComboBox;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

constructor TComboBox.Create(Owner: TComponent);
begin

   inherited;

   AutoComplete := False;
   StoredItems := TStringList.Create;
   StoredItems.OnChange := StoredItemsChange;
   Self.OnExit := ComboExit;
   Self.OnCloseUp := ComboCloseUp;
   Self.OnKeyDown := ComboKeyDown;
   UnFlicker := False;
   CtrlLoad := False;

end;

destructor TComboBox.Destroy;
begin
   StoredItems.Free;
   inherited;
end;

procedure TComboBox.LoadHistory(FileHistory : String = ''; CountHistory : Byte = 10);
begin

   CtrlLoad := True;

   Self.DropDownCount := CountHistory;
   CountItems := CountHistory;

   if FileHistory = EmptyStr then
      HistoryName := 'History_' + Self.Name + '.txt'
   else
      HistoryName := FileHistory;

   if FileExists(HistoryName) then
      Self.StoredItems.LoadFromFile(HistoryName);

end;

procedure TComboBox.CNCommand(var Message: TWMCommand);
begin

   inherited;

   if Message.NotifyCode = CBN_EDITUPDATE then
      FilterItems;

end;

procedure TComboBox.FilterItems;
var
   i : Integer;
   StartPos, EndPos : Integer;

begin

   SendMessage(Handle, CB_GETEDITSEL, WPARAM(@StartPos), LPARAM(@EndPos));

   AuxText := Text;

   if Text <> EmptyStr then
   begin

      Items.Clear;

      for i := 0 to StoredItems.Count - 1 do
      begin
         if PosEx(LowerCase(Text), LowerCase(StoredItems[i])) > 0 then
            Items.Add(StoredItems[i]);
      end;

   end
   else
      Items.Assign(StoredItems);

   if UnFlicker then
      SendMessage(Handle, CB_SHOWDROPDOWN, Integer(True), 0);

   Text := AuxText;

   SendMessage(Handle, CB_SETEDITSEL, 0, MakeLParam(StartPos, EndPos));

   UnFlicker := True;

end;

procedure TComboBox.StoredItemsChange(Sender: TObject);
begin

   if Assigned(StoredItems) then
      FilterItems;

end;

procedure TComboBox.ComboExit(Sender: TObject);
var
   i : Integer;

begin

   if (Items.IndexOf(Text) = -1) and (Text <> EmptyStr) and CtrlLoad then
   begin
      StoredItems.Insert(0,Text);
      for i := StoredItems.Count - 1 downto CountItems do
         StoredItems.Delete(i);
      StoredItems.SaveToFile(HistoryName);
      Self.ItemIndex := 0;
   end;

end;

procedure TComboBox.ComboCloseUp(Sender: TObject);
begin

   If (AuxText <> EmptyStr) and (UpDown = False) then
   begin
      Text := AuxText;
   end;

   UpDown := False;

end;

procedure TComboBox.ComboKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
   if (Key = VK_UP) or (Key = VK_DOWN) then
      UpDown := True;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
   i : Integer;

begin

   for i := 0 to ComponentCount - 1 do
   begin
      if Components[i] is TComboBox then
      begin
         if TComboBox(Components[i]).Text <> EmptyStr then
            ShowMessage(TComboBox(Components[i]).Text);
      end;
   end;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin

   // Archivo Histórico definido por el usuario y por defecto 10 items por archivo
   ComboBox1.LoadHistory('History_1.txt');

   // Archivo Histórico definido por el usuario y 12 items por archivo
   ComboBox2.LoadHistory('History_2.txt',12);

   // Archivo Histórico definido por defecto ('History_' + Self.Name + '.txt') y 10 items por archivo
   ComboBox3.LoadHistory;

   // Archivo Histórico definido por defecto ('History_' + Self.Name + '.txt') y 5 items por archivo
   ComboBox4.LoadHistory('',5);

   // ComboBox5 no usa el método LoadHistory y por lo tanto se comporta como un Combobox Estándar

end;

end.
El código anterior es la Versión 4 del código sugerido en el Msg #16 que permite: Simular de forma básica la función SHAutoComplete en un componente TComboBox modificado.

Notas:

1- El método LoadHistory permite definir el Archivo Histórico y su Cantidad Máxima de Items, asociado al ComboBox Modificado.

2- Si se llama el método LoadHistory sin parámetros, se creara por defecto el archivo 'History_' + Self.Name + '.txt' con un límite máximo de 10 items.

3- Los Items ahora son Insertados al principio de la lista en lugar de Adicionados al final de esta, por lo tanto esta será de reiniciación cíclica en función del número máximo de items por archivo definidos explicita o implícitamente en el método LoadHistory.

4- El número máximo de Items por archivo histórico es 255.

5- Si se omite el método LoadHistory, el ComboBox Modificado funcionara como un ComboBox estándar.

El ejemplo esta disponible en el link: http://terawiki.clubdelphi.com/Delph...omboBox+V4.rar

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 14-09-2013 a las 02:28:54.
Responder Con Cita
Respuesta



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
Autocompletar Raistlin Varios 1 29-01-2007 12:05:35
Autocompletar un TEdit (solución, no consulta) Walterdf Varios 4 05-10-2005 20:23:35
Pasar el valor de un TEdit dentro de un StringGrid a otro TEdit que está fuera atirado Varios 4 11-09-2004 19:13:48
Ayuda. Autocompletar TEdit Fonso_esp Varios 2 23-04-2004 15:31:05
Edit con autocompletar Rox77 Varios 1 21-05-2003 10:36:05


La franja horaria es GMT +2. Ahora son las 01:40:35.


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