Есть код на 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? Да и вообще как-то все криво получается.