Ver Mensaje Individual
  #15  
Antiguo 05-09-2008
Abuelo7 Abuelo7 is offline
Miembro
 
Registrado: ene 2006
Ubicación: Igualada(Barcelona) Spain
Posts: 51
Reputación: 21
Abuelo7 Va por buen camino
Hola amigos y amigas.

Respecto al tema que me está preocupando tengo lo siguiente:
unit PruebaBuena4;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, DBTables;

type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
DataSource1: TDataSource;
Table1: TTable;
EditPregunta: TEdit;
procedure Button1Click(Sender: TObject);
procedure EditPreguntaKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.EditPreguntaKeyPress(Sender: TObject; var Key: Char);

var

respuesta : Integer;
RespuestaCAD : String;
begin
If key=#13 then


begin
Table1.Open;
If Table1.Locate('pregunta',EditPregunta.Text, [loCaseInsensitive]) then
Randomize;
respuesta := Random(5);
Case respuesta of
1: RespuestaCAD := Table1.fieldByName('respuesta1').AsString;
2: RespuestaCAD := Table1.fieldByName('respuesta2').AsString;
3: RespuestaCAD := Table1.fieldByName('respuesta3').AsString;
4: RespuestaCAD := Table1.fieldByName('respuesta4').AsString;
5: RespuestaCAD := Table1.fieldByName('respuesta5').AsString;
end;
Table1.Close;
begin



ListBox1.Items.Add(EditPregunta.Text);
ListBox1.Items.Add(RespuestaCAD);

EditPregunta.Text :='';



end;
end;
end;
end.

Me aparece un problema y es que al introducir una frase o palabra, por ejemplo 'hola' a veces me contesta bien con una de las 5 respuestas posibles, pero a veces falla y no contesta nada.
Lo tengo programado para que en el ListBox aparezca la frase del usuario y la respuesta, con lo cual cuando falla, solo aparece la frase del usuario y una línea en blanco.
Podeís decirme que estoy haciendo mal.?

Gracias.

Manuel Reixach
Responder Con Cita