![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
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 |
|
#2
|
||||
|
||||
|
existe un begin mal puesto...a parte el ramdom de 5 puede darte valor 0 y no lo tienes contemplado...mejor ponerlo a 4
... el procedure quedaría asi.
|
|
#3
|
|||
|
|||
|
Hola Tony.
Gracias por tu ayuda. De todas formas, he modificado el procedure como tú me indicas y sigue pasando lo mismo, hay alguna frase que no me la contesta. Supongo que debe haber algo más que esta mal. Saludos Manuel |
|
#4
|
||||
|
||||
|
que raro, lo veo un poco imposible si haces un random de 4 solo puede salir 0,1,2,3,4 con lo que tienes acotada las posibilidades y RespuestaCAD siempre se rellena.... como no sea que en la tabla tengas alguna de las 5 respuestas vacia a alguna pregunta
..... |
|
#5
|
|||
|
|||
|
Hola otra vez Tony.
Parece ser que he encontrado el fallo. En la tabla he tenido que renombrar los campos de respuesta, que estaban de respuesta1 a respuesta5, y poner de respuesta0 a respuesta4. Y en el case, que estaba todo de 1 a 5, poner de 0 a 4. Ahora lo he probado varias veces y no ha fallado ninguna. Saludos. Manuel |
|
#6
|
||||
|
||||
|
Cita:
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
|
#7
|
|||
|
|||
|
Hola Caro
Me pasa una cosa muy curiosa. Ahora el programa siempre contesta a la frase de entrada y varía la respuesta, pero la respuesta4, que en realidad es la 5 no aparece nunca en ninguna de las 4 frases de entrada que tengo de prueba. Lo que me comentabas de RandomRange(1,5), el Delphi5 que estoy utilizando no me lo acepta. Gracias Saludos amiga. Manuel |
|
#8
|
|||
|
|||
|
Hola, quisera pedir una ayuda, pues tengo un problema:
Tengo 3 combobox, un stringgrid y un boton. Lo que quiero hacer es que el usuario seleccione un estado, una sucursal y una zona, y que al momento de presionar sobre el boton me muestre los datos que seleccione para despues mandarlos a imprimir. Espero me haya dado a entender y me tiendan su ayuda. |
|
#9
|
|||
|
|||
|
Hola Caro, gracias por tu tip, ya pude lograr lo del combobox, ahora mi duda es la siguiente, quiero que al momento de hacer doble clic me genere una consulta que me valide que lo que estoy haciendo clic sea igual a otro campo y me la muestre en otro DBgrid. Como le hago?Este es mi codigo de prueba:se que lo tengo que hacer en el evento dblclic, pero me manda un error con la sintaxis.
|
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| consulta a un query en vez de a una tabla | eldiegofg | SQL | 10 | 19-09-2007 12:46:39 |
| Consulta Estado de una Tabla SQL | Alejandro73 | SQL | 2 | 24-06-2007 00:03:00 |
| Crear tabla en una BD en Server A desde consulta en tabla B en server B | joaquinalberto | MySQL | 1 | 18-05-2007 10:39:27 |
| Grabar Consulta en Tabla | don malo | Varios | 1 | 12-03-2007 23:45:59 |
| Actualizar una tabla con una consulta de otra tabla | JODELSA | SQL | 2 | 14-09-2006 04:07:01 |
|