Fórum ajuda arrumar code #554253
20/05/2016
0
queria ajuda para arruma este código deixar ele mais limpo, tipo com menos if e end e begin seria possivel
Delphi Seattle 10
procedure Tfrm_ATLC.FormCreate(Sender: TObject);
begin
//if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile('C:\Users\2016pcs\Desktop\2.txt');
Checando;
end;
procedure Tfrm_ATLC.IncerirRenomear;
var
i: integer;
Espaco,s: string;
begin
if CB_spacoNumero.Checked = true then
Espaco:= ' '
else
Espaco:= '';
for I := 0 to StrToInt(Label5.Caption) do
begin
s := Memo1.Lines[i];
if (inicio1.Checked = true) and (inicio2.Checked = true) and (fimA.Checked = true) and (fimB.Checked = true) then
Memo1.Lines[i] := Espaco+IntToStr(i+1)+Espaco + Edit1.Text +Espaco+IntToStr(i+1)+Espaco+ Edit2.Text +s +Espaco+IntToStr(i+1)+Espaco+ Edit3.Text +Espaco+IntToStr(i+1)+Espaco+ Edit4.Text
else
if (inicio1.Checked = true) and (inicio2.Checked = false) and (fimA.Checked = true) and (fimB.Checked = true) then
Memo1.Lines[i] := Espaco+IntToStr(i+1)+Espaco+ Edit1.Text + Edit2.Text +s +Espaco+IntToStr(i+1)+Espaco+ Edit3.Text +Espaco+IntToStr(i+1)+Espaco+ Edit4.Text
else
if (inicio1.Checked = true) and (inicio2.Checked = false) and (fimA.Checked = false) and (fimB.Checked = true) then
Memo1.Lines[i] := Espaco+IntToStr(i+1)+Espaco+ Edit1.Text + Edit2.Text +s + Edit3.Text +Espaco+IntToStr(i+1)+Espaco+ Edit4.Text
else
if (inicio1.Checked = true) and (inicio2.Checked = true) and (fimA.Checked = false) and (fimB.Checked = true) then
Memo1.Lines[i] := Espaco+IntToStr(i+1)+Espaco+ Edit1.Text +Espaco+IntToStr(i+1)+Espaco+ Edit2.Text +s + Edit3.Text +Espaco+IntToStr(i+1)+Espaco+ Edit4.Text
else
if (inicio1.Checked = true) and (inicio2.Checked = true) and (fimA.Checked = false) and (fimB.Checked = false) then
Memo1.Lines[i] := Espaco+IntToStr(i+1)+Espaco+ Edit1.Text +Espaco+IntToStr(i+1)+Espaco+ Edit2.Text +s + Edit3.Text + Edit4.Text
else
if (inicio1.Checked = true) and (inicio2.Checked = false) and (fimA.Checked = true) and (fimB.Checked = false) then
Memo1.Lines[i] := Espaco+IntToStr(i+1)+Espaco+ Edit1.Text + Edit2.Text +s +Espaco+IntToStr(i+1)+Espaco+ Edit3.Text + Edit4.Text
else
if (inicio1.Checked = true) and (inicio2.Checked = true) and (fimA.Checked = true) and (fimB.Checked = false) then
Memo1.Lines[i] := Espaco+IntToStr(i+1)+Espaco+ Edit1.Text +Espaco+IntToStr(i+1)+Espaco+ Edit2.Text +s +Espaco+IntToStr(i+1)+Espaco+ Edit3.Text + Edit4.Text
else //true 8
if (inicio1.Checked = true) and (inicio2.Checked = false) and (fimA.Checked = false) and (fimB.Checked = false) then
Memo1.Lines[i] := Espaco+IntToStr(i+1)+Espaco+ Edit1.Text + Edit2.Text +s + Edit3.Text + Edit4.Text
else
if (inicio1.Checked = false) and (inicio2.Checked = false) and (fimA.Checked = false) and (fimB.Checked = false) then
Memo1.Lines[i] := Edit1.Text + Edit2.Text +s + Edit3.Text + Edit4.Text
else
if (inicio1.Checked = false) and (inicio2.Checked = false) and (fimA.Checked = false) and (fimB.Checked = true) then
Memo1.Lines[i] := Edit1.Text + Edit2.Text +s + Edit3.Text +Espaco+IntToStr(i+1)+Espaco+ Edit4.Text
else
if (inicio1.Checked = false) and (inicio2.Checked = false) and (fimA.Checked = true) and (fimB.Checked = false) then
Memo1.Lines[i] := Edit1.Text + Edit2.Text +s +Espaco+IntToStr(i+1)+Espaco+ Edit3.Text + Edit4.Text
else
if (inicio1.Checked = false) and (inicio2.Checked = false) and (fimA.Checked = true) and (fimB.Checked = true) then
Memo1.Lines[i] := Edit1.Text + Edit2.Text +s +Espaco+IntToStr(i+1)+Espaco+ Edit3.Text +Espaco+IntToStr(i+1)+Espaco+ Edit4.Text
else
if (inicio1.Checked = false) and (inicio2.Checked = true) and (fimA.Checked = true) and (fimB.Checked = true) then
Memo1.Lines[i] := Edit1.Text +Espaco+IntToStr(i+1)+Espaco+ Edit2.Text +s +Espaco+IntToStr(i+1)+Espaco+ Edit3.Text +Espaco+IntToStr(i+1)+Espaco+ Edit4.Text
else
if (inicio1.Checked = false) and (inicio2.Checked = true) and (fimA.Checked = false) and (fimB.Checked = false) then
Memo1.Lines[i] := Edit1.Text +Espaco+IntToStr(i+1)+Espaco+ Edit2.Text +s + Edit3.Text + Edit4.Text
else
if (inicio1.Checked = false) and (inicio2.Checked = true) and (fimA.Checked = true) and (fimB.Checked = false) then
Memo1.Lines[i] := Edit1.Text +Espaco+IntToStr(i+1)+Espaco+ Edit2.Text +s +Espaco+IntToStr(i+1)+Espaco+ Edit3.Text + Edit4.Text
else
if (inicio1.Checked = false) and (inicio2.Checked = true) and (fimA.Checked = false) and (fimB.Checked = true) then
Memo1.Lines[i] := Edit1.Text +Espaco+IntToStr(i+1)+Espaco+ Edit2.Text +s + Edit3.Text +Espaco+IntToStr(i+1)+Espaco+ Edit4.Text
end;
end;
Cgm2k7 2013
Curtir tópico
+ 3Posts
20/05/2016
Cgm2k7 2013
mas não estou pedindo só para fica bonito não
pois com resultado final vou aprende com fazer também
foi para isso que postei o pedido aqui...
Gostei + 0
20/05/2016
Luiz Menin
var
i: integer;
Espaco,s, tmp : string;
begin
if CB_spacoNumero.Checked = true then
Espaco:= ' '
else
Espaco:= '';
for I := 0 to StrToInt(Label5.Caption) do
begin
s := Memo1.Lines[i];
tmp := EmptyStr;
if inicio1.Checked then
tmp := tmp + Espaco+IntToStr(i+1)+Espaco+ Edit1.Text
else
tmp := tmp + Edit1.Text;
if inicio2.Checked then
tmp := tmp + Espaco+IntToStr(i+1)+Espaco+ Edit2.Text
else
tmp := tmp + Edit2.Text;
tmp := tmp + s;
if fimA.Checked then
tmp := tmp + Espaco+ IntToStr(i+1)+Espaco+ Edit3.Text
else
tmp := tmp + Edit3.Text;
if fimB.Checked then
tmp := tmp + Espaco+IntToStr(i+1)+Espaco+ Edit4.Text
else
tmp := tmp + Edit4.Text;
Memo1.Lines[i] := tmp
end;
end;
Gostei + 0
20/05/2016
Cgm2k7 2013
Vou tentar explica.
no memo1 tem varias linha de texto estou acrescentando a esta linha um contado e mais texto
(comando ou qualquer outra coisa ex:
em outro projeto meu preciso adicionar varias linha assim:
case X of
1 : AdicinarCidade('Montes Claros', '1');
2 : AdicinarCidade('Abaeté', '2');
3 : AdicinarCidade('Bocaiuva', '3');
......... etc mais de 1000 cidades)
aff ter que digitar tantos comandos assim é dificio..
Continuando...
estou fazendo este aplicativo que ajuda a cria este comandos automático tipo
eu insiro os textos das cidade em um memo1 adiciono os comando automático com este aplicativo.
já esta tudo certo esta funcionado perfeitamente o que eu queria se é que tem como é diminuir a quantidade de if e else
que no caso vai ter 4 contador numérico onde o usuário habilitado de acordo com a quantidade de contado numéricos ou comando que deseja
então são 4x4 = 16 combinações diferente como não sei outra maneira coloquei 12 if e else. Já vi em algum forum por ai umas boas maneira de
trabalhar com if e else mais não consegui achar. Se pode me ajuda agradeço amigo...
procedure Tfrm_ATLC.Checando;
var espaco2, linha: string;
Y: integer;
begin
Memo3.Clear;
for Y := 0 to 3 do
begin
linha := self.Memo1.Lines.Strings[Y];
if CB_spacoNumero.Checked = true then
espaco2:= ' '
else
espaco2:= '';
if (inicio1.Checked = true) and (inicio2.Checked = true) and (fimA.Checked = true) and (fimB.Checked = true) then
Memo3.Lines.Add(IntToStr(Y+1)+espaco2+ Edit1.Text+IntToStr(Y+1) +espaco2+ Edit2.Text+linha+ espaco2+IntToStr(Y+1)+Edit3.Text+ espaco2+ IntToStr(Y+1)+Edit4.Text)
else
if (inicio1.Checked = true) and (inicio2.Checked = false) and (fimA.Checked = true) and (fimB.Checked = true) then
Memo3.Lines.Add(IntToStr(Y+1)+espaco2+ Edit1.Text +espaco2+ Edit2.Text+linha+ espaco2+IntToStr(Y+1)+Edit3.Text+ espaco2+IntToStr(Y+1) + Edit4.Text)
else
if (inicio1.Checked = true) and (inicio2.Checked = false) and (fimA.Checked = false) and (fimB.Checked = true) then
Memo3.Lines.Add(IntToStr(Y+1)+espaco2+ Edit1.Text +espaco2+ Edit2.Text+linha +espaco2+Edit3.Text+IntToStr(Y+1) +espaco2+ Edit4.Text)
else
if (inicio1.Checked = true) and (inicio2.Checked = true) and (fimA.Checked = false) and (fimB.Checked = true) then
Memo3.Lines.Add(IntToStr(Y+1)+espaco2+ Edit1.Text+IntToStr(Y+1) +espaco2+ Edit2.Text+linha +espaco2+Edit3.Text+IntToStr(Y+1) +espaco2+ Edit4.Text)
else
if (inicio1.Checked = true) and (inicio2.Checked = true) and (fimA.Checked = false) and (fimB.Checked = false) then
Memo3.Lines.Add(IntToStr(Y+1)+espaco2+ Edit1.Text+IntToStr(Y+1) +espaco2+ Edit2.Text+linha +espaco2+Edit3.Text +espaco2+ Edit4.Text)
else
if (inicio1.Checked = true) and (inicio2.Checked = false) and (fimA.Checked = true) and (fimB.Checked = false) then
Memo3.Lines.Add(IntToStr(Y+1)+espaco2+ Edit1.Text +espaco2+ Edit2.Text+linha+ espaco2+ IntToStr(Y+1) +Edit3.Text +espaco2+ Edit4.Text)
else
if (inicio1.Checked = true) and (inicio2.Checked = true) and (fimA.Checked = true) and (fimB.Checked = false) then
Memo3.Lines.Add(IntToStr(Y+1)+espaco2+ Edit1.Text+IntToStr(Y+1) +espaco2+ Edit2.Text+linha +espaco2+IntToStr(Y+1)+Edit3.Text +espaco2+ Edit4.Text)
else //true 8
if (inicio1.Checked = true) and (inicio2.Checked = false) and (fimA.Checked = false) and (fimB.Checked = false) then
Memo3.Lines.Add(IntToStr(Y+1)+espaco2+ Edit1.Text +espaco2+ Edit2.Text+linha+ espaco2+Edit3.Text +espaco2+ Edit4.Text)
else
if (inicio1.Checked = false) and (inicio2.Checked = false) and (fimA.Checked = false) and (fimB.Checked = false) then
Memo3.Lines.Add(espaco2+ Edit1.Text +espaco2+ Edit2.Text+linha +espaco2+Edit3.Text +espaco2+ Edit4.Text)
else
if (inicio1.Checked = false) and (inicio2.Checked = false) and (fimA.Checked = false) and (fimB.Checked = true) then
Memo3.Lines.Add(espaco2+ Edit1.Text +espaco2+ Edit2.Text+linha +espaco2+Edit3.Text +espaco2+IntToStr(Y+1)+ Edit4.Text)
else
if (inicio1.Checked = false) and (inicio2.Checked = false) and (fimA.Checked = true) and (fimB.Checked = false) then
Memo3.Lines.Add(espaco2+ Edit1.Text +espaco2+ Edit2.Text+linha +espaco2+IntToStr(Y+1)+Edit3.Text +espaco2+ Edit4.Text)
else
if (inicio1.Checked = false) and (inicio2.Checked = false) and (fimA.Checked = true) and (fimB.Checked = true) then
Memo3.Lines.Add(espaco2+ Edit1.Text +espaco2+ Edit2.Text+linha +espaco2+IntToStr(Y+1)+Edit3.Text +espaco2+IntToStr(Y+1)+ Edit4.Text)
else
if (inicio1.Checked = false) and (inicio2.Checked = true) and (fimA.Checked = true) and (fimB.Checked = true) then
Memo3.Lines.Add(espaco2+ Edit1.Text+IntToStr(Y+1) +espaco2+ Edit2.Text+linha +espaco2+IntToStr(Y+1)+Edit3.Text +espaco2+IntToStr(Y+1)+ Edit4.Text)
else
if (inicio1.Checked = false) and (inicio2.Checked = true) and (fimA.Checked = false) and (fimB.Checked = false) then
Memo3.Lines.Add(espaco2+ Edit1.Text+IntToStr(Y+1) +espaco2+ Edit2.Text+linha +espaco2+Edit3.Text +espaco2+ Edit4.Text)
else
if (inicio1.Checked = false) and (inicio2.Checked = true) and (fimA.Checked = true) and (fimB.Checked = false) then
Memo3.Lines.Add(espaco2+ Edit1.Text+IntToStr(Y+1) +espaco2+Edit2.Text+linha +espaco2+IntToStr(Y+1)+Edit3.Text +espaco2+ Edit4.Text)
else
if (inicio1.Checked = false) and (inicio2.Checked = true) and (fimA.Checked = false) and (fimB.Checked = true) then
Memo3.Lines.Add(espaco2+ Edit1.Text+IntToStr(Y+1)+ espaco2+ Edit2.Text+linha +espaco2+Edit3.Text +espaco2+IntToStr(Y+1)+ Edit4.Text);
self.Memo1.Lines.Strings[Y] := linha;
end;Gostei + 0
20/05/2016
Cgm2k7 2013
kkkkkkkk
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)