Ver Mensaje Individual
  #13  
Antiguo 29-09-2013
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Reputación: 13
DOS Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola DOS.

La verdad, me falta información para poder darte una respuesta a tu anteúltimo mensaje. Asì que te hago unas consultas:
  • ¿ cbHoras y cbMinutos son dos TComboBox donde se elijen horas y minutos respectivamente ?
  • ¿ Que función desempeñan ComboBox3 y ComboBox2 ?
  • ¿ De que tipo es el campo Hora de Table1 ?

Saludos
En realidad cbHoras y cbMinutos son dos variables que se le asignan los datos de los combobox seleccionados.
En el ComboBox3 se muestran las horas de 8 a 18 y en el ComboBox2 los minutos de a 10 (10, 20, 30, 40, 50, 00)
el campo Hora es del tipo datatime.
Lo que pasa es que fui modificando a medida que me aconsejabas y tal vez borre algo o hice algo de mas o menos asi que tambien pongo el codigo, lo cambie tantas veces tratando de que funcione que ya me perdi.

variables generales:
Código Delphi [-]
var
  Form20: TForm20;
  c,h1,m1,s:integer;
 h,m:string;
 tiempo : TDateTime;
 cbHoras, cbMinutos: TComboBox;

Funcion
Código Delphi [-]
function hmToDateTime(cbH, cbM: TComboBox): TDateTime;
begin
  if (cbH.ItemIndex = -1)or(cbM.ItemIndex = -1) then
    raise Exception.Create('Debe ingresar horas y minutos');
  Result := EncodeTime(StrToInt(cbH.Items[cbH.ItemIndex]),
    StrToInt(cbM.Items[cbM.ItemIndex]), 0, 0);
end;

boton de nuevo:
Código Delphi [-]
 // nuevo turno
procedure TForm20.BitBtn6Click(Sender: TObject);
begin
DBEdit4.SetFocus;
Table1.Open;
  Table1.Last;
    c:=Table1.FieldByName('Cod_turnovet').Asinteger;
    c:=c+1;
    Table1.insert;
    table1.edit;
    BitBtn6.Enabled:=False;
    BitBtn3.Enabled:=false;
    BitBtn2.Enabled:=true;
    BitBtn4.Enabled:=true;
    DBEdit2.Visible:=false;
    DBEdit3.Visible:=false;
    DateTimePicker1.Visible:=true;
end;

boton de guardar nuevo:
Código Delphi [-]
  // guarda turno
procedure TForm20.BitBtn4Click(Sender: TObject);
begin
table1.Last;
cbHoras := ComboBox3;// como esta funcionando ahora
cbMinutos := ComboBox2;
//cbHoras.Items.Assign(comboBox2.Items);
//cbMinutos.Items.Assign(ComboBox3.Items);
 DBEdit4.SetFocus;
  // Table1.Append;
 // table1.FieldByName('Cod_turnovet').AsInteger:=c;
 if table2.FieldByName('Cod_prop').AsInteger=Table3.FieldByName('Cod_prop').AsInteger
  then
  Table1.Append;
  table1.FieldByName('Cod_turnovet').AsInteger:=c;
  Table1.FieldByName('Hora').Value := hmToDateTime(cbHoras, cbMinutos);
  table1.FieldByName('Cod_propi').AsInteger:=Table3.FieldByName('Cod_prop').AsInteger;
  table1.Post;
  BitBtn5.Enabled:=True;
  BitBtn6.Enabled:=True;
  BitBtn4.Enabled:=false;
  BitBtn3.Enabled:=True;
  DateTimePicker1.Visible:=false;
DBEdit2.Visible:=true;
DBEdit3.Visible:=true;
end;

Espero que te aclare un poco mas y puedas ver que esta mal, muchas gracias.
Responder Con Cita