Общие сведения о синтаксисе Visual Basic (VBA)
- Статья
- Чтение занимает 2 мин
В синтаксисе, который описан в разделе справки Visual Basic, посвященном методам, функциям и операторам, показаны все элементы, необходимые для их правильного использования. Примеры в этой теме поясняют, как интерпретировать наиболее часто используемые элементы синтаксиса.
Синтаксис метода Activate
object.Activate
В синтаксисе метода Activate слово «object», написанное курсивом, является заполнителем для предоставляемых данных в данном случае это код, возвращающий объект. Необходимо четко придерживаться написания слов, выделенных полужирным шрифтом. Например, следующая процедура активирует второе окно в активном документе.
Sub MakeActive() Windows(2).Activate End Sub
Синтаксис функции MsgBox
MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])
В синтаксисе функции MsgBox выделенные курсивом слова являются именованными аргументами функции. Аргументы, заключенные в квадратные скобки, использовать не обязательно. (Не используйте квадратные скобки в коде Visual Basic). Единственный обязательный аргумент для функции MsgBox это текст для приглашения.
Аргументы функций и методов можно указывать в коде двумя способами: по позиции или по имени. Чтобы указать аргументы по позиции, придерживайтесь порядка, представленного в синтаксисе, отделяя каждый аргумент запятой, например:
MsgBox "Your answer is correct!",0,"Answer Box"
Чтобы указать аргументы по имени, необходимо после имени аргумента поставить двоеточие и знак равенства ( :=), а затем задать значение аргумента. Именованные аргументы можно указывать в любом порядке, например:
MsgBox Title:="Answer Box", Prompt:="Your answer is correct!"
Синтаксис функций и некоторых методов содержит аргументы, заключенные в скобки. Это необходимо для присвоения значения переменной, так как эти функции и методы возвращают значения. Не используйте скобки, если вы не учитываете возвращаемое значение или не передаете аргументы. Методы, которые не возвращают значения, не нуждаются в их аргументах, заложенных в скобки. Эти рекомендации подходят как для позиционных, так и для именованных аргументов.
В примере ниже возвращаемое значение функции MsgBox представляет собой число, обозначающее выбранную кнопку, которая хранится в переменной
. Так как используется возвращаемое значение, скобки обязательны. Значение переменной отображается в другом окне сообщения.
Sub Question() myVar = MsgBox(Prompt:="I enjoy my job.", _ Title:="Answer Box", Buttons:="4") MsgBox myVar End Sub
Option Compare { Binary | Text | Database }
В синтаксисе оператора Option Compare фигурные скобки и вертикальная черта обозначают обязательный выбор между тремя элементами. (Не используйте фигурные скобки в операторе Visual Basic). Например, этот оператор указывает, что строки модуля будут сравниваться в порядке сортировки без учета регистра.
Option Compare Text
Dim varname
[([ subscripts ])] [ As type, ] [ varname [([ subscripts ])] [ As type ]] . . .В синтаксисе оператора Dim слово Dim является необходимым ключевым словом. Единственным обязательным элементом является элемент varname (имя переменной).
Например, указанный ниже оператор создает три переменные: myVar
, nextVar
и thirdVar
. Они автоматически объявляются переменными типа Variant.
Dim myVar, nextVar, thirdVar
В приведенном ниже примере показано объявление переменной типа String. Добавление типа данных экономит память и помогает находить ошибки в коде.
Dim myAnswer As String
Чтобы объявить несколько переменных в одном операторе, включите тип данных для каждой переменной. Переменным, объявленным без типа данных, автоматически назначается тип Variant.
Dim x As Integer, y As Integer, z As Integer
В представленном ниже операторе переменным x
и y
назначается тип данных Variant. Переменная z
является единственной, которой присваивается тип данных Integer.
Dim x, y, z As Integer
Сокращение для объявления переменных x
и y
типом Integer в приведенном выше операторе
Dim x%, y%, z as Integer
Сокращение для типов: % – Integer; & – Long; @ – Currency; # – Double; ! – Single; $ – String
При объявлении переменной массива необходимо использовать скобки. Подстрочные знаки в этом случае не обязательны. Указанный ниже оператор определяет размеры динамического массива myArray
.
Dim myArray()
См. также
- Типы данных
- Темы по основам Visual Basic
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Базовый синтаксис записи и форматирования
Headings
To create a heading, add one to six # symbols before your heading text. The number of # you use will determine the size of the heading.
# The largest heading ## The second largest heading ###### The smallest heading
When you use two or more headings, GitHub automatically generates a table of contents which you can access by clicking within the file header. Each heading title is listed in the table of contents and you can click a title to navigate to the selected section.
Styling text
You can indicate emphasis with bold, italic, strikethrough, subscript, or superscript text in comment fields and . md
files.
Style | Syntax | Keyboard shortcut | Example | Output |
---|---|---|---|---|
Bold | ** ** or __ __ | Command+B (Mac) or Ctrl+B (Windows/Linux) | **This is bold text** | This is bold text |
Italic | * * or _ _ | Command+I (Mac) or Ctrl+I (Windows/Linux) | *This text is italicized* | This text is italicized |
Strikethrough | ~~ ~~ | ~~This was mistaken text~~ | ||
Bold and nested italic | ** ** and _ _ | **This text is _extremely_ important** | This text is extremely important | |
All bold and italic | *** *** | ***All this text is important*** | All this text is important | |
Subscript | <sub> </sub> | <sub>This is a subscript text</sub> | This is a subscript text | |
Superscript | <sup> </sup> | <sup>This is a superscript text</sup> | This is a superscript text |
Quoting text
You can quote text with a >.
Text that is not a quote > Text that is a quote
Tip: When viewing a conversation, you can automatically quote text in a comment by highlighting the text, then typing R. You can quote an entire comment by clicking , then Quote reply. For more information about keyboard shortcuts, see «Keyboard shortcuts.»
Quoting code
You can call out code or a command within a sentence with single backticks. The text within the backticks will not be formatted. You can also press the Command+E (Mac) or Ctrl+E (Windows/Linux) keyboard shortcut to insert the backticks for a code block within a line of Markdown.
Use `git status` to list all new or modified files that haven't yet been committed.
To format code or text into its own distinct block, use triple backticks.
Some basic Git commands are: ``` git status git add git commit ```
For more information, see «Creating and highlighting code blocks.
«If you are frequently editing code snippets and tables, you may benefit from enabling a fixed-width font in all comment fields on GitHub. For more information, see «Enabling fixed-width fonts in the editor.»
Supported color models
In issues, pull requests, and discussions, you can call out colors within a sentence by using backticks. A supported color model within backticks will display a visualization of the color.
The background color should be `#ffffff` for light mode and `#0d1117` for dark mode.
Here are the currently supported color models.
Color | Syntax | Example | Output |
---|---|---|---|
HEX | `#RRGGBB` | `#0969DA` | |
RGB | `rgb(R,G,B)` |
| |
HSL | `hsl(H,S,L)` | `hsl(212, 92%, 45%)` |
Notes:
- A supported color model cannot have any leading or trailing spaces within the backticks.
- The visualization of the color is only supported in issues, pull requests, and discussions.
You can create an inline link by wrapping link text in brackets [ ]
, and then wrapping the URL in parentheses ( )
. You can also use the keyboard shortcut Command+K to create a link. When you have text selected, you can paste a URL from your clipboard to automatically create a link from the selection.
You can also create a Markdown hyperlink by highlighting the text and using the keyboard shortcut Command+V. If you’d like to replace the text with the link, use the keyboard shortcut Command+Shift+V.
This site was built using [GitHub Pages](https://pages.github.com/).
Tip: GitHub automatically creates links when valid URLs are written in a comment. For more information, see «Autolinked references and URLs.»
You can link directly to a section in a rendered file by hovering over the section heading to expose the link:
You can define relative links and image paths in your rendered files to help readers navigate to other files in your repository.
A relative link is a link that is relative to the current file. For example, if you have a README file in root of your repository, and you have another file in docs/CONTRIBUTING.md, the relative link to CONTRIBUTING.md in your README might look like this:
[Contribution guidelines for this project](docs/CONTRIBUTING.md)
GitHub will automatically transform your relative link or image path based on whatever branch you’re currently on, so that the link or path always works. The path of the link will be relative to the current file. Links starting with /
will be relative to the repository root. You can use all relative link operands, such as ./
and ../
.
Relative links are easier for users who clone your repository. Absolute links may not work in clones of your repository — we recommend using relative links to refer to other files within your repository.
Images
You can display an image by adding ! and wrapping the alt text in [ ]
. Then wrap the link for the image in parentheses ()
.
![This is an image](https://myoctocat.com/assets/images/base-octocat.svg)
GitHub supports embedding images into your issues, pull requests, discussions, comments and .md
files. You can display an image from your repository, add a link to an online image, or upload an image. For more information, see «Uploading assets.»
Tip: When you want to display an image which is in your repository, you should use relative links instead of absolute links.
Here are some examples for using relative links to display an image.
Context | Relative Link |
---|---|
In a .md file on the same branch | /assets/images/electrocat.png |
In a .md file on another branch | /../main/assets/images/electrocat.png |
In issues, pull requests and comments of the repository | . ./blob/main/assets/images/electrocat.png?raw=true |
In a .md file in another repository | /../../../../github/docs/blob/main/assets/images/electrocat.png |
In issues, pull requests and comments of another repository | ../../../github/docs/blob/main/assets/images/electrocat.png?raw=true |
Note: The last two relative links in the table above will work for images in a private repository only if the viewer has at least read access to the private repository which contains these images.
For more information, see «Relative Links.»
Specifying the theme an image is shown to
You can specify the theme an image is displayed for in Markdown by using the HTML <picture>
element in combination with the prefers-color-scheme
media feature. We distinguish between light and dark color modes, so there are two options available. You can use these options to display images optimized for dark or light backgrounds. This is particularly helpful for transparent PNG images.
For example, the following code displays a sun image for light themes and a moon for dark themes:
<picture> <source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/25423296/163456776-7f95b81a-f1ed-45f7-b7ab-8fa810d529fa.png"> <source media="(prefers-color-scheme: light)" srcset="https://user-images.githubusercontent.com/25423296/163456779-a8556205-d0a5-45e2-ac17-42d089e3c3f8.png"> <img alt="Shows an illustrated sun in light mode and a moon with stars in dark mode." src="https://user-images.githubusercontent.com/25423296/163456779-a8556205-d0a5-45e2-ac17-42d089e3c3f8.png"> </picture>
The old method of specifying images based on the theme, by using a fragment appended to the URL (#gh-dark-mode-only
or #gh-light-mode-only
), is deprecated and will be removed in favor of the new method described above.
Lists
You can make an unordered list by preceding one or more lines of text with -, *, or +.
- George Washington * John Adams + Thomas Jefferson
To order your list, precede each line with a number.
1. James Madison 2. James Monroe 3. John Quincy Adams
Nested Lists
You can create a nested list by indenting one or more list items below another item.
To create a nested list using the web editor on GitHub or a text editor that uses a monospaced font, like Visual Studio Code, you can align your list visually. Type space characters in front of your nested list item, until the list marker character (- or *) lies directly below the first character of the text in the item above it.
1. First list item - First nested list item - Second nested list item
Note: In the web-based editor, you can indent or dedent one or more lines of text by first highlighting the desired lines and then using Tab or Shift+Tab respectively.
To create a nested list in the comment editor on GitHub, which doesn’t use a monospaced font, you can look at the list item immediately above the nested list and count the number of characters that appear before the content of the item. Then type that number of space characters in front of the nested list item.
In this example, you could add a nested list item under the list item 100. First list item
by indenting the nested list item a minimum of five spaces, since there are five characters (100.
) before First list item
.
100. First list item - First nested list item
You can create multiple levels of nested lists using the same method. For example, because the first nested list item has seven characters (␣␣␣␣␣-␣
) before the nested list content First nested list item
, you would need to indent the second nested list item by seven spaces.
100. First list item - First nested list item - Second nested list item
For more examples, see the GitHub Flavored Markdown Spec.
Task lists
To create a task list, preface list items with a hyphen and space followed by [ ]
. To mark a task as complete, use [x]
.
- [x] #739 - [ ] https://github.com/octo-org/octo-repo/issues/740 - [ ] Add delight to the experience when all tasks are complete :tada:
If a task list item description begins with a parenthesis, you’ll need to escape it with \:
- [ ] \(Optional) Open a followup issue
For more information, see «About task lists.»
Mentioning people and teams
You can mention a person or team on GitHub by typing @ plus their username or team name. This will trigger a notification and bring their attention to the conversation. People will also receive a notification if you edit a comment to mention their username or team name. For more information about notifications, see «About notifications.»
Note: A person will only be notified about a mention if the person has read access to the repository and, if the repository is owned by an organization, the person is a member of the organization.
@github/support What do you think about these updates?
When you mention a parent team, members of its child teams also receive notifications, simplifying communication with multiple groups of people. For more information, see «About teams.»
Typing an @ symbol will bring up a list of people or teams on a project. The list filters as you type, so once you find the name of the person or team you are looking for, you can use the arrow keys to select it and press either tab or enter to complete the name. For teams, enter the @organization/team-name and all members of that team will get subscribed to the conversation.
The autocomplete results are restricted to repository collaborators and any other participants on the thread.
Referencing issues and pull requests
You can bring up a list of suggested issues and pull requests within the repository by typing #. Type the issue or pull request number or title to filter the list, and then press either tab or enter to complete the highlighted result.
For more information, see «Autolinked references and URLs.»
Referencing external resources
If custom autolink references are configured for a repository, then references to external resources, like a JIRA issue or Zendesk ticket, convert into shortened links. To know which autolinks are available in your repository, contact someone with admin permissions to the repository. For more information, see «Configuring autolinks to reference external resources.»
Uploading assets
You can upload assets like images by dragging and dropping, selecting from a file browser, or pasting. You can upload assets to issues, pull requests, comments, and .md
files in your repository.
Using emoji
You can add emoji to your writing by typing :EMOJICODE:
.
@octocat :+1: This PR looks great - it's ready to merge! :shipit:
Typing : will bring up a list of suggested emoji. The list will filter as you type, so once you find the emoji you’re looking for, press Tab or Enter to complete the highlighted result. note]: Named footnotes will still render with numbers instead of the text but allow easier identification and linking. This footnote also has been made with a different syntax using 4 spaces for new lines.
The footnote will render like this:
Note: The position of a footnote in your Markdown does not influence where the footnote will be rendered. You can write a footnote right after your reference to the footnote, and the footnote will still render at the bottom of the Markdown.
Footnotes are not supported in wikis.
Hiding content with comments
You can tell GitHub to hide content from the rendered Markdown by placing the content in an HTML comment.
<!-- This content will not appear in the rendered Markdown -->
Ignoring Markdown formatting
You can tell GitHub to ignore (or escape) Markdown formatting by using \ before the Markdown character.
Let's rename \*our-new-project\* to \*our-old-project\*.
For more information, see Daring Fireball’s «Markdown Syntax.»
Disabling Markdown rendering
When viewing a Markdown file, you can click at the top of the file to disable Markdown rendering and view the file’s source instead.
Disabling Markdown rendering enables you to use source view features, such as line linking, which is not possible when viewing rendered Markdown files.
Further reading
- GitHub Flavored Markdown Spec
- «About writing and formatting on GitHub»
- «Working with advanced formatting»
- «Quickstart for writing on GitHub»
Команды BASIC
Этот документ воспроизведен с любезного разрешения Томаса Курца
Dartmouth BASIC произвел революцию в компьютерном программировании для неспециалистов, которых значительно больше, чем экспертов! Это был простой язык, в котором использовались английские слова, и он давал почти мгновенный ответ в те дни, когда нормой было выполнение часов или даже дней.
Эта заметка дает краткое описание языка для тех из вас, кто знаком с программированием.
Томас Э. Курц
2005 26 октября
Операторы
В оригинальном BASIC было пятнадцать типов операторов.
LET Вводит оператор присваивания, требуется
PRINT Обеспечивает вывод в произвольной форме
END Требуется
READ Присваивает значения переменным из внутренних данных
DATA Вводит внутренние данные оператор
IF Выдает условный GOTO
FOR Вводит циклическую конструкцию
NEXT Завершает циклическую конструкцию
GOSUB Выполняет переход к подпрограмме
RETURN Возврат из конца подпрограммы
DEF Вводит определяемые программистом функции
DIM Позволяет задавать размеры массивов
REM Предоставляет комментарии
Кроме того, несколько более поздняя версия BASIC, которую мы используем, включает оператор INPUT.
Арифметические выражения
Помимо четырех стандартных арифметических операций, BASIC включает в себя возведение в степень, символом которого является «^». 9x
INT Целая часть (усеченная в сторону 0)
LOG Натуральный логарифм
RND Следующее случайное число
SIN Синус
SQR Квадратный корень
TAN Тангенс Предполагается, что ATN в радианах.
Сообщения об ошибках выдаются для аргументов, выходящих за пределы допустимого диапазона для функций LOG и SQR, хотя SQR затем предоставляет SQR абсолютного значения.
Функция RND нуждалась в фиктивном аргументе, чтобы пройти сканер синтаксиса. То есть РНД(0). Аргумент игнорируется.
Переменные
Имена переменных могут состоять из одной буквы или из одной буквы, за которой следует одна цифра. Это обеспечивает 286 возможных имен переменных.
Массивы
Одна буква, за которой следует «(», обозначает элемент массива, который может быть одномерным или двумерным. Без оператора DIM размеры по умолчанию составляют от 0 до 10 для каждого измерения.
Оператор DIM позволяет другие верхние пределы, но всегда указывается нулевой элемент
Операторы PRINT
Оператор PRINT допускает использование нескольких величин, включая строки в кавычках, разделенные запятыми (,) или точками с запятой (;). Если через запятую, BASIC переходит к началу следующей зоны. Зоны имеют ширину 15 символов. Если использовать точку с запятой, BASIC не перемещается, а начинает следующий элемент со следующего пробела.
Числовые значения печатаются либо с пробелом в начале, либо со знаком минус, а также с пробелом в конце. Таким образом, числовые значения в операторе PRINT с точкой с запятой в качестве разделителя будут иметь по крайней мере один пробел между значениями. Кроме того, числовые значения всегда будут давать количество символов, кратное трем. Таким образом,
ПЕЧАТЬ 12; 34; 56
будет производить
12 34 56
Хотя нет строкового типа данных, в операторах PRINT разрешены строки в кавычках. Если строка в кавычках и числовое значение разделены точкой с запятой в операторе PRINT, точка с запятой может быть опущена.
Если длина напечатанной строки превышает 75 символов, автоматически вводится конец строки. Иногда мы говорим, что MARGIN равен 75.
Определенные функции
Пользователь может определить до 26 новых функций, дав им имена от FNA до FNZ. Каждая такая функция представлена ключевым словом DEF. Должен быть ровно один аргумент. Имя переменной, используемое в качестве аргумента, отличается от имени переменной с таким же именем в остальной части программы. Определение функции должно быть одной строкой следующего вида: 92/2))/SQR(2*3.14159265)
130
140 FOR X = -2 TO 2 STEP .1
150 LET Y = FNN(X)
160 LET Y = INT(100*Y)
170 FOR Z = 1 TO Y
180 ПЕЧАТЬ » «;
190 ДАЛЕЕ Z
200 ПЕЧАТЬ «*»
210 ДАЛЕЕ X
220 КОНЕЦ
100 REM УГАДАЙ ИГРА
110
120 ПЕЧАТЬ «УГАДАЙ ЧИСЛО ОТ 1 ДО 100.»
130
140 LET X = INT(100*RND(0)+1)
150 LET N = 0
160
170 ВХОД G
180 ПУСТЬ N = N+1
190 ЕСЛИ G = X ТО 300
200 ЕСЛИ G < X ТО 250
210 ПЕЧАТЬ «СЛИШКОМ БОЛЬШОЙ, ПОДСКАЖИТЕ ЕЩЕ РАЗ»
220 ПЕРЕЙТИ К 160
230
250 ПЕЧАТЬ «СЛИШКОМ МАЛЕНЬКИЙ, ПОДУГАЙ ЕЩЕ РАЗ»
260 ПЕРЕЙТИ К 160
270
300 ПЕЧАТЬ «ТЫ УГАДАЛ»; Н; «Попытки»
310 ПЕЧАТЬ «ДРУГАЯ ИГРА (ДА = 1, НЕТ = 0)»;
320 INPUT A
330 IF A = 1 THEN 140
340 ПЕЧАТЬ «СПАСИБО ЗА ИГРУ»
350 END
Команды
Хотя это и не часть BASIC, команды операционной системы включают следующее:
Start a LO new сессия, введите свой номер пользователяNEW Запустить новую программу
OLD Получить программу из памяти
SAVE Сохранить текущую программу в памяти
REPLACE Сохранить текущую программу в памяти, перезаписав старую версию
RENAME Переименовать текущую программу
CAT Список имен ваших сохраненных программ (краткий для КАТАЛОГА)
LIST Список текущей программы
RUN Запустить текущую программу
STOP Остановить текущий запуск программы (в случае бесконечного цикла)
UNSAVE Отменить сохранение текущей программы program
SYSTEM Имя системы — ограничено BASIC ( по умолчанию) или АЛГОЛ
BYE Завершить сеанс
GOODBYE То же, что и BYE
Все команды могут быть сокращены до первых трех букв.
За командами NEW, OLD и RENAME может следовать имя программы. Если нет, операционная система запросит у вас название программы. За командой SYSTEM может следовать либо BASIC, либо ALGOL. Если нет, операционная система запросит у вас имя системы. (Как и команды, системные имена могут быть сокращены до трех букв.)
Кроме того, команда SPEED позволяет указать скорость телетайпа для более реалистичного моделирования. Таким образом, SPEED 10 замедлит скорость примерно до 10 символов в секунду.
Отказ от ответственности
В этом кратком руководстве описывается версия BASIC, включенная в эмуляцию. Междустрочный интервал и ответ «ГОТОВ», как это предусмотрено Datanet-30, могут быть не совсем правильными. DTSS также поддерживает Алгол.
Синтаксис Python
❮ Предыдущий Далее ❯
Выполнение синтаксиса Python
Как мы узнали на предыдущей странице, синтаксис Python можно выполнить, написав непосредственно в командной строке:
>>> print(«Hello, World!»)
Привет, мир!
На этой странице
Выполнение синтаксиса Python Отступ Python Переменные Python Комментарии Python Упражнения
Или создав на сервере файл python с расширением . py и запустив его в командной строке:
C:\Users\ Ваше имя >python myfile.py
Отступ Python
Отступ — это пробелы в начале строки кода.
Там, где в других языках программирования отступы в коде предназначены для удобочитаемости только отступ в Python очень важен.
Python использует отступ для обозначения блока кода.
Пример
, если 5 > 2:
print(«Пять больше двух!»)
Попробуйте сами »
Python выдаст вам ошибку, если вы пропустите отступ:
Пример
Синтаксическая ошибка:
если 5 > 2:
print(» Пять больше двух!»)
Попробуйте сами »
Количество пробелов зависит от вас как программиста, чаще всего используется четыре, но быть хотя бы одним.
Пример
, если 5 > 2:
print(«Пять больше двух!»)
если 5 > 2:
print(«Пять больше двух!»)
Попробуйте сами »
Вы должны использовать одинаковое количество пробелов в одном и том же блоке кода, в противном случае Python выдаст ошибку:
Пример
Синтаксическая ошибка:
, если 5 > 2:
print(«Пять больше двух!»)
print(«Пять больше, чем
два!»)
Попробуйте сами »
Переменные Python
В Python переменные создаются, когда вы присваиваете им значение:
Пример
Переменные в Python:
x = 5
y = «Привет, мир!»
Попробуйте сами »
В Python нет команды для объявления переменной.
Вы узнаете больше о переменных в Глава «Переменные Python».
Комментарии
Python имеет возможность комментирования для документирования в коде.
Комментарии начинаются со знака #, и Python отобразит оставшуюся часть строки как комментарий:
Пример
Комментарии в Python:
#Это комментарий.
print(«Hello, World!»)
Попробуйте сами »
Проверьте себя с помощью упражнений
Упражнение:
Вставьте недостающую часть кода ниже, чтобы вывести «Hello World».
("Привет мир")
Начать упражнение
❮ Предыдущий Следующий ❯
ВЫБОР ЦВЕТА
Лучшие учебники
Учебник по HTMLУчебник по CSS
Учебник по JavaScript
Учебник How To
Учебник по SQL
Учебник по Python
Учебник по W3.CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery
9005 030
Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.