Hora turno tabela
Fiz assim, mas StrToTimer não esta funcionando, alguem pode
me dizer onde esta errado?
Grato
juarezber@terra.com.br
procedure TForm1.Button1Click(Sender: TObject);
Var
Hora, Turno: String;
begin
Hora:= Table1.FieldByName(´Hora´).AsString;
if (hora >= StrToTimer(6:00) and (hora < StrToTimer(14:00)) then
Turno:= ´1´;
if (hora >= StrToTimer(14:00) and (hora < StrToTimer(22:00)) then
Turno:= ´2´;
if (hora >= StrToTimer(22:00) and (hora < StrToTimer(06:00)) then
Turno:= ´3´;
end;
me dizer onde esta errado?
Grato
juarezber@terra.com.br
procedure TForm1.Button1Click(Sender: TObject);
Var
Hora, Turno: String;
begin
Hora:= Table1.FieldByName(´Hora´).AsString;
if (hora >= StrToTimer(6:00) and (hora < StrToTimer(14:00)) then
Turno:= ´1´;
if (hora >= StrToTimer(14:00) and (hora < StrToTimer(22:00)) then
Turno:= ´2´;
if (hora >= StrToTimer(22:00) and (hora < StrToTimer(06:00)) then
Turno:= ´3´;
end;
Juarezber
Curtidas 0
Respostas
Edilcimar
20/04/2005
não é strtotimer e sim strtotime
GOSTEI 0
Juarezber
20/04/2005
Mil desculpas, era pra ter respondido o topico que eu mesmo criei.
Mas agora ja foi. Se alguem quiser responder da StrToTimer(6:00)?
Grato
juarezber@terra.com.br
Mas agora ja foi. Se alguem quiser responder da StrToTimer(6:00)?
Grato
juarezber@terra.com.br
GOSTEI 0
Rjun
20/04/2005
Essa condição nunca vai ser verdadeira :
use
if (hora >= StrToTimer(22:00) and (hora < StrToTimer(06:00)) then
Turno:= ´3´;
use
if (hora >= StrToTime(´22:00:00´) ) or (hora >= StrToTime(´00:00:00´) and hora <= StrToTime(´06:00:00´)) then Turno := ´3´;
GOSTEI 0
Juarezber
20/04/2005
Fiz como Rjun, deu erro :
[Error] Unit1.pas(37): Incompatible types: ´String´ and ´TDateTime´
[Error] Unit1.pas(37): Incompatible types: ´String´ and ´TDateTime´
GOSTEI 0
Rjun
20/04/2005
Desculpa. Nao tinha reparado que a hora era string. Converta a hora para Datetime usando strtotime tambem.
Em vez de declarar a variavel Hora como string, declare como TDateTime.
Na atribuição, faça o seguinte :
Em vez de declarar a variavel Hora como string, declare como TDateTime.
var Hora: TDateTime;
Na atribuição, faça o seguinte :
Hora := StrToTime(Table1.FieldByName(´Hora´).AsString);
GOSTEI 0
Juarezber
20/04/2005
Consegui, la vai o codigo completo.
procedure TForm1.Button1Click(Sender: TObject);
Var
Hora: TDateTime;
Turno: Integer;
begin
Hora:= Table1.FieldByName(´Hora´).AsDateTime;
if (Hora >= StrToTime(´06:00:00´)) and (Hora < StrToTime(´14:00:00´)) then
Turno:= 1;
if (Hora >= StrToTime(´14:00:00´)) and (Hora < StrToTime(´22:00:00´)) then
Turno:= 2;
if (Hora >= StrToTime(´22:00:00´)) or ((Hora < StrToTime(´00:00:00´)) or
(Hora < StrToTime(´06:00:00´)))then
Turno:= 3;
Edit1.Text:= IntToStr(Turno);
end;
Abraços
juarezber@terra.com.br
procedure TForm1.Button1Click(Sender: TObject);
Var
Hora: TDateTime;
Turno: Integer;
begin
Hora:= Table1.FieldByName(´Hora´).AsDateTime;
if (Hora >= StrToTime(´06:00:00´)) and (Hora < StrToTime(´14:00:00´)) then
Turno:= 1;
if (Hora >= StrToTime(´14:00:00´)) and (Hora < StrToTime(´22:00:00´)) then
Turno:= 2;
if (Hora >= StrToTime(´22:00:00´)) or ((Hora < StrToTime(´00:00:00´)) or
(Hora < StrToTime(´06:00:00´)))then
Turno:= 3;
Edit1.Text:= IntToStr(Turno);
end;
Abraços
juarezber@terra.com.br
GOSTEI 0
Rjun
20/04/2005
De nada...
GOSTEI 0
Juarezber
20/04/2005
Mais uma coisa. Não estou conseguindo, o if abaixo, as variaveis
tem que ser com essas definições. Ja troquei StrToTime...etc. O erro esta abaixo. Se alguem tiver alguma ideia, por favor.
Var
Hora: TDateTime;
Turno: String;
Begin
if TableContador1.FieldByName(´Turno´).AsString = (´A´) and
((Hora >= StrToTime(´06:00:00´)) and (Hora < StrToTime(´14:20:00´)))
then
//Faça
end;
//[Error] Linha1.pas(530): Operator not applicable to
this operand type
Grato
juarezber@terra.com.br
tem que ser com essas definições. Ja troquei StrToTime...etc. O erro esta abaixo. Se alguem tiver alguma ideia, por favor.
Var
Hora: TDateTime;
Turno: String;
Begin
if TableContador1.FieldByName(´Turno´).AsString = (´A´) and
((Hora >= StrToTime(´06:00:00´)) and (Hora < StrToTime(´14:20:00´)))
then
//Faça
end;
//[Error] Linha1.pas(530): Operator not applicable to
this operand type
Grato
juarezber@terra.com.br
GOSTEI 0
Marco Salles
20/04/2005
Var
Hora: TDateTime;
Turno: String;
Begin
if TableContador1.FieldByName(´Turno´).AsString = (´A´) and
((Hora >= StrToTime(´06:00:00´)) and (Hora < StrToTime(´14:20:00´)))
then
//Faça
end;
//[Error] Linha1.pas(530): Operator not applicable to
this operand type
Troque para:
Var Hora: TTime;//-->>Pode tb trocar aqui , não é necessário , mas é aconselhavel Turno: String; Begin if (TableContador1.FieldByName(´Turno´).AsString = ´A´) and ((Hora >= StrToTime(´06:00:00´)) and (Hora < StrToTime(´14:20:00´))) then //Faça end;
GOSTEI 0