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 18-04-2010
Yamato_No_oroch Yamato_No_oroch is offline
Registrado
 
Registrado: abr 2010
Posts: 8
Poder: 0
Yamato_No_oroch Va por buen camino
Exclamation ayuda con fuctions

hola de nueva cuenta aqui molestando como siempre espero no molestarlos y esta es mi duda
en un codigo fuente que realize para generar una curp y un registro de credencial de lector me incomodo una cosa este es mi codigo:
Código Delphi [-]
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, ComCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    EDIT4: TMaskEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit7: TEdit;
    Label7: TLabel;
    ESTADOS: TComboBoxEx;
    procedure Button1Click(Sender: TObject);
    procedure ComboBoxEx1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
function curp(apepat,apemat,nomb,fechanac,sexo,edo:string):string;
var ret:string;
begin
  ret:=apepat[1]+apepat[2]+apemat[1]+nomb[1]+fechanac[9]+fechanac[10]
  +fechanac[4]+fechanac[5]+fechanac[1]+fechanac[2]+sexo[1]+edo[1]+edo[6];
  curp:=ret;
end;
function generaletra:char;
var pos:integer;
begin
  randomize;
  pos:=random(7)+1;
  case (pos) of
  1:generaletra:='A';
  2:generaletra:='B';
  3:generaletra:='C';
  4:generaletra:='D';
  5:generaletra:='E';
  6:generaletra:='F';
  7:generaletra:='G';
  end;
end;
function generanumero:char;
var pos:integer;
begin
  randomize;
  pos:=random(7)+1;
  case (pos) of
  1:generanumero:='0';
  2:generanumero:='1';
  3:generanumero:='2';
  4:generanumero:='3';
  5:generanumero:='4';
  6:generanumero:='5';
  7:generanumero:='6';
  end;
end;
 function elec(apepat,apemat,nomb,fechanac,edo,sexo:string):string;
 var ret:string;
 begin
 ret:=apepat[1]+apepat[3]+apemat[1]+apemat[3]+nomb[1]+nomb[3]+fechanac[9]+fechanac[10]
  +fechanac[4]+fechanac[5]+fechanac[1]+fechanac[2]+edo[10]+edo[11]+sexo[1];
  elec:=ret;
 end;
 
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
  edit6.Text:=curp(edit1.Text,edit2.Text,edit3.Text,edit4.Text,edit7.Text,ESTADOS.text)+(generaletra+g  eneraletra+generaletra)+(generanumero+generanumero);
  edit5.Text:=elec(edit1.Text,edit2.Text,edit3.Text,edit4.Text,ESTADOS.text,edit7.text)+(generanumero+  generanumero)+(generanumero);
end;
procedure TForm1.ComboBoxEx1Change(Sender: TObject);
begin
ESTADOS.items.Add('DURANGO  10  ');
ESTADOS.items.Add('COAHUILA 07  ');
ESTADOS.items.Add('CHIAPAS  05  ');
ESTADOS.items.Add('COLIMA   06  ');
end;
 
end.

la duda es esta en la marca verde donde esta el maskedit nomas lo cambia asi pero si intento correrlo no me deja porq necesito cambiar algo y nc q es y en la de color rojiso mi comando es un combobox e igual no me adiere los datos q le pido asi q si alguien pudiera ayudarme con este pequeño problema seria de mucha ayuda solo diganme si puedo cambiarlo para q me genere lo q quiero y si asi es donde podria ser
gracias a todos por su ayuda

Última edición por marcoszorrilla fecha: 18-04-2010 a las 10:09:48.
Responder Con Cita
  #2  
Antiguo 18-04-2010
Avatar de casacham
casacham casacham is offline
Miembro
 
Registrado: abr 2006
Ubicación: Cordoba->Argentina. Arboleas->Almeria->España
Posts: 184
Poder: 19
casacham Va por buen camino
Mal expresado

No entendi mucho de lo que escribiste, deberias revisar la guia de estilo y reformular el hilo editandolo
__________________
La vida no trata de encontrarse a uno mismo, sino de crearse a uno mismo.
Tanto si piensas que puedes como si no, estarás en lo cierto
Responder Con Cita
  #3  
