procedure TPostIt.ImgFlecheHautClick(Sender: TObject); procedure EchangeString(Lbl1, Lbl2: TLabel); var Sauv: string; begin Sauv := lbl1.Caption; lbl1.Caption := lbl2.Caption; lbl2.Caption := Sauv; end; var LabDate1, LabHeure1, LabMemo1, LabCurs1: TLabel; LabDate2, LabHeure2, LabMemo2, LabCurs2: TLabel; begin if CursPos=1 then exit; LabDate1 := TLabel(FindComponent('Date'+IntToStr(CursPos))); LabDate2 := TLabel(FindComponent('Date'+IntToStr(CursPos-1))); EchangeString(LabDate1, LabDate2); end;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questiontype THackControl = class(TControl); procedure EchangeSTring(S1, s2: TControl); var z:string; begin z := THackControl(s1).Caption; THackControl(s1).Caption := THackControl(s2).Caption; THackControl(s2).Caption := Z; end; procedure TForm3.Button4Click(Sender: TObject); begin EchangeSTring(Label1, Button4); end;
type THackControl = class(TControl);
J'aimerai savoir s'il existe une fonction en Delphi qui permet d'intervertir 2 strings sans passer par un buffer
procedure EchangeSTringWithoutBuffer(S1, S2: TControl); begin THackControl(S1).Caption := THackControl(S1).Caption+THackControl(S2).Caption; THackControl(S2).Caption := Copy(THackControl(S1).Caption,0,Length(THackControl(S1).Caption)-Length(THackControl(S2).Caption)); THackControl(S1).Caption := Copy(THackControl(S1).Caption,Length(THackControl(S2).Caption)+1,Length(THackControl(S1).Caption)-Length(THackControl(S2).Caption)); end;