Centralizar dados no TextBox e outros

Destinado ao auxílio e Troca de informações sobre a ferramenta Xmaker
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Ligeirinho
Mensagens: 22
Registrado em: Fevereiro 12th, 2011, 3:14 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Centralizar dados no TextBox e outros

Mensagempor Ligeirinho » Janeiro 24th, 2012, 9:32 am

Como centralizar, dados no testbox?
Como forçar aos formularios à abrir na aba de Manutenção?
Como forçar o Foco para o botão salvar após o último campo escolhido?
Como colocar o foco no botão incluir (adicionado na barra de botões inferior), ao clicar no botão salvar, após o registro ser salvo?
Como fazer para; ao abrir o form fazer com que o foco esteja no botão incluir, ativo, (não precisando dar dois cliques) na barra de botões inferior (o botão foi adicionado)
Como centralizar a escrita em um label?
Como eu faria para escrever o dia da semana automáticamente em um textBox, relacionado à uma data num (TextBox) campo anterior?

Desculpem se forem perguntas de iniciante, mas eu tentei pesquisar e não encontrei estas informções, obrigado!

Ligeirinho
Mensagens: 22
Registrado em: Fevereiro 12th, 2011, 3:14 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Centralizar dados no TextBox e outros

Mensagempor Ligeirinho » Janeiro 25th, 2012, 9:34 am

1- Para centralizar dados no TextBox eu encontrei esta solução, mas não sei onde colar e nem como usar no campo, agradeço qualquer ajuda.

// para texto a esquerda
function AlinhaE(Texto : String; Tamanho : Integer) : String;
begin
Texto := Trim(Texto);
while length(Texto) < Tamanho do
Texto := Texto + ' ';
Result := Texto;
end;

//para texto centralizado
function AlinhaC(Texto : String; Tamanho : integer) : String;
var
metade: integer;
begin
Texto := Trim(Texto);
metade := ((Tamanho-Length(Texto)) div 2);
while Length(Texto)+metade < Tamanho do
Texto := ' ' + Texto;
result := Texto;
end;

// para texto a direita
function AlinhaD(Texto : String; Tamanho : Integer) : String;
begin
Texto := Trim(Texto);
while length(Texto) < Tamanho do
Texto := ' ' + Texto;
Result := Texto;
end;

2 - Os tipos de form que me agradaram abrem na Pesquisa, ainda gostaria de abrir na aba Manutenção, não consegui...
3 - Este me parece que eu consegui
4 - Como nos forms, que tem uma botoeira superior, existe o atalho, para incluir, o problema(a meu ver) é contornável
5 - mesma situação da 4
6 - não é tão necessária...
7 - por enquanto ainda não descobri...

Gustavo
Mensagens: 244
Registrado em: Dezembro 22nd, 2010, 1:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Centralizar dados no TextBox e outros

Mensagempor Gustavo » Janeiro 25th, 2012, 2:56 pm

Olá,

1- Como centralizar, dados no testbox?

Segue um código exemplo que foi usado em um edit e pode ser usado para a sua situação.
Coloque no evento OnChange do textbox.

procedure EditChange(Sender: TObject);
var
vl_label : TLabel; //variável do tipo Label

begin

vl_label := TLabel.Create(self); //criamos um label
WITH vl_label DO
BEGIN
Font.Name := TEdit(sender).Font.Name; //pegamos a fonte usada no edit
Caption := TEdit(sender).Text; //pegamos o conteúdo do edit
SendMessage(TEdit(sender).Handle, EM_SETMARGINS, EC_LEFTMARGIN,
(TEdit(sender).Width-vl_label.Width) div 2); //centraliza no label e retorna para o edit
END;

vl_label.Free;
end;


2-Como forçar os formularios à abrir na aba de Manutenção?

Existem duas maneiras:

Primeira: existe um formulário chamado Modelo_MDI_CS que abre na aba Manutenção.

Segunda: Em outro tipo de formulário faça isso:

No formshow comente as linhas:
//InicializaConsultasSalvas(TabelaPrincipal, AbaConsulta, ConsultasSalvas);
//TelaConsulta;
//GridConsulta.SetFocus;


E coloque abaixo de GridConsulta.SetFocus as duas linhas abaixo;
telamanutencao;
incluir(self);


Já irá para inclusão automaticamente.

3- Como forçar o Foco para o botão salvar após o último campo escolhido?

No evento OnExit do campo que você queira coloque:

btnsalvar.setfocus;

4- Como colocar o foco no botão incluir (adicionado na barra de botões inferior), ao clicar no botão salvar, após o registro ser salvo?

O botão incluir é um speedbutton e não permite ser focado, porém você pode fazer assim.
No botão Salvar coloque acima da linha GridConsulta.SetFocus:
SalvarRegistro := False; // essa linha se encontra um pouco mais abaixo, apenas recorte e cole aqui
if EInclusao then //Apenas se for inclusão
incluir(self);
exit;
GridConsulta.SetFocus;// Essa linha permanece aqui, o código acima é a alteração "nova"


5- Como fazer para; ao abrir o form fazer com que o foco esteja no botão incluir, ativo, (não precisando dar dois cliques) na barra de botões inferior (o botão foi adicionado).

Ver resposta da pergunta número 2.

6- Como centralizar a escrita em um label?

Em propriedades da label vá em Alignment e selecione a opção taCenter.

7- Como eu faria para escrever o dia da semana automáticamente em um textBox, relacionado à uma data num (TextBox) campo anterior?

Se entendemos direito, você quer que o text box receba por extenso a data do campo anterior.

Duas maneiras:

Primeira: No evento OnExit do seu campo data coloque o seguinte código:

var
data: TDateTime;
formatada: string;
begin
{codificação...}

// vamos obter a data do campo do tipo data
data := strtodate(xdateedit1.text);

// vamos formatar
formatada := FormatDateTime('dddd, dd "de" mmmm "de" yyyy',
data);

// vamos exibir a data por extenso no edit
edit2.text:= formatada;
end;


A outra maneira seria você usar as funções: Função Dia, Função Mes, Função Ano.
Transforme o campo que você quer que receba a data por extenso em calculado e atribua as funções nele.
Essas Funcões se encontram no manual do Xmaker e Métodos Pré-definidos

Segue um link do forum para baixar 800 Dicas Delphi, que acreditamos que será muito útil para você e outros usuários.
Contém várias funções e dicas muito interessantes.


viewtopic.php?f=4&t=286

Qualquer outras dúvidas volte a postar.

Conte Sempre Conosco!
Att,

Gustavo Barreto
;)

Ligeirinho
Mensagens: 22
Registrado em: Fevereiro 12th, 2011, 3:14 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Centralizar dados no TextBox e outros

Mensagempor Ligeirinho » Janeiro 27th, 2012, 5:15 pm

Bem, desculpe a insistência mas agora só falta o dia da semana, não consegui do jeito ensinado, claro que eu não estou conseguindo dizer o que preciso, vou tentar de novo;

Tenho um campo data, 'DES_DATA', e um campo string; 'DIA_DA_SEMANA'
no lostfocus do campo 'DES_DATA' preciso atribuir o nome do dia da semana ao campo; 'DIA_DA_SEMANA', automáticamente.
nas 800 dicas achei esta Função que é a ideal, porém não sei usá-la eu tentei mas não consegui...

Function DiadaSemana(Data : String) : string;
const
semana : array[1..7] of string = ('Domingo','Segunda-feira','Terça-feira','Quarta-feira','Quinta-feira','Sexta-feira', 'Sábado');
begin
Result := semana[DayOfWeek(strtodate(Data))]
end;

Obrigado pela ajuda!

Ligeirinho
Mensagens: 22
Registrado em: Fevereiro 12th, 2011, 3:14 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Centralizar dados no TextBox e outros

Mensagempor Ligeirinho » Janeiro 29th, 2012, 10:27 pm

TabGlobal.DDesignacao.DIA_DA_SEMANA.Conteudo := DiadaSemana(DES_DATA.TEXT);

Designacao.Past(1053) Error: Declaration expected but identifier 'TabGlobal' found Designacao.Pas(1098) Warning: Text after

Veja só eu, coloquei da forma acima a tentativa de usar a function citada acima, coloquei a function no final de toda a escrita de códigos do formulário, e depois em OnExit do campo DES_DATA, tentei fazer funcionar a função para estrair o dia da semana da data, deu o erro abaixo, já tinha a validação do campo e eu coloquei imediatamente abaixo, se alguém puder me ajudar agradeço, Obrigado!

Ligeirinho
Mensagens: 22
Registrado em: Fevereiro 12th, 2011, 3:14 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Centralizar dados no TextBox e outros

Mensagempor Ligeirinho » Janeiro 31st, 2012, 8:12 am

procedure DES_DATAKeyPress(Sender: TObject;var Key: Char);

if (dayofweek(strtodate(DES_DATA.text)))=1 then
DIA_DA_SEMANA = 'Domingo';
else if (dayofweek(strtodate(DES_DATA.text)))=7 then
DIA_DA_SEMANA = 'Sábado';
else if (dayofweek(strtodate(DES_DATA.text)))=2 then
DIA_DA_SEMANA = 'Segunda - Feira';
else if (dayofweek(strtodate(DES_DATA.text)))=3 then
DIA_DA_SEMANA = 'Terça - Feira';
else if (dayofweek(strtodate(DES_DATA.text)))=4 then
DIA_DA_SEMANA = 'Quarta - Feira';
else if (dayofweek(strtodate(DES_DATA.text)))=5 then
DIA_DA_SEMANA = 'Quinta - Feira';
else if (dayofweek(strtodate(DES_DATA.text)))=6 then
DIA_DA_SEMANA = 'Sexta - Feira';

Tentei deste jeito, aproveitando uma dica encontrada na NET, e deu o seguinte erro:
Designacao.Pas(1090): Declaration expected but 'IF' found Designacao.Pas: ';' expected but '.' fou

não sei do que se trata, mas vou continuar tentando, se alguém quiser me ajudar agradeço!

Gustavo
Mensagens: 244
Registrado em: Dezembro 22nd, 2010, 1:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Centralizar dados no TextBox e outros

Mensagempor Gustavo » Janeiro 31st, 2012, 9:15 am

Att,

Gustavo Barreto
;)

Ligeirinho
Mensagens: 22
Registrado em: Fevereiro 12th, 2011, 3:14 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Centralizar dados no TextBox e outros

Mensagempor Ligeirinho » Fevereiro 1st, 2012, 2:23 pm

Desisti de tentar, usei o format, e aceitei do jeito que é, aumentei o tamanho do campo para 40 e cabeu tudo:
begin
DIA_DA_SEMANA.Text := FormatDateTime('dddddd', TabGlobal.DDesignacao.DES_DATA.Conteudo);
end;

por exemplo: SEGUNDA-FEIRA, 12 DE FEVEREIRO DE 2012

A PROP??SITO O ADAPTER FUNCIONOU DIREITINHO!

Mas eu vou aprender ainda a usar function's (funções e procedures) com certesa....


[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Voltar para “Xmaker”

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes