Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kumir2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
2
Issues
2
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
kumir
kumir2
Commits
a02c6105
Commit
a02c6105
authored
Sep 17, 2014
by
Victor Yacovlev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implemented #kumir2-1676
parent
12f58ed0
Changes
23
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
267 additions
and
177 deletions
+267
-177
share/kumir2/translations/CoreGUI_ru.ts
share/kumir2/translations/CoreGUI_ru.ts
+122
-117
src/plugins/coregui/plugin.cpp
src/plugins/coregui/plugin.cpp
+3
-1
src/shared/docbookviewer/contentview.cpp
src/shared/docbookviewer/contentview.cpp
+14
-7
src/shared/docbookviewer/contentview.h
src/shared/docbookviewer/contentview.h
+1
-1
src/shared/docbookviewer/docbookfactory.cpp
src/shared/docbookviewer/docbookfactory.cpp
+17
-1
src/shared/docbookviewer/docbookfactory.h
src/shared/docbookviewer/docbookfactory.h
+1
-0
src/shared/docbookviewer/docbookmodel.cpp
src/shared/docbookviewer/docbookmodel.cpp
+23
-0
src/shared/docbookviewer/docbookmodel.h
src/shared/docbookviewer/docbookmodel.h
+4
-0
src/shared/docbookviewer/docbookview.cpp
src/shared/docbookviewer/docbookview.cpp
+7
-2
src/shared/docbookviewer/docbookview.h
src/shared/docbookviewer/docbookview.h
+2
-5
src/shared/docbookviewer/docbookview_impl.cpp
src/shared/docbookviewer/docbookview_impl.cpp
+23
-2
src/shared/docbookviewer/docbookview_impl.h
src/shared/docbookviewer/docbookview_impl.h
+3
-5
src/shared/docbookviewer/sidepanel.cpp
src/shared/docbookviewer/sidepanel.cpp
+13
-8
src/shared/docbookviewer/sidepanel.h
src/shared/docbookviewer/sidepanel.h
+1
-1
userdocs/ActorDraw.xml
userdocs/ActorDraw.xml
+2
-1
userdocs/ActorIsometricRobot.xml
userdocs/ActorIsometricRobot.xml
+1
-0
userdocs/ActorPainter.xml
userdocs/ActorPainter.xml
+1
-0
userdocs/ActorRobot.xml
userdocs/ActorRobot.xml
+1
-0
userdocs/ActorTurtle.xml
userdocs/ActorTurtle.xml
+2
-1
userdocs/ActorVodoley.xml
userdocs/ActorVodoley.xml
+2
-1
userdocs/language/ActorFiles.xml
userdocs/language/ActorFiles.xml
+2
-3
userdocs/language/ActorStringUtils.xml
userdocs/language/ActorStringUtils.xml
+2
-3
userdocs/language/builtin-actors-highgrade.xml
userdocs/language/builtin-actors-highgrade.xml
+20
-18
No files found.
share/kumir2/translations/CoreGUI_ru.ts
View file @
a02c6105
This diff is collapsed.
Click to expand it.
src/plugins/coregui/plugin.cpp
View file @
a02c6105
...
...
@@ -438,6 +438,7 @@ QString Plugin::initialize(const QStringList & parameters, const ExtensionSystem
// qDebug() << "LINE DEBUG: " << QFileInfo(QString(__FILE__)).fileName() << ":" << __LINE__;
actors
+=
loadedPlugins
(
"st_funct"
);
// qDebug() << "LINE DEBUG: " << QFileInfo(QString(__FILE__)).fileName() << ":" << __LINE__;
QList
<
QUrl
>
actorHelpFiles
;
foreach
(
ExtensionSystem
::
KPlugin
*
o
,
actors
)
{
ActorInterface
*
actor
=
qobject_cast
<
ActorInterface
*>
(
o
);
const
QString
actorName
=
Shared
::
actorCanonicalName
(
actor
->
localizedModuleName
(
QLocale
::
Russian
));
...
...
@@ -446,7 +447,7 @@ QString Plugin::initialize(const QStringList & parameters, const ExtensionSystem
QWidget
*
w
=
0
;
const
QString
actorHelpFile
=
helpPath
+
o
->
pluginSpec
().
name
+
".xml"
;
if
(
!
actor
->
localizedModuleName
(
QLocale
::
Russian
).
startsWith
(
"_"
)
&&
QFile
(
actorHelpFile
).
exists
())
{
helpViewer_
->
addDocument
(
QUrl
::
fromLocalFile
(
actorHelpFile
));
actorHelpFiles
.
append
(
QUrl
::
fromLocalFile
(
actorHelpFile
));
}
if
(
actor
->
mainWidget
())
{
QWidget
*
actorWidget
=
actor
->
mainWidget
();
...
...
@@ -552,6 +553,7 @@ QString Plugin::initialize(const QStringList & parameters, const ExtensionSystem
}
}
helpViewer_
->
addDocuments
(
tr
(
"Actor's References"
),
actorHelpFiles
);
// qDebug() << "LINE DEBUG: " << QFileInfo(QString(__FILE__)).fileName() << ":" << __LINE__;
if
(
!
parameters
.
contains
(
"nostartpage"
,
Qt
::
CaseInsensitive
))
{
...
...
src/shared/docbookviewer/contentview.cpp
View file @
a02c6105
...
...
@@ -113,14 +113,18 @@ QString ContentView::renderChapter(ModelPtr data) const
return
result
;
}
QString
ContentView
::
renderAbstract
(
ModelPtr
data
)
const
QString
ContentView
::
renderAbstract
(
ModelPtr
data
,
bool
wrapInDivClassAbstract
)
const
{
QString
result
;
result
+=
"<div class='abstract'>"
;
if
(
wrapInDivClassAbstract
)
{
result
+=
"<div class='abstract'>"
;
}
foreach
(
ModelPtr
child
,
data
->
children
())
{
result
+=
renderElement
(
child
);
}
result
+=
"</div>"
;
if
(
wrapInDivClassAbstract
)
{
result
+=
"</div>"
;
}
return
result
;
}
...
...
@@ -136,7 +140,7 @@ QString ContentView::renderArticle(ModelPtr data) const
}
}
if
(
abstract
)
{
result
+=
renderAbstract
(
abstract
);
result
+=
renderAbstract
(
abstract
,
true
);
}
result
+=
"<hr/>"
;
foreach
(
ModelPtr
child
,
data
->
children
())
{
...
...
@@ -1515,9 +1519,12 @@ QString ContentView::renderSet(ModelPtr data) const
ds
<<
dataPtr
;
const
QString
href
=
QString
::
fromLatin1
(
"model_ptr:"
)
+
QString
::
fromLatin1
(
buffer
.
toHex
());
result
+=
"<p align=
\"
left
\"
><a href=
\"
"
+
href
+
"
\"
>"
+
child
->
title
()
+
"</a></p>
\n
"
;
result
+=
"<p margin='10' align='left'>"
+
child
->
subtitle
()
+
"</p>"
;
result
+=
"<h2><a href=
\"
"
+
href
+
"
\"
>"
+
child
->
title
()
+
"</a></h2>
\n
"
;
ModelPtr
abstract
=
child
->
findChildrenOfType
(
Abstract
);
if
(
abstract
)
{
result
+=
renderAbstract
(
abstract
,
false
);
}
}
return
result
;
...
...
src/shared/docbookviewer/contentview.h
View file @
a02c6105
...
...
@@ -42,7 +42,7 @@ private:
QString
renderSet
(
ModelPtr
data
)
const
;
QString
renderChapter
(
ModelPtr
data
)
const
;
QString
renderArticle
(
ModelPtr
data
)
const
;
QString
renderAbstract
(
ModelPtr
data
)
const
;
QString
renderAbstract
(
ModelPtr
data
,
bool
wrapInDivClassAbstract
)
const
;
QString
renderTOC
(
ModelPtr
data
)
const
;
QString
renderTOCElement
(
ModelPtr
data
,
quint8
level
,
bool
enumerate
)
const
;
QString
renderPlainPage
(
ModelPtr
data
)
const
;
...
...
src/shared/docbookviewer/docbookfactory.cpp
View file @
a02c6105
...
...
@@ -40,6 +40,18 @@ Document DocBookFactory::parseDocument(const QMap<ModelType,QString> roleValues,
return
Document
(
url
,
content
);
}
Document
DocBookFactory
::
createNamedSet
(
const
QString
&
name
,
const
QList
<
Document
>
documents
)
const
{
ModelPtr
namedSetRoot
(
new
DocBookModel
(
ModelPtr
(),
Set
));
namedSetRoot
->
title_
=
name
;
Q_FOREACH
(
const
Document
&
doc
,
documents
)
{
namedSetRoot
->
children_
.
append
(
doc
.
root_
);
doc
.
root_
->
parent_
=
namedSetRoot
;
}
return
Document
(
QUrl
(),
namedSetRoot
);
}
ModelPtr
DocBookFactory
::
parseDocument
(
const
QMap
<
ModelType
,
QString
>
&
roles
,
QIODevice
*
stream
,
...
...
@@ -313,7 +325,7 @@ bool DocBookFactory::startElement(
model
->
xrefLinkEnd_
=
atts
.
value
(
"linkend"
);
model
->
xrefEndTerm_
=
atts
.
value
(
"endterm"
);
}
else
if
(
element
==
"title"
||
element
==
"subtitle"
)
{
else
if
(
element
==
"title"
||
element
==
"subtitle"
||
element
==
"titleabbrev"
)
{
buffer_
.
clear
();
}
else
if
(
element
==
"include"
&&
XInclude
.
indexIn
(
namespaceURI
)
!=-
1
)
{
...
...
@@ -559,6 +571,10 @@ bool DocBookFactory::endElement(const QString &namespaceURI,
root_
->
title_
=
buffer_
;
buffer_
.
clear
();
}
else
if
(
root_
&&
element
==
"titleabbrev"
)
{
root_
->
titleAbbrev_
=
buffer_
;
buffer_
.
clear
();
}
else
if
(
root_
&&
element
==
"subtitle"
)
{
root_
->
subtitle_
=
buffer_
;
buffer_
.
clear
();
...
...
src/shared/docbookviewer/docbookfactory.h
View file @
a02c6105
...
...
@@ -32,6 +32,7 @@ public:
);
static
QMap
<
QString
,
ModelPtr
>
&
updateListOfAlgorithms
(
ModelPtr
root
,
QMap
<
QString
,
ModelPtr
>
&
result
);
Document
createNamedSet
(
const
QString
&
name
,
const
QList
<
Document
>
documents
)
const
;
...
...
src/shared/docbookviewer/docbookmodel.cpp
View file @
a02c6105
...
...
@@ -35,6 +35,14 @@ const QString& DocBookModel::title() const
return
title_
;
}
QString
DocBookModel
::
titleAbbrev
()
const
{
if
(
titleAbbrev_
.
isEmpty
())
return
title_
;
else
return
titleAbbrev_
;
}
const
QString
&
DocBookModel
::
subtitle
()
const
{
return
subtitle_
;
...
...
@@ -80,6 +88,21 @@ ModelPtr DocBookModel::indexParent() const
return
indexParent_
;
}
ModelPtr
DocBookModel
::
findChildrenOfType
(
const
ModelType
modelType
)
const
{
ModelPtr
result
;
foreach
(
ModelPtr
child
,
children_
)
{
if
(
modelType
==
child
->
modelType
())
{
result
=
child
;
}
else
{
result
=
child
->
findChildrenOfType
(
modelType
);
}
if
(
result
)
break
;
}
return
result
;
}
const
QList
<
ModelPtr
>&
DocBookModel
::
children
()
const
{
return
children_
;
...
...
src/shared/docbookviewer/docbookmodel.h
View file @
a02c6105
...
...
@@ -36,6 +36,7 @@ public:
ModelType
modelType
()
const
;
const
QString
&
id
()
const
;
const
QString
&
title
()
const
;
QString
titleAbbrev
()
const
;
const
QString
&
subtitle
()
const
;
const
QString
&
text
()
const
;
const
QString
&
role
()
const
;
...
...
@@ -52,6 +53,8 @@ public:
ModelPtr
self
()
const
;
ModelPtr
findChildrenOfType
(
const
ModelType
modelType
)
const
;
protected
/*methods*/
:
explicit
DocBookModel
(
ModelPtr
parent
,
const
ModelType
modelType
);
...
...
@@ -64,6 +67,7 @@ protected /*fields*/:
ModelType
modelType_
;
unsigned
short
sectionLevel_
;
QString
title_
;
QString
titleAbbrev_
;
QString
subtitle_
;
QString
text_
;
QString
id_
;
...
...
src/shared/docbookviewer/docbookview.cpp
View file @
a02c6105
...
...
@@ -64,9 +64,14 @@ QAction * DocBookView::viewerAction(const DocBookViewAction type) const
return
pImpl_
->
viewerAction
(
type
);
}
Document
DocBookView
::
addDocument
(
const
QUrl
&
url
,
QString
*
error
,
int
index
)
Document
DocBookView
::
addDocument
(
const
QUrl
&
url
,
QString
*
error
)
{
return
pImpl_
->
addDocument
(
url
,
error
,
index
);
return
pImpl_
->
addDocument
(
url
,
error
);
}
Document
DocBookView
::
addDocuments
(
const
QString
&
groupName
,
const
QList
<
QUrl
>
&
urls
,
QString
*
error
)
{
return
pImpl_
->
addDocuments
(
groupName
,
urls
,
error
);
}
void
DocBookView
::
removeDocument
(
const
Document
&
existingDocument
)
...
...
src/shared/docbookviewer/docbookview.h
View file @
a02c6105
...
...
@@ -51,11 +51,8 @@ public:
~
DocBookView
();
Document
addDocument
(
const
QUrl
&
url
,
QString
*
error
=
0
,
int
index
=
-
1
);
Document
addDocument
(
const
QUrl
&
url
,
QString
*
error
=
0
);
Document
addDocuments
(
const
QString
&
groupName
,
const
QList
<
QUrl
>
&
urls
,
QString
*
error
=
0
);
void
removeDocument
(
const
Document
&
existingDocument
);
...
...
src/shared/docbookviewer/docbookview_impl.cpp
View file @
a02c6105
...
...
@@ -239,17 +239,38 @@ QAction * DocBookViewImpl::viewerAction(const DocBookView::DocBookViewAction typ
return
0
;
}
Document
DocBookViewImpl
::
addDocument
(
const
QUrl
&
url
,
QString
*
error
,
int
index
)
Document
DocBookViewImpl
::
addDocument
(
const
QUrl
&
url
,
QString
*
error
)
{
DocBookFactory
*
factory
=
DocBookFactory
::
self
();
Document
doc
=
factory
->
parseDocument
(
roleValues_
,
url
,
error
);
sidePanel_
->
addDocument
(
doc
);
sidePanel_
->
addDocument
(
doc
,
true
);
if
(
content_
->
isEmpty
())
{
content_
->
renderData
(
doc
.
root_
);
}
return
doc
;
}
Document
DocBookViewImpl
::
addDocuments
(
const
QString
&
groupName
,
const
QList
<
QUrl
>
&
urls
,
QString
*
error
)
{
DocBookFactory
*
factory
=
DocBookFactory
::
self
();
QList
<
Document
>
docs
;
Q_FOREACH
(
const
QUrl
&
url
,
urls
)
{
Document
doc
=
factory
->
parseDocument
(
roleValues_
,
url
,
error
);
if
(
doc
.
root_
.
isNull
())
{
if
(
error
)
{
error
->
prepend
(
QString
(
"In %1: "
).
arg
(
url
.
toString
()));
}
}
else
{
docs
.
append
(
doc
);
}
}
Document
set
=
factory
->
createNamedSet
(
groupName
,
docs
);
sidePanel_
->
addDocument
(
set
,
false
);
return
set
;
}
bool
DocBookViewImpl
::
hasAlgorithm
(
const
QString
&
name
)
const
{
const
ModelPtr
algorithm
=
sidePanel_
->
findApiFunction
(
name
);
...
...
src/shared/docbookviewer/docbookview_impl.h
View file @
a02c6105
...
...
@@ -28,11 +28,9 @@ class DocBookViewImpl
public
/* methods */
:
explicit
DocBookViewImpl
(
class
DocBookView
*
pClass
);
QAction
*
viewerAction
(
const
DocBookView
::
DocBookViewAction
type
)
const
;
class
Document
addDocument
(
const
QUrl
&
url
,
QString
*
error
,
int
index
);
class
Document
addDocument
(
const
QUrl
&
url
,
QString
*
error
);
class
Document
addDocuments
(
const
QString
&
groupName
,
const
QList
<
QUrl
>
&
urls
,
QString
*
error
=
0
);
void
removeDocument
(
const
Document
&
existingDocument
);
bool
hasAlgorithm
(
const
QString
&
name
)
const
;
...
...
src/shared/docbookviewer/sidepanel.cpp
View file @
a02c6105
...
...
@@ -41,11 +41,11 @@ SidePanel::SidePanel(QWidget *parent) :
}
void
SidePanel
::
addDocument
(
Document
document
)
void
SidePanel
::
addDocument
(
Document
document
,
bool
bookSetItemsAsTopLevel
)
{
QList
<
ModelPtr
>
topLevelItems
;
if
(
document
.
root_
)
{
if
(
document
.
root_
->
modelType
()
==
Set
)
{
if
(
document
.
root_
->
modelType
()
==
Set
&&
bookSetItemsAsTopLevel
)
{
topLevelItems
=
document
.
root_
->
children
();
}
else
{
...
...
@@ -59,8 +59,11 @@ void SidePanel::addDocument(Document document)
QTreeWidgetItem
*
item
=
new
QTreeWidgetItem
(
ui
->
contentsNavigator
);
ui
->
contentsNavigator
->
addTopLevelItem
(
item
);
item
->
setText
(
0
,
model
->
title
());
item
->
setToolTip
(
0
,
model
->
subtitle
());
item
->
setText
(
0
,
model
->
titleAbbrev
());
item
->
setToolTip
(
0
,
model
->
titleAbbrev
()
==
model
->
title
()
?
model
->
subtitle
()
:
model
->
title
()
);
createNavigationItems
(
item
,
model
);
createListOfExamples
(
model
);
createListOfTables
(
model
);
...
...
@@ -206,8 +209,10 @@ void SidePanel::createNavigationItems(QTreeWidgetItem *item,
ModelPtr
child
=
model
->
children
()[
i
];
if
(
child
->
isSectioningNode
())
{
QTreeWidgetItem
*
childItem
=
new
QTreeWidgetItem
(
item
);
childItem
->
setText
(
0
,
child
->
title
());
childItem
->
setToolTip
(
0
,
child
->
subtitle
());
childItem
->
setText
(
0
,
child
->
titleAbbrev
());
childItem
->
setToolTip
(
0
,
child
->
titleAbbrev
()
==
child
->
title
()
?
child
->
subtitle
()
:
child
->
title
());
modelsOfItems_
[
childItem
]
=
child
;
itemsOfModels_
[
child
]
=
childItem
;
createNavigationItems
(
childItem
,
child
);
...
...
@@ -228,7 +233,7 @@ void SidePanel::createListOfExamples(ModelPtr root)
if
(
listOfExamples
)
{
QTreeWidgetItem
*
topLevelItem
=
new
QTreeWidgetItem
(
ui
->
examplesNavigator
);
topLevelItem
->
setText
(
0
,
listOfExamples
->
title
());
topLevelItem
->
setText
(
0
,
listOfExamples
->
title
Abbrev
());
topLevelItem
->
setToolTip
(
0
,
tr
(
"List of examples in
\"
%1
\"
"
)
.
arg
(
listOfExamples
->
title
()));
ui
->
examplesNavigator
->
addTopLevelItem
(
topLevelItem
);
...
...
@@ -256,7 +261,7 @@ void SidePanel::createListOfTables(ModelPtr root)
if
(
listOfTables
)
{
QTreeWidgetItem
*
topLevelItem
=
new
QTreeWidgetItem
(
ui
->
tablesNavigator
);
topLevelItem
->
setText
(
0
,
listOfTables
->
title
());
topLevelItem
->
setText
(
0
,
listOfTables
->
title
Abbrev
());
topLevelItem
->
setToolTip
(
0
,
tr
(
"List of tables in
\"
%1
\"
"
)
.
arg
(
listOfTables
->
title
()));
ui
->
tablesNavigator
->
addTopLevelItem
(
topLevelItem
);
...
...
src/shared/docbookviewer/sidepanel.h
View file @
a02c6105
...
...
@@ -23,7 +23,7 @@ class SidePanel : public QWidget
public:
explicit
SidePanel
(
QWidget
*
parent
=
0
);
void
addDocument
(
Document
document
);
void
addDocument
(
Document
document
,
bool
bookSetItemsAsTopLevel
);
QList
<
ModelPtr
>
loadedDocuments
()
const
;
void
saveState
(
ExtensionSystem
::
SettingsPtr
settings
,
const
QString
&
prefix
);
void
restoreState
(
ExtensionSystem
::
SettingsPtr
settings
,
const
QString
&
prefix
);
...
...
userdocs/ActorDraw.xml
View file @
a02c6105
...
...
@@ -5,7 +5,8 @@
[]
>
<article>
<title>
Чертежник
</title>
<title>
Исполнитель "Чертежник"
</title>
<titleabbrev>
Чертежник
</titleabbrev>
<!--
Write module documentation here.
...
...
userdocs/ActorIsometricRobot.xml
View file @
a02c6105
...
...
@@ -6,6 +6,7 @@
>
<article>
<title>
Исполнитель "Вертун"
</title>
<titleabbrev>
Вертун
</titleabbrev>
<section>
<title>
Общие сведения
</title>
<para>
...
...
userdocs/ActorPainter.xml
View file @
a02c6105
...
...
@@ -7,6 +7,7 @@
]>
<article>
<title>
Исполнитель "Рисователь"
</title>
<titleabbrev>
Рисователь
</titleabbrev>
<abstract>
<para>
Рисователь -- исполнитель системы Кумир. Назначение Рисователя -- создавать
...
...
userdocs/ActorRobot.xml
View file @
a02c6105
...
...
@@ -7,6 +7,7 @@
]>
<article
id=
"Исполнитель Робот"
>
<title>
Исполнитель "Робот"
</title>
<titleabbrev>
Робот
</titleabbrev>
<section
id=
"Введение"
>
<title>
Введение
</title>
<section
id=
"Обстановки Робота"
>
...
...
userdocs/ActorTurtle.xml
View file @
a02c6105
...
...
@@ -5,7 +5,8 @@
[]
>
<article>
<title>
Черепаха
</title>
<title>
Исполнитель "Черепаха"
</title>
<titleabbrev>
Черепаха
</titleabbrev>
<!--
Write module documentation here.
...
...
userdocs/ActorVodoley.xml
View file @
a02c6105
...
...
@@ -5,7 +5,8 @@
[]
>
<article>
<title>
Водолей
</title>
<title>
Исполнитель "Водолей"
</title>
<titleabbrev>
Водолей
</titleabbrev>
<!--
Write module documentation here.
...
...
userdocs/language/ActorFiles.xml
View file @
a02c6105
...
...
@@ -3,10 +3,9 @@
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[]>
<article
xmlns=
"http://www.oasis-open.org/docbook/xml/4.5/"
xmlns:xi=
"http://www.w3.org/2001/XInclude"
>
<title>
Исполнитель "Файлы"
</title>
<subtitle>
Чтение и запись файлов
</subtitle>
<title>
Чтение и запись файлов
</title>
<section>
<title>
Использование исполнителя
</title>
<title>
Использование исполнителя
"Файлы"
</title>
<para>
В версиях Кумир для начальных и средних классов алгоритмы работы с файлами
находятся в исполнителе
<code
role=
"кумир"
>
Файлы
</code>
.
...
...
userdocs/language/ActorStringUtils.xml
View file @
a02c6105
...
...
@@ -3,10 +3,9 @@
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[]>
<article
xmlns=
"http://www.oasis-open.org/docbook/xml/4.5/"
xmlns:xi=
"http://www.w3.org/2001/XInclude"
>
<title>
Исполнитель "Строки"
</title>
<subtitle>
Алгоритмы обработки строк
</subtitle>
<title>
Алгоритмы обработки строк
</title>
<section>
<title>
Использование исполнителя
</title>
<title>
Использование исполнителя
"Строки"
</title>
<para>
В версиях Кумир для начальных и средних классов алгоритмы работы со строками
находятся в исполнителе
<code
role=
"кумир"
>
Строки
</code>
.
...
...
userdocs/language/builtin-actors-highgrade.xml
View file @
a02c6105
...
...
@@ -3,22 +3,24 @@
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[]>
<article
xmlns=
"http://www.oasis-open.org/docbook/xml/4.5/"
xmlns:xi=
"http://www.w3.org/2001/XInclude"
>
<title>
Исполнители "Строки" и "Файлы"
</title>
<subtitle>
Обработка строк и работа с файлами
</subtitle>
<para>
В версиях Кумир для старших классов и Кумир для олимпиад
исполнители
<code
role=
"кумир"
>
Строки
</code>
и
<code
role=
"кумир"
>
Файлы
</code>
входят в базовую часть языка программирования.
</para>
<para>
Таким образом, явное подключение этих исполнителя с помощью оператора
<code
role=
"кумир"
>
использовать
</code>
не требуется. В то же время, явное использование не будет
считаться ошибкой.
</para>
<para>
Описание алгоритмов работы со строками находятся в описании языка Кумир
<xref
linkend=
"string-utils"
></xref>
.
</para>
<para>
Описание алгоритмов работы с файлами находится в описании языка Кумир
<xref
linkend=
"files"
></xref>
.
</para>
<title>
Примечания к версии
</title>
<section>
<title>
Исполнители "Строки" и "Файлы"
</title>
<para>
В версиях Кумир для старших классов и Кумир для олимпиад
исполнители
<code
role=
"кумир"
>
Строки
</code>
и
<code
role=
"кумир"
>
Файлы
</code>
входят в базовую часть языка программирования.
</para>
<para>
Таким образом, явное подключение этих исполнителя с помощью оператора
<code
role=
"кумир"
>
использовать
</code>
не требуется. В то же время, явное использование не будет
считаться ошибкой.
</para>
<para>
Описание алгоритмов работы со строками находятся в описании языка Кумир
<xref
linkend=
"string-utils"
></xref>
.
</para>
<para>
Описание алгоритмов работы с файлами находится в описании языка Кумир
<xref
linkend=
"files"
></xref>
.
</para>
</section>
</article>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment