Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 02-12-2012
lobosito lobosito is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 13
Poder: 0
lobosito Va por buen camino
Gracias a la ayuda, este es el código de mi Form1, en el Form2 está todo lo referente a cargar palabras a la BD, y en el Form3 todo lo referente al programa donde pongo el agradecimiento al foro y a Casimiro Notevi muchas gracias...

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ExtCtrls, StdCtrls, Mask, Buttons, DB, DBTables;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    A1: TMenuItem;
    Salir1: TMenuItem;
    NuevoJuego1: TMenuItem;
    Editarpalabras1: TMenuItem;
    Acercade1: TMenuItem;
    Panel1: TPanel;
    Image1: TImage;
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    DataSource1: TDataSource;
    Query1: TQuery;
    Edit3: TEdit;
    procedure Edit1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Salir1Click(Sender: TObject);
    procedure Editarpalabras1Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Acercade1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  a:string;
  remp,aux,error:Integer;

implementation

uses Unit2, Unit3;

{$R *.dfm}

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  ter,car,enc:String;
  i,cont,intentos:Integer;
begin
  // Iniciación de remp
  remp:=0;
  // Pasar los caracteres ingresados al edit correspondiente
  Edit2.Text:=Edit2.Text+Edit1.Text;
  car:=Edit1.Text;
  Edit1.Text:='';
  // Asignacion de valores
  enc:=Edit3.Text;
  ter:=Edit2.Text;
  // Cambiar el caractér ingresado en el encriptado
  cont:=length(enc);
  for i:=1 to cont do
  begin
    if car[1]=a[i] then
    begin
      enc[i]:=car[1];
      remp:=remp+1
    end;
  end;
  Edit3.Text:=enc;
  if remp=0 then
  begin
    error:=error+1;
    //Ingresar el dibujo según error
    Image1.Picture.LoadFromFile('c:\ahorcado\pic\ahor'+IntToStr(error)+'.bmp');
  end;
  if error=6 then
  begin
    EditarPalabras1.Enabled:=True;
    SpeedButton2.Enabled:=True;
    Edit1.Enabled:=False;
    Application.MessageBox('Perdiste...que pena','Partida Perdida');
    Edit3.Text:=a;
  end;
  intentos:=length(Edit2.Text);
  if a=enc then
  begin
    EditarPalabras1.Enabled:=True;
    SpeedButton2.Enabled:=True;
    Edit1.Enabled:=False;
    Application.MessageBox('¡¡Ganaste!! Felicitaciones','Partida Ganada');
  end;
end;

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

procedure TForm1.Editarpalabras1Click(Sender: TObject);
begin
  Form2.Showmodal;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  enc: string;
  i,car,pos,long: integer;
begin
  // Inicializar variables
  aux:=0;
  error:=0;
  remp:=0;
  // Encontrar el número de registros de la tabla
  Query1.SQL.Clear;
  Query1.SQL.Add('SELECT COUNT(*)');
  Query1.SQL.Add('FROM palabras.db');
  Query1.Active:=True;
  pos:=Query1.Fields[0].AsInteger;
  Query1.Active:=False;
  // Encontrar un término de manera aleatoria
  Randomize;
  car:=1+random(pos);
  car:=round(car);
  // Desactivar el botón de edición, habilitar los campos edit y dejarlos en blanco
  Edit2.Text:='';
  Edit3.Text:='';
  EditarPalabras1.Enabled:=False;
  SpeedButton2.Enabled:=False;
  Edit1.Enabled:=True;
  // Ingresar el 1º dibujo
  Image1.Picture.LoadFromFile('c:\ahorcado\pic\ahor0.bmp');
  // Seleccionar el termino para adivinar y asignarlo a "a"
  Query1.SQL.Clear;
  Query1.SQL.Add('SELECT termino');
  Query1.SQL.Add('FROM palabras.db');
  Query1.SQL.Add('Where cod='+inttostr(car));
  Query1.Active:=True;
  a:=Query1.FieldValues['termino'];
  Query1.Active:=False;
  // Colocar el término seleccionado en el edit3 pero encriptado
  long:=Length(a);
  for i:=1 to long do
  begin
    enc:=enc+'-';
  end;
  Edit3.Text:=enc;
end;

procedure TForm1.Acercade1Click(Sender: TObject);
begin
  Form3.ShowModal;
end;

end.
Imágenes Adjuntas
Tipo de Archivo: jpg foro.JPG (37,6 KB, 12 visitas)
Responder Con Cita
 



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
Como seleccionar campos de una tabla sin saber cuantos van a seleccionar david duarte SQL 7 05-04-2010 21:15:43
Seleccionar 2 campos en 1 en Query mrdileyby Conexión con bases de datos 6 13-04-2007 22:41:39
No seleccionar un registro en un dbgrid m8estrella83 Varios 2 13-09-2006 01:22:37
Seleccionar registros en una tabla, envio, e insercion en otra tabla!! EfrainSanmiguel Conexión con bases de datos 3 21-10-2004 01:12:43
Borrar e Insertar un registro de una tabla con Query Draco Conexión con bases de datos 4 06-05-2004 17:27:37


La franja horaria es GMT +2. Ahora son las 06:41:01.


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