Pegar dados de um Memo Delphi

Delphi

12/04/2018

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 :

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

Watson

Curtidas 0

Melhor post

Raimundo Pereira

Raimundo Pereira

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
GOSTEI 1

Mais Respostas

Watson

Watson

12/04/2018

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
GOSTEI 0
POSTAR