Fórum Personalizar MessageBox #622437
28/08/2024
0
Ocorre que se eu lançar muitas parcelas, a mensagem fica enorme.
Pensei em delimitar a mensagem para listar até 3 parcelas e após a 3ª parcela, escrever : "e mais xxx parcelas" ou listar as 3 primeiras, colocar uns pontos e listar a ultima.
Será que é possível fazer?
ex:
1 2 3 4 5 6 | 1 ª parcela - 30 / 08 / 2024 - R$ 250 , 00 1 ª parcela - 30 / 09 / 2024 - R$ 250 , 00 1 ª parcela - 30 / 10 / 2024 - R$ 250 , 00 . . 18 ª parcela - 30 / 08 / 2025 - R$ 250 , 00 |
1 2 3 4 5 6 7 8 9 10 11 | Mensagem:= 'Inclusão de conta realizada com sucesso!' +# 13 ; for i := 1 to StrToInt(EdParcelas . Text) do begin if i = StrToInt(EdParcelas . Text) then begin //rotina de parcelamento end Mensagem := Mensagem +# 13 +IntToStr(i)+ 'ª Parcela - ' +FormatDateTime( 'dd/mm/yyyy' ,VencParcela)+ ' - ' +FormatFloat( 'R$ #,##0.00' ,ValorParcela); Application . MessageBox( Pchar (Mensagem), 'Sis Contas' ,MB_OK + MB_ICONINFORMATION); |

Renan
Curtir tópico
+ 0Posts
28/08/2024
Arthur Heinrich
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Mensagem:= 'Inclusão de conta realizada com sucesso!'+#13; for i := 1 to StrToInt(EdParcelas.Text) do begin //rotina de parcelamento - cálculo da parcela i if ( ( StrToInt(EdParcelas.Text) <= 5 ) or ( i <= 3 ) or ( i = StrToInt(EdParcelas.Text) ) ) then Mensagem := Mensagem +#13+IntToStr(i)+'ª Parcela - '+FormatDateTime('dd/mm/yyyy',VencParcela)+' - '+FormatFloat('R$ #,##0.00',ValorParcela) else if ( i = 4 ) then Mensagem := Mensagem +#13+'...'; end; Application.MessageBox(Pchar(Mensagem),'Sis Contas',MB_OK + MB_ICONINFORMATION); |
Gostei + 0
28/08/2024
Emerson Nascimento
Gostei + 0
29/08/2024
Renan
Acho que vou tirar essa opção das parcelas e apresentar apenas um resumo da operação
1 2 3 4 5 6 | Mensagem:= 'Inclusão de conta realizada com sucesso!' +# 13 +# 13 + 'Fornecedor : ' +EdCedente . Text +# 13 + 'Nº Parcelas : ' +EdParcelas . Text +# 13 + 'Valor Total : ' +FormatFloat( 'R$ #,##0.00' ,Total); Application . MessageBox( Pchar (Mensagem), 'Sis Contas' ,MB_OK + MB_ICONINFORMATION); |
Não sei porque, mas não consigo deixar o texto alinhado na mensagem, da mesma forma que está acima.
Gostei + 0
29/08/2024
Arthur Heinrich
Parece que dá para criar um hook (Uma callback function) que é chamada ao criar a janela. Neste momento, dá para setar o fonte do MessageBox. Mas é uma solução complexa.
Mais fácil criar a sua própria janela de mensagens.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)