Antiguo 18-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
El Edit4 es el MaskEdit, no entiendo la razon, tal vez por acomodar los nombres.
No tiene razon de no funcionar, esta incluido en el evento onclick del boton.
ESTADOS es un combobox que no aparece en ningun lado conteniendo los datos, tal vez esten el su text.
Tienes dos combobox, comobobox1 y ESTADOS.
El plateamiento del codigo es muy extraño.
Saludos
PD: Da la impresion por la pregunta que el codigo no es tuyo y estas tratando de entenderlo, bueno, si es asi, ya somo dos.
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 18-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Tratemos de analizar este codigo:
DEJO CLARO QUE DE FUNCIONES NO SE NADA.
Empecemos por esta funcion:
Código Delphi [-]
function curp(apepat,apemat,nomb,fechanac,sexo,edo:string):string;
var ret:string;
begin
  ret:=apepat[1]+apepat[2]+apemat[1]+nomb[1]+fechanac[9]+fechanac[10]
  +fechanac[4]+fechanac[5]+fechanac[1]+fechanac[2]+sexo[1]+edo[1]+edo[6];
  curp:=ret;
end;
Para mi hay algo mal, la funcion es string y los datos que muestra NO ya que la variable REC tambien es String.
CREO que deberia de ser asi:
Código Delphi [-]
function curp(apepat,apemat,nomb,fechanac,sexo,edo:string):string;
var ret:string;
begin
  ret:=apepat['1']+apepat['2']+apemat['1']+nomb['1']+fechanac['9']+fechanac['10']
  +fechanac['4']+fechanac['5']+fechanac['1']+fechanac['2']+sexo['1']+edo['1']+edo['6'];
  curp:=ret;
end;
.
Si embargo sigo sin entenderla.
La segunda y tercera funciones entregan un valor CHAR, sin embargo en la concatenacion del boton esta como string.
Para mi podria hacerse asi:
Código Delphi [-]
function generaletra:String;
var pos:integer;
begin
  randomize;
  pos:=random(7)+1;
  case (pos) of
  1:generaletra:='A';
  2:generaletra:='B';
  3:generaletra:='C';
  4:generaletra:='D';
  5:generaletra:='E';
  6:generaletra:='F';
  7:generaletra:='G';
  end;
end;
function generanumero:String;
var pos:integer;
begin
  randomize;
  pos:=random(7)+1;
  case (pos) of
  1:generanumero:='0';
  2:generanumero:='1';
  3:generanumero:='2';
  4:generanumero:='3';
  5:generanumero:='4';
  6:generanumero:='5';
  7:generanumero:='6';
  end;
end;
El rango lo hace con una variable independiente asi que no afectaria, creo.
En la concatenacion pasa lo mismo, es un string.
La siguiente funcion pasa lo mismo que en la primera, para mi.
El evento del boton hace una concatenacion de todo, seria bueno saber si ESTADOS contiene algo o si existe ese combobox.
En el ultimo, hace que al combobox estados se le adhieran otros datos.

Eso es lo que entiendo de este codigo.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 19-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pues no se que te extraña, para mi es la verdad, no se de funciones ni de muchas cosas, ademas por supuesto que no soy programador, eso esta clarisimo.
Solo doy mi opinión en base a lo poco que capto de las cosas.
Cuando uno programa para si mismo ve y hace las cosas a su manera, es muy dificil, por lo menos para mi, entender codigos con funciones, por eso lo digo.
No te extrañes, sigo y seguire siendo novato, me alegra que dieras una explicacion mas logica a Yamato_No_oroch le va a servir.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 20-04-2010
Yamato_No_oroch Yamato_No_oroch is offline
Registrado
 
Registrado: abr 2010
Posts: 8
Poder: 0
Yamato_No_oroch Va por buen camino
Smile gracias a todos

Cita:
Empezado por Caral Ver Mensaje
Hola
Pues no se que te extraña, para mi es la verdad, no se de funciones ni de muchas cosas, ademas por supuesto que no soy programador, eso esta clarisimo.
Solo doy mi opinión en base a lo poco que capto de las cosas.
Cuando uno programa para si mismo ve y hace las cosas a su manera, es muy dificil, por lo menos para mi, entender codigos con funciones, por eso lo digo.
No te extrañes, sigo y seguire siendo novato, me alegra que dieras una explicacion mas logica a Yamato_No_oroch le va a servir.
Saludos

gracias a todos or el apoyo en verdad si me sirvio bastante la ayuda
Responder Con Cita
  #7  
Antiguo 20-04-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 18
mcs Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Código Delphi [-]

function generaletra:String;
var pos:integer;
begin
randomize;
pos:=random(7)+1;
case (pos) of
1:generaletra:='A';
2:generaletra:='B';
3:generaletra:='C';
4:generaletra:='D';
5:generaletra:='E';
6:generaletra:='F';
7:generaletra:='G';
end;
end;
function generanumero:String;
var pos:integer;
begin
randomize;
pos:=random(7)+1;
case (pos) of
1:generanumero:='0';
2:generanumero:='1';
3:generanumero:='2';
4:generanumero:='3';
5:generanumero:='4';
6:generanumero:='5';
7:generanumero:='6';
end;
end;


Estas funciones se pueden simplificar mucho. En mi opinión, quedarían mejor así:

Código Delphi [-]
 
function generaletra:String;
var pos:integer;
begin
  randomize;
  pos:=random(7);
  generaletra=Chr(pos+65);
end;
 
function generanumero:String;
var pos:integer;
begin
  randomize;
  pos:=random(7);
  generanumero=Chr(pos+48);
end;

La explicación es muy simple: primero generamos el valor aleatorio, y luego le sumamos 65 (valor ASCII de 'A') o 48 (valor ASCII de '0'). Obtenemos un codigo ASCII, y con la función Chr() lo convertimos a un carácter.

Saludos,

Marc
Responder Con Cita
  #8  
Antiguo 20-04-2010
Yamato_No_oroch Yamato_No_oroch is offline
Registrado
 
Registrado: abr 2010
Posts: 8
Poder: 0
Yamato_No_oroch Va por buen camino
Thumbs up grcias a todos

Cita:
Empezado por Caral Ver Mensaje
Hola
El Edit4 es el MaskEdit, no entiendo la razon, tal vez por acomodar los nombres.
No tiene razon de no funcionar, esta incluido en el evento onclick del boton.
ESTADOS es un combobox que no aparece en ningun lado conteniendo los datos, tal vez esten el su text.
Tienes dos combobox, comobobox1 y ESTADOS.
El plateamiento del codigo es muy extraño.
Saludos
PD: Da la impresion por la pregunta que el codigo no es tuyo y estas tratando de entenderlo, bueno, si es asi, ya somo dos.





bueno el codigo si lo escribì yo el MaskEdit lo puse para modificarlo y que me apareciera una fecha algo asi (__/__/____); algo que me pide la curp y el de estados es un ComboBoxex, bien ubiera puesto un ComboBox pero mi tutor me recomendo este button el chsite esque pude darme opciones de los estados que tengan un codigo que me de el numero del distrito y me genere una curp y hasta la clave del IFE por ejemplo yo vivo en Durango y asi clave es "10" y bien pudiera averlo hecho con un botton y varios "if" lastima mi tema de unidad son "function" y "arrays", y gracias mi duda yamas o menos queda un poko clara nueva cuenta gracias a todos y se me olvida un detalle cuando mencionast lo de los strngs en este codigo
function elec(apepat,apemat,nomb,fechanac,edo,sexo:string):string;
no es que me genere una letra si no posicion en la q estan las letras por ejemplo;

ret:=apepat[1]+apepat[3]+apemat[1]+apemat[3]+nomb[1]+nomb[3]+fechanac[9]+fechanac[10]
+fechanac[4]+fechanac[5]+fechanac[1]+fechanac[2]+edo[10]+edo[11]+sexo[1];
elec:=ret;

asi si me mi nombre fuera francisco javer santos sepulver (nombre de un amigo jaja)
en apepat[1]+apepat[3]= de francisco = F y A son las que me tendra que desplegar
lo mismo en lo demas, ni siquierayo se las funciones muy bien pero por lo q veo es mas facil no crees.

saludos XD

Última edición por Yamato_No_oroch fecha: 20-04-2010 a las 17:46:25.
Responder Con Cita
  #9  
Antiguo 20-04-2010
Yamato_No_oroch Yamato_No_oroch is offline
Registrado
 
Registrado: abr 2010
Posts: 8
Poder: 0
Yamato_No_oroch Va por buen camino
Smile gracias

Cita:
Empezado por casacham Ver Mensaje
No entendi mucho de lo que escribiste, deberias revisar la guia de estilo y reformular el hilo editandolo


lo estoy haciendo gracias
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
fuctions ayuda!!! Yamato_No_oroch Debates 2 12-04-2010 05:57:01
Instalar Ayuda (.HLP) en la Ayuda de Delphi? MasterXP Varios 6 12-04-2006 06:57:49
Ayuda para crear ayuda... Gabriel2 Varios 2 10-06-2005 00:15:18
ayuda con strtofloat, ayuda punto flotante TURING Varios 5 30-04-2004 08:03:59
Ayuda Con Instalacion De Archivos De Ayuda Legolas Varios 1 01-12-2003 14:48:03


La franja horaria es GMT +2. Ahora son las 15:53:44.


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