Как перенести простой проект с delphi на C#?

Есть код на DELPHI:

template : string =
    '<div class="col-8 col-lg-4 col-md-5">' + sLineBreak +
    '<div class="boxCatalog">' + sLineBreak +
    '<img alt="" src="%s">' + sLineBreak +
    '<table>' + sLineBreak +
    '<tr><th>Модель:</th><td>%s</td></tr>' + sLineBreak +
    '<tr><th>Артикул:</th><td>%s</td></tr>' + sLineBreak +
    '<tr><th>Размер:</th><td>%s</td></tr>' + sLineBreak +
    '<tr><th>Цена:</th><td></td></tr>' + sLineBreak +
    '</table>' + sLineBreak +
    '</div>' + sLineBreak +
    '</div>';

В memo1 подаются строки, по нажатию кнопки - в memo2 формируется HTML код по шаблону выше:

procedure TForm1.Button1Click(Sender: TObject);
var s : string;
  i : integer;
begin
  s := '';
  a := Memo1.Lines.Count div 4;
  for i:=0 to a do
  begin
      Label2.Caption:=inttostr(a);
      s := s + Format(template + sLineBreak, [Memo1.lines[0], Memo1.lines[1], Memo1.lines[2], Memo1.lines[3]] );
      Memo1.lines.Delete(3);
      Memo1.lines.Delete(2);
      Memo1.lines.Delete(1);
      Memo1.lines.Delete(0);
  end;
  Memo2.Text := s;
end;

Вот пытаюсь перенести:

Сделал шаблон:

public string str =  "<div class='col-8 col-lg-4 col-md-5'>" + "\n" +
                             @"<div class=""boxCatalog"">" + "\n" +
                             @"<img alt="" src=""%s"">" + "\n" +
                             "<table>" + "\n" +
                             "<tr><th>Модель:</th><td>%s</td></tr>" + "\n" +
                             "<tr><th>Артикул:</th><td>%s</td></tr>" + "\n" +
                             "<tr><th>Размер:</th><td>%s</td></tr>" + "\n" +
                             "<tr><th>Цена:</th><td></td></tr>" + "\n" +
                             "</table>" + "\n" +
                             "</div>" + "\n" +
                             "</div>";

Пытаюсь заполнить listbox данными:

string s = "";
            int a; 
            a = listBox2.Items.Count / 4;
            
            for (int i = 0; i<=a; i++)
            { 
                s = s + str + Environment.NewLine;  // вот здесь должен быть аналог s := s + Format(template + sLineBreak, [Memo1.lines[0], Memo1.lines[1], Memo1.lines[2], Memo1.lines[3]] );
                listBox2.Items.Add(s);
            }

Данные отображаются, но как в них подставить значения из listbox1? Да и вообще как-то все криво получается.
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы