Здравствуйте все кого за интересовала данная тема. Сейчас готов перевод Seccia Basic 01, перевод которой начал пользователь по имени XCode, которую я докончил, но нигде и ни с кем не делился (кого интересует, обращайтесь ). В первом посте под спойлерами я размещу абзацы, которые нуждаются в переводе, они будут пронумерованы, номер абзаца нужно будет указывать при печати перевода в посте, что бы легче было ориентироваться в проделанной работе. Буду Вам очень благодарен если откликнитесь, как говорят с миру по нитке... Я тоже буду участвовать в переводе урока (просто так быстрее получится, у меня не так много свободного времени, один такой урок я буду переводить месяцев 6, а с Вами надеюсь убыстрить этот процесс). Сам урок (уроки) в PDF формате, по этому в тексте может быть "ссылка" на изображение (на всякий случай прикреплю его, кого заинтересует больше информации). Меня-же просто интересует текстовый перевод, который я соберу в один файл (наверное обратно в PDF) и выложу его для свободного пользования http://zalil.ru/31953392
И так, начну.
Видите ли, строка это просто текст - один байт на символ. В то время как целое число хранится в 8 байтах, независя от его величины (в разумных пределах). Я могу написать число из 16 цифр в m_edtString1 но оно все равно будет занимать 8 байт, как и приписано объекту целого числа. По этой причине, мы как правило конвертируем между собой форматы текста объекта m_edtString1 и чисел объекта m_integer. Это называется сортирование. Если вы посмотрите на функцию обработчика в m_string1, вы увидите GetIntValue. Это позволяет нам взять текст из "edit box'а", поместить в объект строки и затем установить значение целого числа, используя GetIntValue объекта строки. Дело в том, что Seccia автоматически сортирует целые числа, с запятой, строки и юникод-строки но есть функции, которые позволяют вам контролировать этот процес, если это действительно нужно.
Try out some of the other functions of the integer by amending the code shown. Have a go at doing subtraction, multiplication, division and powers by amending the middle line of the code shown above. Note that you can also “add one” (i.e. increment the value of the integer) and “sub one”. A really interesting one (for the beginner) is the modulus (or “mod”, for short). This is the remainder left over after an integer division. For example, if I divided 100 by 3, I would get a result of 33 but, clearly, there would be a remainder of 1. Try it out.
For the experienced programmers out there, do note that you can still use the traditional assignment approaches: 1. string=”cool” 2. year = 2000 3. year += 2 4. year++
Floats. These, as we have seen already, are decimal numbers. They are also stored in 8 bytes. They have the same functions as integers but give decimal results. Create a new float object and change your code to do a division, using code like this ...
m_float.Set(m_edtString1.GetText())
m_float.Div(m_edtString2.GetText())
m_edtString3.SetCaption(m_float.Get())
Use 100 and 3 as the values. Instead of seeing 33 as the result, what do you see? Try out the Round function, too
Float and Money objects are very similar – both are kinds of decimal value. The main difference, however, is that a Money object is used for a very specific purpose – dealing with currency – and therefore has the ability to set and get the currency symbol, as well as the separators used by different countries.
TMoney. And lastly, we come to money. It works just like a float, except that it has additional functions to set the currency symbol and separator. Apart from that, it works in a similar fashion.
The Value Object
In addition to strings, UniStrings, integers, and floats, there is also an object called “Value”. It can take any of these as values and output any of them as results. In effect, you could dispense with the others and just use Value objects exclusively. That, however, would not be considered good programming – use the right object type for the required data type.
The Path Object
Just from the name, it might not be immediately apparent just what this object does, but it is a special form of string which is used to store path names and has additional functionality to allow the user to split them up into their constituent parts. This is a very useful facility and I have had to write code many times in many languages repeatedly doing the same thing. Seccia has this all down in a nice little object that does it all for you.
Let’s try out a couple of examples. Delete any code you currently have in the Code Editor. Create a Path object in the normal way. We are going to Set its value and then display the extension of the file in m_edtString3. The code is ...
Test the program and type in a full path, as in the example shown below.
You can see how the member function has “split off” the extension. This is useful when you need to understand the nature of the file in order to handle it properly.
If you want the whole file, use GetFile – this will give you the file name and the extension. The function GetFileName will return only the name part. But what about the path to the file? We use GetParent for that, as in ...
m_edtString3.SetCaption(m_path.GetParent())
If you try this out with the path shown in the previous example, you’ll see the following.
Try some of the other functions out yourself.
Color
Colour is a complicated are of computing – and this is just an introductory tutorial for beginners. Suffice it to say that there are many colour systems out there. Seccia deals with only two:
RGB – this represents the colour as 3 numbers, each ranging from 0-255, representing the red, green and blue components.
YUV – this is a more complicated one. The “Y” component represents what is called the luminance – in other words, how bright the colour is. The “U” and “V” are, together, used like the x- and y-coordinates on a graph of possible colours, as shown here.
Let’s start with RGB as it’s the most commonly known amongst computer programmers. We are going to change the background colour of m_dlg by means of its SetBackColor function. This expects to be provided with a color object correctly set with the RGB values.
Go ahead, as before, and delete any code remaining in the Code Editor. Create a new color object – m_color. We are going to use the SetRed, SetGreen, and SetBlue functions of m_color by taking the values entered into the 3 edit boxes. When we press the “Do Task” button, the colour of the dialog will change. The code should look like this:
m_color.SetRed(m_edtString1.GetText())
m_color.SetGreen(m_edtString2.GetText())
m_color.SetBlue(m_edtString3.GetText())
m_dlg.SetBackColor(m_color)
Здесь больше чем 40 абзацев (45). В шапке не хватает 5-ти штук, я их размещать не буду, так как желающих помочь в последнее время "не очень много". Из второго урока осталось перевести всего 3 абзаца. Третий урок будет самый объемный, будет переводится еще дольше. И все таки, если у вас есть желание помочь перевести или отредактировать уже имеющийся перевод, напишите в ЛС, для согласования работы. Ещё раз повторюсь, кому надо то что уже переведено - обращайтесь. MaximTG
Сообщение отредактировал burlachenko - Пятница, 28 Октября 2011, 23:23
Приму любую помощь по переводу, а также замечания в не точностях (так как не программист).
Что мы будем изучать?)
В этом уроке мы рассмотрим , как настроить (установить) объекты хранения и обработки данных в ручную. Вы также узнаете о: Типах данных объектов Как создать объект данных Получение и установка значения данных объектов Обращения к: Строкам Числам Значениям (величинам) Цвету Путям
Строки Не желаю углубляться в технические вопросы - но я должен упомянуть слово байт. Обычно байт равен восьми битам информации, каждый из которых может быть либо 1, либо 0. Мы можем использовать комбинации из них, чтобы кодировать значения 0-255.
Чего нет в душе автора, того не будет в его созданиях.
Сообщение отредактировал Yashko - Вторник, 21 Июня 2011, 03:11
Строки Я не хочу слишком углубляться в технические вопросы, но я должен рассказать про байт. Байт равен 8 битам информации, каждый из которых может быть либо 0, либо 1. Мы можем их комбинировать для кодирования чисел диапазоном 0-255.
Вырезал that is not the point of these tutorials так как не смог достойно перевести. Хотя по моему оно не важно, но если кто переведет, прилагайте исправленный вариант.
Добавлено (21.06.2011, 03:00) --------------------------------------------- Yashko, Прикольно, в одно время выожили.
Давайте начнем работать со строками. Я хочу, чтобы вы использовали для этого "метки"(label) и окно редактирования управления (?), чтобы создать нечто похожее на иллюстрацию снизу. Я знаю, вы не использовали это в прошлом уроке, но нет никакой разницы в том, какие из кнопок вы использовали.
В добавку, создайте себе обработчик для кнопки выхода, который закончит работу приложения. Вы знаете, как это сделать.
Чего нет в душе автора, того не будет в его созданиях.
Сообщение отредактировал Yashko - Вторник, 21 Июня 2011, 03:15
Однако мы не только можем хранить один номер из диапазона в один байт, мы так же можем хранить значение представляющее собой алфавитный символ. Например число 65 будет представлять букву "A". Там нет связи между одним и другим, это просто кодировка известная как ACSII. Как же тогда создавать программу, зная что нужно писать "A"? а не число 65? Просто когда мы храним 65 в ячейке, мы говорим Seccia, что эта ячейка содержит букву. Этого Seccia достаточно для правильного вывода. Она интерпретирует числа в буквы. Строка где мы храним множество букв подобна жемчугу и ожерелью, в котором формируются слова и предложения. Нужно отметить то, что нам не нужна отдельная ячейка для каждого жемчуга, они могут все входить в одну ячейку, но вы не можете делать это с числами, так как нет понятия "набор цифр"
Одинокий юзер
Сообщение отредактировал IIIypuk - Среда, 22 Июня 2011, 11:37
Спасибо Yashko из хорошего города Одессы!. IIIypuk я уберу уже "готовые" переводы из шапки, только немного попозже, может кто-то дополнит их или исправит. Сверху выложено всего 10 абзацев, всего их около 40. Хотел добавить все сразу, но здесь на форуме невозможно добавить такое количество текста в один пост.
Перевел это "that is not the point of these tutorials" приблизительно "так", вроде получилось ближе к тексту
Я не хочу слишком углубляться в технические вопросы, так как это не является целью этого урока - но я должен рассказать про байт. Байт равен 8 битам информации, каждый из которых может быть либо 0, либо 1. Мы можем их комбинировать для кодирования чисел диапазоном 0-255.
Во многих языках программирования элементы данных хранятся в виде примитивных типов – другими словами, это не объекты. Seccia поддерживает подход к программированию, согласно которому вы можете применять определенные действия к определенным типам данных, и также элементы данных имеют атрибуты, что позволяет представить их в виде объектов.
Обо всем по порядку. Мы должны создать объект строки . Есть несколько путей сделать это, но я просто нажму на "Главный" тип в верхней части иерархии проекта(древа проекта?). Вы увидите панель управления (раздел 3, если вы помните) изменения более простой (?!). Эти иконки не представляют визуальных объектов как кнопки или метки, но являются памятью для элементов таких как классы, объекты, функции и события. Выберите иконку "Создание Объекта", как показано здесь, слева. Это вызовет список объектов, который имеет много полезный вещей. Если вы не знакомы с Seccia, советуем вам не поддаваться искушению экспериментировать(?). Мы вернемся на этот ключевой диалог позже, в обучающих статьях. Обещаю.
Чего нет в душе автора, того не будет в его созданиях.
Сообщение отредактировал Yashko - Вторник, 21 Июня 2011, 13:56
Однако мы не только можем хранить одно число из диапазона в один байт, мы так же можем хранить значение представляющее собой алфавитный символ. Например число 65 будет представлять букву "A". Там нет связи между одним и другим, это просто кодировка известная как ACSII. Как же тогда создавать программу, зная что нужно писать "A"? а не число 65? Просто когда мы сохраняем 65 в ячейке, мы говорим Seccia (ещё тогда, когда мы создаем ячейку), что именно эта ячейка содержит букву. Этого Seccia достаточно для создания среды, в которой правильно интерпретируются цифры и буквы. Здесь все просто, если мы сообщаем Seccia что ячейка содержит число, так оно и будет восприниматься, и у этой ячейки будут отсутствовать функциональность и свойства ячеек букв. В итоге, строка где хранятся множество букв, которые связаны вместе (вот, почему это называется строкой) подобно жемчугу на ожерелье, в котором формируются слова и предложения. Нужно отметить то, что нам не нужно создавать отдельные ячейки для каждого "жемчуга" - они могут все входить в одну и ту же ячейку, но вы не можете делать это с числами, так как здесь нет такого понятия как "строка цифр".
Начал потихоньку скидывать перевод в один файл. MaximTG
Все компьютерные программы, в большей или меньшей степени зависят от данных. Имена клиентов заносятся в БД(базы данных), углы представляют тригонометрические функции в 3D играх, вычисляется общая цена покупок. Всё это примеры хранения и манипуляции с данными. Почти все, что вы делаете в Seccia бужет обрабатывать данные. Теперь нужно узнать как использовать Seccia IDE. Перейдем к изучению обращения с числами и текстом. Важно сказать, я не собираюсь заменить документацию Seccia. Я просто покажу, как использовать различные типы данных в примерах функций.
Красный - по моему неверно. Синий - с импровизировал
Добавлено (25.06.2011, 17:12) --------------------------------------------- Возьмусь за 9
Одинокий юзер
Сообщение отредактировал IIIypuk - Четверг, 23 Июня 2011, 20:45
Спасибо IIIypuk, где то ближе ко вторнику обновлю первый пост и немного подправлю второй абзац (все в принципе верно, только это нужно превратить в "удобоваримый" текст). Может кто подскажет бесплатный PDF редактор? (ведь переведенный текст еще нужно "загнать" обратно...) MaximTG