1.   Не все браузеры поддерживает «MathML».

2.   Доскональное изучение «MathML» громоздко и сложно для обычного пользователя.

На момент написания «MathBuilder» из браузеров, которые поддерживают язык математической разметки был только Mozilla 0.9.9 и Internet Explorer 5.5 остальные не поддерживают без плагинов (англ. plug-in дополнительная программа для выполнения каких либо специфических функций). Однако, метод которым пользуется MahBuilder поддерживается всеми браузерами.

Вышеописанная программа, на мой взгляд, вносит некий вклад в развитие математических представлений в Web, потому что на всех математических сайтах, математические формулы представлены как на рисунке № 3,то есть с новой строчки, что менее корректно выглядит, в отличии от рисунка №4, когда формула отображается в той же строке, что и текст. Следовательно целесообразнее использовать метод, используемый в MathBuilder.

Приложение №1

Исходный код программы MathBuilder.

unit MyEditu;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, ExtCtrls, Menus, ExtDlgs, shellapi;

type

TForm1 = class(TForm)

Memo1: TMemo;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N7: TMenuItem;

SaveDialog2: TSaveDialog;

N6: TMenuItem;

N8: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

OpenDialog3: TOpenDialog;

OpenDialog2: TOpenDialog;

N9: TMenuItem;

N12: TMenuItem;

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N12Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit4;

//es Unit2;

{$R *.DFM}

procedure TForm1.N2Click(Sender: TObject);

begin

With OpenDialog1 do

If Execute Then

Begin

memo1.lines.loadfromfile(Filename);

ExtractFilename(Filename);

SaveDialog1.FileName := Filename;

Filename := '';

End;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Memo1.Lines.SaveToFile(SaveDialog1.FileName);

end;

procedure TForm1.N4Click(Sender: TObject);

begin

with SaveDialog1 do

If execute Then

Memo1.Lines.SaveToFile(SaveDialog1.FileName);

end;

procedure TForm1.N5Click(Sender: TObject);

var list: TStringList;

tmpString: string;

i,CurrentSymbol,SeekSymbol, lastTag: integer;

notFound: boolean;

begin

 With SaveDialog2 do

 If execute then

Begin

list:=TStringList.Create;

for i:=0 to memo1.Lines.Count-1 do list.Add(memo1.lines[i]);

list.Insert(0,'<HTML>');

 list.Add('</HTML>');

for i:=1 to memo1.Lines.Count do

begin

lastTag:=1; tmpString:='';

for CurrentSymbol:=1 to Length(List[i]) - 9 do

if Copy(List[i], CurrentSymbol, 9) = '<img src=' then

begin

SeekSymbol:=CurrentSymbol; notFound:=true;

while (SeekSymbol <= Length(List[i])) and (notFound) do

begin

if Copy(List[i], SeekSymbol, 1) = '>' then

begin

tmpString := tmpString+'<td>'+

Copy(List[i],lastTag,CurrentSymbol-lastTag)+

'</td><td align=bottom>'+

Copy(List[i],CurrentSymbol,SeekSymbol-CurrentSymbol+1) +'</td>';

lastTag:=SeekSymbol+1; notFound:=false;

end;

inc(SeekSymbol);

end;

end;

if tmpString<>'' then

begin

tmpString:=tmpString+'<td>'+Copy(List[i],lastTag, Length(List[i])-lastTag+1)+'</td>';

List[i]:='<table>'+tmpString+'</table>';

end;

end;

List.SaveToFile(Filename);

list.Free;

End;

end;

procedure TForm1.N6Click(Sender: TObject);

// prosmotr

var list: TStringList;

tmpString: string;

i,CurrentSymbol,SeekSymbol, lastTag: integer;

notFound: boolean;

Begin

list:=TStringList.Create;

for i:=0 to memo1.Lines.Count-1 do list.Add(memo1.lines[i]);

list.Insert(0,'<HTML>');

list.Add('</HTML>');

