Fórum Pegar dados de um Memo Delphi #592425
12/04/2018
0
Pessoal Boa tarde.
Por favor , alguém poderia me dar um help ?
Tem como eu pegar um resultado que está em um memo e fazer um select e insert para cada item ?
Segue o meu codigo abaixo :
Por favor , alguém poderia me dar um help ?
Tem como eu pegar um resultado que está em um memo e fazer um select e insert para cada item ?
Segue o meu codigo abaixo :
begin
MEMO1.Items.Add(unidades.Text);
Controller.DTM.FDQuery2.Close;
Controller.DTM.FDQuery2.SQL.Clear;
Controller.DTM.FDQuery2.SQL.Add(''Select * from usuarios '');
Controller.DTM.FDQuery2.SQL.Add(''Where login = ''''''+memo1.Text+'''''' '');
Controller.DTM.FDQuery2.open;Watson
Curtir tópico
+ 0
Responder
Post mais votado
12/04/2018
Depende como esses dados constam no memo.
Se por exemplo, no memo possuir varias linhas com valores. você precisará tratar antes de realizar um select com os dados do memo.
Post o texto por completo dentro do memo, com certeza alguém vai ajudar a tratar
Se por exemplo, no memo possuir varias linhas com valores. você precisará tratar antes de realizar um select com os dados do memo.
Post o texto por completo dentro do memo, com certeza alguém vai ajudar a tratar
Raimundo Pereira
Responder
Gostei + 1
Mais Posts
12/04/2018
Watson
P2 . obrigado pelo retorno , segue o codigo completo.
Se precisar fazer este tratamento antes do meu select , como seria ?
unit u_frmsolicitacaogestor;
interface
uses
Classes, SysUtils, IWAppForm, IWApplication, IWColor, IWTypes, IWVCLComponent,
IWBaseLayoutComponent, IWBaseContainerLayout, IWContainerLayout,
IWTemplateProcessorHTML, IWCompLabel, IWCompListbox, IWCompButton,IWHTMLTag,
Vcl.Controls, IWVCLBaseControl, IWBaseControl, IWBaseHTMLControl, IWControl,
IWCompEdit, u_frmgestor, IWCompMemo, IWCompExtCtrls, DM, IWDBExtCtrls,
IWDBStdCtrls, IWHTMLControls, Vcl.Forms, IWVCLBaseContainer, IWContainer,
IWHTMLContainer, IWHTML40Container, IWRegion, IWCompGrids,
IWCompOrderedListbox ;
type
Tfrmsolicitacaogestor = class(TIWAppForm)
edtdataini: TIWEdit;
edtjusti: TIWEdit;
cbhoraini: TIWComboBox;
cbhorafim: TIWComboBox;
IWLabel1: TIWLabel;
edtdatafim: TIWEdit;
BTNENCERRAR: TIWButton;
IWTemplateProcessorHTML1: TIWTemplateProcessorHTML;
btnalterar: TIWButton;
BTNAPROVAR: TIWButton;
Memo: TIWMemo;
btnenviar: TIWButton;
btnusuarios: TIWButton;
Justificativa: TIWEdit;
IWBTNACAO: TIWButton;
IWAcao: TIWEdit;
cb: TIWComboBox;
unidades: TIWComboBox;
memo1: TIWListbox;
procedure BTNENCERRARClick(Sender: TObject);
procedure btnalterarClick(Sender: TObject);
procedure btnenviarClick(Sender: TObject);
procedure BTNAPROVARClick(Sender: TObject);
procedure edtdatainiHTMLTag(ASender: TObject; ATag: TIWHTMLTag);
procedure cbhorainiHTMLTag(ASender: TObject; ATag: TIWHTMLTag);
procedure edtdatafimHTMLTag(ASender: TObject; ATag: TIWHTMLTag);
procedure cbhorafimHTMLTag(ASender: TObject; ATag: TIWHTMLTag);
procedure edtjustiHTMLTag(ASender: TObject; ATag: TIWHTMLTag);
procedure MEmoHTMLTag(ASender: TObject; ATag: TIWHTMLTag);
procedure IWAppFormCreate(Sender: TObject);
procedure btnusuariosClick(Sender: TObject);
public
end;
implementation
{$R *.dfm}
uses u_frmsenha, ServerController, UserSessionUnit,mimemess ;
procedure Tfrmsolicitacaogestor.btnalterarClick(Sender: TObject);
begin
Release;
Tfrmsenha.Create(WebApplication).Show;
end;
procedure Tfrmsolicitacaogestor.BTNENCERRARClick(Sender: TObject);
begin
Release;
end;
procedure Tfrmsolicitacaogestor.btnenviarClick(Sender: TObject);
var
html : string;
begin
if (edtdataini.Text = '') then
begin
WebApplication.ShowMessage('Campo Data não foi preenchido !!!');
abort;
end;
if (cbhoraini.Text = '') then
begin
WebApplication.ShowMessage('Campo Horario Inicio não foi preenchido !!!');
abort;
end;
if (cbhorafim.Text = '') then
begin
WebApplication.ShowMessage('Campo Horario Fim não foi preenchido !!!');
abort;
end;
if (edtjusti.Text = '') then
begin
WebApplication.ShowMessage('Campo Justificativa não foi preenchido !!!');
abort;
end;
if (memo.Text = '') then
begin
WebApplication.ShowMessage('Campo Copia Email não foi preenchido !!!');
abort;
end;
// try
Controller.DTM.QryLogin.Close;
Controller.DTM.QryLogin.SQL.Clear;
Controller.DTM.QryLogin.SQL.Add('insert into cadastrohr (idnome, nome, setor,idgestor,idunidade, dataini,datafim,horaini,horafim,colaborador,justificativa) ');
Controller.DTM.QryLogin.SQL.Add('VALUES ('+controller.idusuario.ToString+', '''+controller.nomeusuario+''', '''+controller.setorusuario+''','''+controller.Gestor+''', '''+controller.unidadeusuario+''', '''+edtdataini.Text+''','''+edtdatafim.Text+''', '''+cbhoraini.Text+''', '''+cbhorafim.Text+''', '''+memo1.Text+''','''+edtjusti.Text+''')');
Controller.DTM.QryLogin.ExecSQL;
Controller.DTM.FDQuery2.Close;
Controller.DTM.FDQuery2.SQL.Clear;
Controller.DTM.FDQuery2.SQL.Add('insert into cadastrohr (idnome, nome, setor,idgestor,idunidade, dataini,datafim,horaini,horafim,colaborador,justificativa) ');
Controller.DTM.FDQuery2.SQL.Add('VALUES ('+controller.idusuario.ToString+', '''+controller.nomeusuario+''', '''+controller.setorusuario+''','''+controller.Gestor+''', '''+controller.unidadeusuario+''', '''+edtdataini.Text+''','''+edtdatafim.Text+''', '''+cbhoraini.Text+''', '''+cbhorafim.Text+''', '''+memo1.Text+''','''+edtjusti.Text+''')');
Controller.DTM.FDQuery2.ExecSQL;
//
// MONTA O ENVIO DO EMAIL
//
if Controller.EmailUsuario <> '' then
begin
Controller.EMAIL.Clear;
Controller.EMAIL.IsHTML := true;
Controller.EMAIL.Subject := 'Solicitação de Hora Extra';
Controller.EMAIL.From := Controller.mFrom;
Controller.EMAIL.FromName := Controller.mFromName;
Controller.EMAIL.Host := Controller.mHost;
Controller.EMAIL.Username := Controller.mUsername;
Controller.EMAIL.Password := Controller.mPassword;
Controller.EMAIL.Port := Controller.mPort;
Controller.EMAIL.SetTLS := true;
Controller.EMAIL.SetSSL := false;
if Controller.EmailGestor <> '' then
Controller.EMAIL.AddCC(Controller.EmailGestor);
Controller.EMAIL.AddCC(MEMO.text);
Controller.EMAIL.Priority := MP_high;
html := '<html> '+
'<head> '+
' <meta http-equiv="content-type" content="text/html; charset=UTF-8"> '+
'</head> '+
'<body text="#000000" bgcolor="#FFFFFF"> '+
' <h3>Pedido de Hora Extra Cadastrado com Sucesso</h3> '+
' <br /> '+
' <table> '+
' <tr> '+
' <td width="150px"><b>Solicitante:</b></td> '+
' <td>'+controller.nomeusuario+'</td> ' +
' </tr> '+
' <tr> '+
' <td width="150px"><b>Unidade:</b></td> '+
' <td>'+controller.unidadeusuario+'</td> ' +
' </tr> '+
' <tr> '+
' <td width="150px"><b>Data Inicial:</b></td> '+
' <td>'+edtdataini.Text+'</td> ' +
' </tr> '+
' <tr> '+
' <td width="150px"><b>Hora Inicial:</b></td> '+
' <td>'+cbhoraini.Text+'</td> ' +
' </tr> '+
' <tr> '+
' <td width="150px"><b>Data Final:</b></td> '+
' <td>'+edtdatafim.Text+'</td> ' +
' </tr> '+
' <tr> '+
' <td width="150px"><b>Hora Final:</b></td> '+
' <td>'+cbhorafim.Text+'</td> ' +
' </tr> '+
' <tr> '+
' </tr> '+
' <tr> '+
' <td width="150px"><b>Nome dos Colaboradores:</b></td> '+
' <td>'+memo1.Text+'</td> ' +
' </tr> '+
' <tr> '+
' <td width="150px"><b>Justificativa:</b></td> '+
' <td>'+edtjusti.Text+'</td> ' +
' </tr> '+
' </table> '+
' <br /> '+
' <p> '+
' <b>Obs:</b> Aguarde uma aprovação ou recusa da sua hora extra pelo Gestor Responsável do seu setor. '+
' </p> '+
' <p> '+
' <b>URL: http://144.22.98.150:8888/$/</b> '+
' </p> '+
' <br /><br /> '+
' <p><b>TK Logistica do Brasil<br />Sistema de Gestão de Horas Extras</b></p> '+
'</body> '+
'</html> ';
Controller.EMAIL.Body.Add(html);
Controller.EMAIL.Send(false);
end;
// except
// WebApplication.ShowMessage('Atenção!!! Erro ao Gravar ou envio do email, tente novamente daqui a pouco ou entre em contato com o Gestor.');
// Abort;
// end;
cbhoraini.Clear;
cbhorafim.Clear;
edtdataini.Clear;
edtdatafim.Clear;
edtjusti.Clear;
memo.Clear;
if Controller.EmailUsuario <> '' then
WebApplication.ShowMessage
Se precisar fazer este tratamento antes do meu select , como seria ?
unit u_frmsolicitacaogestor;
interface
uses
Classes, SysUtils, IWAppForm, IWApplication, IWColor, IWTypes, IWVCLComponent,
IWBaseLayoutComponent, IWBaseContainerLayout, IWContainerLayout,
IWTemplateProcessorHTML, IWCompLabel, IWCompListbox, IWCompButton,IWHTMLTag,
Vcl.Controls, IWVCLBaseControl, IWBaseControl, IWBaseHTMLControl, IWControl,
IWCompEdit, u_frmgestor, IWCompMemo, IWCompExtCtrls, DM, IWDBExtCtrls,
IWDBStdCtrls, IWHTMLControls, Vcl.Forms, IWVCLBaseContainer, IWContainer,
IWHTMLContainer, IWHTML40Container, IWRegion, IWCompGrids,
IWCompOrderedListbox ;
type
Tfrmsolicitacaogestor = class(TIWAppForm)
edtdataini: TIWEdit;
edtjusti: TIWEdit;
cbhoraini: TIWComboBox;
cbhorafim: TIWComboBox;
IWLabel1: TIWLabel;
edtdatafim: TIWEdit;
BTNENCERRAR: TIWButton;
IWTemplateProcessorHTML1: TIWTemplateProcessorHTML;
btnalterar: TIWButton;
BTNAPROVAR: TIWButton;
Memo: TIWMemo;
btnenviar: TIWButton;
btnusuarios: TIWButton;
Justificativa: TIWEdit;
IWBTNACAO: TIWButton;
IWAcao: TIWEdit;
cb: TIWComboBox;
unidades: TIWComboBox;
memo1: TIWListbox;
procedure BTNENCERRARClick(Sender: TObject);
procedure btnalterarClick(Sender: TObject);
procedure btnenviarClick(Sender: TObject);
procedure BTNAPROVARClick(Sender: TObject);
procedure edtdatainiHTMLTag(ASender: TObject; ATag: TIWHTMLTag);
procedure cbhorainiHTMLTag(ASender: TObject; ATag: TIWHTMLTag);
procedure edtdatafimHTMLTag(ASender: TObject; ATag: TIWHTMLTag);
procedure cbhorafimHTMLTag(ASender: TObject; ATag: TIWHTMLTag);
procedure edtjustiHTMLTag(ASender: TObject; ATag: TIWHTMLTag);
procedure MEmoHTMLTag(ASender: TObject; ATag: TIWHTMLTag);
procedure IWAppFormCreate(Sender: TObject);
procedure btnusuariosClick(Sender: TObject);
public
end;
implementation
{$R *.dfm}
uses u_frmsenha, ServerController, UserSessionUnit,mimemess ;
procedure Tfrmsolicitacaogestor.btnalterarClick(Sender: TObject);
begin
Release;
Tfrmsenha.Create(WebApplication).Show;
end;
procedure Tfrmsolicitacaogestor.BTNENCERRARClick(Sender: TObject);
begin
Release;
end;
procedure Tfrmsolicitacaogestor.btnenviarClick(Sender: TObject);
var
html : string;
begin
if (edtdataini.Text = '') then
begin
WebApplication.ShowMessage('Campo Data não foi preenchido !!!');
abort;
end;
if (cbhoraini.Text = '') then
begin
WebApplication.ShowMessage('Campo Horario Inicio não foi preenchido !!!');
abort;
end;
if (cbhorafim.Text = '') then
begin
WebApplication.ShowMessage('Campo Horario Fim não foi preenchido !!!');
abort;
end;
if (edtjusti.Text = '') then
begin
WebApplication.ShowMessage('Campo Justificativa não foi preenchido !!!');
abort;
end;
if (memo.Text = '') then
begin
WebApplication.ShowMessage('Campo Copia Email não foi preenchido !!!');
abort;
end;
// try
Controller.DTM.QryLogin.Close;
Controller.DTM.QryLogin.SQL.Clear;
Controller.DTM.QryLogin.SQL.Add('insert into cadastrohr (idnome, nome, setor,idgestor,idunidade, dataini,datafim,horaini,horafim,colaborador,justificativa) ');
Controller.DTM.QryLogin.SQL.Add('VALUES ('+controller.idusuario.ToString+', '''+controller.nomeusuario+''', '''+controller.setorusuario+''','''+controller.Gestor+''', '''+controller.unidadeusuario+''', '''+edtdataini.Text+''','''+edtdatafim.Text+''', '''+cbhoraini.Text+''', '''+cbhorafim.Text+''', '''+memo1.Text+''','''+edtjusti.Text+''')');
Controller.DTM.QryLogin.ExecSQL;
Controller.DTM.FDQuery2.Close;
Controller.DTM.FDQuery2.SQL.Clear;
Controller.DTM.FDQuery2.SQL.Add('insert into cadastrohr (idnome, nome, setor,idgestor,idunidade, dataini,datafim,horaini,horafim,colaborador,justificativa) ');
Controller.DTM.FDQuery2.SQL.Add('VALUES ('+controller.idusuario.ToString+', '''+controller.nomeusuario+''', '''+controller.setorusuario+''','''+controller.Gestor+''', '''+controller.unidadeusuario+''', '''+edtdataini.Text+''','''+edtdatafim.Text+''', '''+cbhoraini.Text+''', '''+cbhorafim.Text+''', '''+memo1.Text+''','''+edtjusti.Text+''')');
Controller.DTM.FDQuery2.ExecSQL;
//
// MONTA O ENVIO DO EMAIL
//
if Controller.EmailUsuario <> '' then
begin
Controller.EMAIL.Clear;
Controller.EMAIL.IsHTML := true;
Controller.EMAIL.Subject := 'Solicitação de Hora Extra';
Controller.EMAIL.From := Controller.mFrom;
Controller.EMAIL.FromName := Controller.mFromName;
Controller.EMAIL.Host := Controller.mHost;
Controller.EMAIL.Username := Controller.mUsername;
Controller.EMAIL.Password := Controller.mPassword;
Controller.EMAIL.Port := Controller.mPort;
Controller.EMAIL.SetTLS := true;
Controller.EMAIL.SetSSL := false;
if Controller.EmailGestor <> '' then
Controller.EMAIL.AddCC(Controller.EmailGestor);
Controller.EMAIL.AddCC(MEMO.text);
Controller.EMAIL.Priority := MP_high;
html := '<html> '+
'<head> '+
' <meta http-equiv="content-type" content="text/html; charset=UTF-8"> '+
'</head> '+
'<body text="#000000" bgcolor="#FFFFFF"> '+
' <h3>Pedido de Hora Extra Cadastrado com Sucesso</h3> '+
' <br /> '+
' <table> '+
' <tr> '+
' <td width="150px"><b>Solicitante:</b></td> '+
' <td>'+controller.nomeusuario+'</td> ' +
' </tr> '+
' <tr> '+
' <td width="150px"><b>Unidade:</b></td> '+
' <td>'+controller.unidadeusuario+'</td> ' +
' </tr> '+
' <tr> '+
' <td width="150px"><b>Data Inicial:</b></td> '+
' <td>'+edtdataini.Text+'</td> ' +
' </tr> '+
' <tr> '+
' <td width="150px"><b>Hora Inicial:</b></td> '+
' <td>'+cbhoraini.Text+'</td> ' +
' </tr> '+
' <tr> '+
' <td width="150px"><b>Data Final:</b></td> '+
' <td>'+edtdatafim.Text+'</td> ' +
' </tr> '+
' <tr> '+
' <td width="150px"><b>Hora Final:</b></td> '+
' <td>'+cbhorafim.Text+'</td> ' +
' </tr> '+
' <tr> '+
' </tr> '+
' <tr> '+
' <td width="150px"><b>Nome dos Colaboradores:</b></td> '+
' <td>'+memo1.Text+'</td> ' +
' </tr> '+
' <tr> '+
' <td width="150px"><b>Justificativa:</b></td> '+
' <td>'+edtjusti.Text+'</td> ' +
' </tr> '+
' </table> '+
' <br /> '+
' <p> '+
' <b>Obs:</b> Aguarde uma aprovação ou recusa da sua hora extra pelo Gestor Responsável do seu setor. '+
' </p> '+
' <p> '+
' <b>URL: http://144.22.98.150:8888/$/</b> '+
' </p> '+
' <br /><br /> '+
' <p><b>TK Logistica do Brasil<br />Sistema de Gestão de Horas Extras</b></p> '+
'</body> '+
'</html> ';
Controller.EMAIL.Body.Add(html);
Controller.EMAIL.Send(false);
end;
// except
// WebApplication.ShowMessage('Atenção!!! Erro ao Gravar ou envio do email, tente novamente daqui a pouco ou entre em contato com o Gestor.');
// Abort;
// end;
cbhoraini.Clear;
cbhorafim.Clear;
edtdataini.Clear;
edtdatafim.Clear;
edtjusti.Clear;
memo.Clear;
if Controller.EmailUsuario <> '' then
WebApplication.ShowMessage
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)