i, j: integer;
s, ss: string;
begin
L:= TStringList.Create;
L.LoadFromFile(fname);
for i:= 0 to L.Count – 1 do
begin
s:= ''; ss:= L[i];
for j:= 1 to length(Ss) do
begin // просматриваем строку
case ss[j] of
'<': S:= S + '<'; // знак < вызывает сбой в читалке
'>': S:= S + '>'; // заменяем, на всякий случай
'^': S:= S + '^'; //
'~': S:= S + '~';
'&': S:= S + '&';
else S:= S + ss[j];
end; // case
end;
L[i]:= ' N| ' + S;
end;
Form1.ListBox1.Items.Assign(L);
L.Free;
end;
procedure NameFB2_File(S: string);
begin //
S:= ExtractFileName(S);
Form1.Caption:= S;
Form1.FB2_file.Text:= ChangeFileExt(S,'.fb2');
end;
procedure TForm1.Open1Click(Sender: TObject);
begin
with OpenDialog1 do
if Execute then
begin
NameFB2_File(FileName);
ListBox1.Clear;
LoadTXT(FileName); // txt
end;
end;
function GetGaner(S: string):string;
var
i: integer;
begin
for i:= 0 to maxg do
if gg[i][2] = S then
begin
result:= gg[i][1];
exit;
end;
result:= s;
end;
procedure SaveAnnotation;
var
i: integer;
begin
OutList.Add('<annotation>');
with form1.Annotation do
for i:= 0 to Lines.Count – 1 do
OutList.Add('<p>'+Lines[i]+'</p>');
OutList.Add('</annotation>');
end;
procedure SavePersons(title: string; LB: TListBox);
var
i: integer;
Person: TPerson;
begin
with LB do
if Count > 0 then
for i:= 0 to Count – 1 do
begin
Person:= TPerson(Items.Objects[i]);
OutList.Add(' <'+title+'>');
with Person do
begin
PrintString('first-name',fname);
PrintString('last-name',lname);
PrintString('middle-name',mname);
PrintString('nick',nick);
PrintString('email',email);
end;
OutList.Add(' </'+title+'>');
end;
end;
procedure SaveSequence;
var
s: string;
begin
with Form1 do
begin
if sequence.Text = '' then exit;
S:= '<sequence name=«' +sequence.Text+'» ';
if tome.Text = ''
then S:= S + '/>'
else S:= S + ' number=«'+tome.Text+'» />';
end;
OutList.Add(S);
end;
procedure SaveDescription;
const