for i:=1 to memo1.Lines.Count do

begin

lastTag:=1; tmpString:='';

for CurrentSymbol:=1 to Length(List[i]) - 9 do

if Copy(List[i], CurrentSymbol, 9) = '<img src=' then

begin

SeekSymbol:=CurrentSymbol; notFound:=true;

while (SeekSymbol <= Length(List[i])) and (notFound) do

begin

if Copy(List[i], SeekSymbol, 1) = '>' then

begin

tmpString := tmpString+'<td>'+

Copy(List[i],lastTag,CurrentSymbol-lastTag)+

'</td><td align=bottom>'+

Copy(List[i],CurrentSymbol,SeekSymbol-CurrentSymbol+1) +'</td>';

lastTag:=SeekSymbol+1; notFound:=false;

end;

inc(SeekSymbol);

end;

end;

if tmpString<>'' then

begin

tmpString:=tmpString+'<td>'+Copy(List[i],lastTag, Length(List[i])-lastTag+1)+'</td>';

List[i]:='<table>'+tmpString+'</table>';

end;

end;

List.SaveToFile('tmp.html');

list.Free;

ShellExecute(handle, 'open', 'tmp.html', '', '', SW_SHOW);

//winexec('tmp.html', SW_SHOW)

//Form2.showModal;

End;

 //end of prosmotr }

procedure TForm1.N8Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N10Click(Sender: TObject);

var tmpMemo: string;

begin

With OpenDialog2 do

 if execute then

Begin

begin

tmpMemo:=tmpMemo + '<img src=' + ExtractFilename(Filename) + '>';

Memo1.SelText :=tmpMemo;

end;

End;

end;

procedure TForm1.N11Click(Sender: TObject);

var Href: String;

begin

With OpenDialog3 do

 if Execute then

 Begin

Href:=Href + '<a href=' + ExtractFilename(OpenDialog3.Filename) + '>'

+ 'Ссылка' + '</a>';

Memo1.SelText :=Href;

End;

end;

procedure TForm1.N12Click(Sender: TObject);

begin

form4.ShowModal;

end;

end.


Приложение№2.

Скриншоты.

Рис.1

Рис.2

Рис.3

Рис.4


Информация о работе «Особенности создания математических формул в Web»
Раздел: Информатика, программирование
Количество знаков с пробелами: 22050
Количество таблиц: 0
Количество изображений: 4

Похожие работы

Скачать
56202
22
2

... + C_{n-1}^{k-1}$[/math] 3. Постановка задачи   Передо мной была поставлена задача: создать решение проблемы отображения математических и других формул для форума физико-математического факультета Орловского государственного университета, используя установленный форумный движок phpBB3, издательскую систему TeX, пакет расширений LaTeX и пакет для обработки графических файлов ImageMagick. ...

Скачать
139168
3
0

... . Таким образом предлагается рассматривать компьютерную технологию обучения как основную составляющую информационной технологий обучения. 1.2 Дидактические принципы, свойства и особенности использования компьютерных технологий в педагогическом процессе Применение средств КТ в современном образовании основано на дидактических принципах, свойствах и особенностях их использования. Под ...

Скачать
31311
1
23

ок. Математическая модель составляется в MathCad, где получатся графики зависимости силы и момента, и в результате анализ данной задачи. 1 Математическое моделирование технических объектов 1.1 Понятие математической модели Моделирование представляет собой процесс замещение объекта исследования некоторой его моделью и проведение исследование на модели с целью получения необходимой ...

Скачать
89611
3
4

... не зависимый от языка способ создания кода и привязки его к запросам Web-страниц, — .NET Web Forms — управляемую событиями программную модель взаимодействия с элементами управления. Она дела­ет программирование Web-страниц аналогичным программи­рованию форм Visual Basic. ASP.NET содержит развитые сред­ства управления сеансами и функции защиты. Она надежнее, и производительность ее значительно выше ...

0 комментариев


Наверх