[SOLVED] How do I convert a 'Constant String' or 'Ansi String' to TAlign? lazarus / 21-General ---------------------------------------------------------------------- Aruna · 2022-12-01 23:18 I am trying to set the align property of a TMemo component in the Form through code. When trying to set align for a TMemo I get the errors shown below. When trying to set it straight from the code like: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i Memo1.Align:='alRight'; I get the error below. Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i Compile Project, Target: /media/aruna/linux-next/home/DEMO/project1: Exit code 1, Errors: 1, Hints: 1unit4.pas(36,25) Error: Incompatible type for arg no. 1: Got "Constant String", expected "TAlign"control.inc(4038,20) Hint: Found declaration: SetAlign(TAlign); This is trying to set align using a TCcomboBox: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i Memo1.Align:=combobox1.Items.Strings[combobox1.ItemIndex]; I get the error below. Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i Compile Project, Target: /media/aruna/linux-next/home/DEMO/project1: Exit code 1, Errors: 1, Hints: 1unit4.pas(38,60) Error: Incompatible type for arg no. 1: Got "AnsiString", expected "TAlign"control.inc(4038,20) Hint: Found declaration: SetAlign(TAlign); This works : Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i Memo1.Align:= alRight; So how do I convert a 'Constant String' or 'Ansi String' to TAlign, please? Thank you, Aruna ---------------------------------------------------------------------- lainz · 2022-12-01 23:29 Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i function StrToALign(const s: String): TAlign;begin  case s of    'alRight': exit(alRight);    'alLeft': exit(alLeft);    'alTop': exit(alTop);    'alBottom': exit(alBottom);    'alNone': exit(alNone);  end;end; ---------------------------------------------------------------------- dsiders · 2022-12-02 00:07 Quote from: lainz on December 02, 2022, 12:29:23 amCode: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i function StrToALign(const s: String): TAlign;begin  case s of    'alRight': exit(alRight);    'alLeft': exit(alLeft);    'alTop': exit(alTop);    'alBottom': exit(alBottom);    'alNone': exit(alNone);  end;end;  Or: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i uses TypInfo;// ...var EnumVal: Integer; EnumVal := GetEnumValue(TypeInfo(TAlignment), 'taRightJustify');Memo1.Alignment := TAlignment(EnumVal); ---------------------------------------------------------------------- Aruna · 2022-12-02 00:17 Quote from: lainz on December 02, 2022, 12:29:23 amCode: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i function StrToALign(const s: String): TAlign;begin  case s of    'alRight': exit(alRight);    'alLeft': exit(alLeft);    'alTop': exit(alTop);    'alBottom': exit(alBottom);    'alNone': exit(alNone);  end;end;  Works like a charm @lainz Thank you. ---------------------------------------------------------------------- Martin_fr · 2022-12-02 00:52 Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i var t: TAlign; s: String;begin  s := 'alTop';  try    ReadStr(s, t);  except    // in case s was 'bad value' ...  end;  Memo1.Align := t;end; ---------------------------------------------------------------------- Aruna · 2022-12-02 01:33 Quote from: dsiders on December 02, 2022, 01:07:15 amOr: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i uses TypInfo;// ...var EnumVal: Integer; EnumVal := GetEnumValue(TypeInfo(TAlignment), 'taRightJustify');Memo1.Alignment := TAlignment(EnumVal); Hi @dsiders this works for the actual 'content' in the Tmemo I was actually asking for the 'Align' property but what you have sent has taught me how to justify things in the Tmemo so it is all good. Thank you very much. ---------------------------------------------------------------------- Aruna · 2022-12-02 01:44 Quote from: Martin_fr on December 02, 2022, 01:52:05 amCode: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i var t: TAlign; s: String;begin  s := 'alTop';  try    ReadStr(s, t);  except    // in case s was 'bad value' ...  end;  Memo1.Align := t;end; Hi @Martin_fr Yours works like a charm too. Thank you. The more I use Lazarus the more I am beginning to realize the types of applications you can create with Lazarus are limited only by your imagination