purebasic.info

PureBasic forum
Текущее время: Пн дек 11, 2017 4:38 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Первое знакомство с языком
СообщениеДобавлено: Пт фев 18, 2011 4:45 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Материал предназначен для тех, кто только начинает знакомство с языком.
Продвинутым не читать!

После установки компилятора:

1. Качаем русификатор и устанавливаем его правильно указав путь к папке PureBasic.

2. Скачиваем справку на русском языке и бросаем с заменой в папку PureBasic.
Это нам даёт, кроме перевода интерфейса, на русском языке все всплывающие сообщения об ошибках в коде:

Изображение

Изображение

Уже более-менее понятно о чём речь.

3. Создаём себе шаблон и сохраняем, например такой:

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
Enumeration
 #Window_0
EndEnumeration
 
 
OpenWindow(#Window_0,0,0,380,200,"Окно",#PB_Window_MinimizeGadget|#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_Invisible)
 SetWindowColor(#Window_0,RGB(167, 167, 167))
 
 
HideWindow(#Window_0, 0)
Repeat
Event =  WaitWindowEvent()
Window = EventWindow()
Gadget = EventGadget()
  Select Event
        Case #PB_Event_Gadget
          Select EventGadget()
            Case 1
            Case 2
             If EventType()=#PB_EventType_LeftClick
             EndIf
            Case 3
            Case 4            
            Case 5
         EndSelect            
   EndSelect  
If Event = #PB_Event_CloseWindow
 Break        
EndIf
ForEver
 



4. Учимся работать с справкой
90% вопросов - есть в справке.
Практически все элементы языка описываются в справке.
У каждого гаджета или окна есть определенный набор свойств, параметров.
(название, ширина, высота, текст, цвет текста и фона, вкус и.т.д.)

Например:

SetGadgetText(#Gadget, Text$) - Изменяет текстовое содержимое определенного #Gadget
GetGadgetText(#Gadget) - Возвращает содержимое текста в указанном #Gadget

Всё свойства можно менять и получать о сведения о них.
Наводим курсор в коде на конкретный гаджет (или функцию) и жмём F1 и внимательно читаем справку на русском языке ищем, что нас интересует.
В справке находятся и примеры кода, объясняющие принцип работы.

5. Дополнительные библиотеки добавляют новые функции в PB.
Например PureCOLOR - позволяет менять цвет и фон практически у всех элементов.

6. Если справки мала - идём в Code Archiv ищем, что нас интересует там.

7. На форуме есть поиск
По ключевому слову ищем, что нас интересует (в идеале задавать одно слово, для получения лучшего результата)
В настройках выбрать Показывать результаты как: Сообщения

8. Пользуемся программой поиск, ищем на забугорных сайтах и в Google.
Используем написанные программы для поиска:

Поиск
Поиск

9. Спрашиваем на форуме.

"Всё уже украдено до нас"
Все возникающие вопросы уже, как правило, кто то задавал и на них отвечали...

Но всё это не значит, что не надо спрашивать...

Для этого и форум.

Как сказал один из участников форума:
Да обращайся, мы тут добрые

_________________
www.mirashic.narod.ru
Первое знакомство с PB


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 19, 2012 8:09 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6200
Благодарил (а): 16 раз.
Поблагодарили: 171 раз.
Пункты репутации: 48
mirashic писал(а):
Материал предназначен для тех, кто только начинает знакомство с языком.
Продвинутым не читать!


Ещё одно небольшое размышление на тему Языков Программирования. Не претендует на энциклопедическую точность, написано по материалам Интернет, но может кому то что то прояснит!

Сравнительная структура программ на Delphi и С++ и PureBasic

Программы на любом языке состоят из операторов. Если совсем просто, оператор - это команда процессору выполнить какое-нибудь действие.
И в C++, и в Паскале (а соответственно и в Delphi) конец оператора обозначается точкой с запятой, в Basic конец оператора вообще не нужен.
И в C++, и в Паскале для комментариев используются символы // - две косых черты.
В Basic это обычно ' ( VB,QB ) или ; ( PureBasic)
Комментарий - это текст в программе, который не будет выполняться процессором. Теперь посмотрим на общую структуру программы. На С++ и Delphi:

// программа на С++
// глобальная область видимости
int main ()
{
// код программы - операторы
return 0;
}

// программа на Delphi
program someProgram;
// разделы

begin
// код программы - операторы
end.
Программа на C++ начинается с глобальной области видимости. Далее идёт строка int main(). После этой строки нужно поставить две фигурные скобки (открывающую и закрывающую). Код программы должен находиться внутри фигурных скобок. Обязательно нужно написать как минимум один оператор - return 0;.
Программа на Delphi начинается с ключевого слова program, после которого пишется имя программы. Далее идёт список разделов. Код программы должен находиться между ключевыми словами begin и end.
Тут самое важное: в C++ код находится между фигурных скобок, а в Pascal - между словами begin и end.
На Basic программа может вообще ни чего не содержать. Т.е к примеру вы можете в редакторе PureBasic вообще ни чего не писать, или написать только комментарий типа

; эта программа ни чего не делает


После компиляции вы получите полноценный ехе файл, который действительно ни чего не делает. Свобода!

Переменные.

Переменные предназначены для хранения и использования данных во время выполнения программы.
И С++, Delphi и PureBasic - строго типизированные языки. Это значит, что в этих языках программирования для хранения разных данных используются разные типы переменных. Например, для хранения целого числа используется переменная одного типа, для хранения вещественного - другого.
Для целых чисел в C++ используется обозначение int, в Delphi – integer, в PureBasic - .i. Дробные числа в C++ - float, PureBasic - .f, а в Delphi - real. На самом деле типов переменных гораздо больше! Но фактически все сводится к трем основным – целое, дробное и строка.

В С++ переменные можно объявлять в любом месте программы. Использовать их можно в любом месте, за исключением глобальной области видимости:

int a; // объявление переменной целого типа

int main ()
{
a = 2;
float b; // объявление переменной вещественного типа
b = 0.5;
return 0;
}
Для создания переменной в C++ нужно написать тип и имя переменной.
В Delphi переменные обязательно должны объявляться в разделе var:

program someProgram;
var
a: integer; // объявление переменной целого типа
b: real; // объявление переменной вещественного типа

begin
a:=2;
b:=0.5;
end.
В PureBasic переменные можно объявлять в любом месте программы. Использовать их можно в любом месте. Можно вообще не объявлять – первое упоминание о переменной и будет её объявлением.

a.i ; объявление переменной целого типа
b.f ; объявление переменной вещественного типа

Или сразу в любом месте программы мы можем написать:

a.i=2
b.f=0.5

И это будет являться и объявлением переменной и присвоением ей значения.
Для создания переменной в Delphi необходимо, чтобы её объявление находилось в разделе var. Создание переменной в Delphi выглядит так: имя переменной, двоеточие, имя типа.
Для присваивания в C++ используется знак =, в Delphi - :=. Операция присваивания берёт то, что находится справа от знака и помещает это в переменную, находящуюся слева от знака присваивания. В наших программах, после выполнения всех операторов, переменная a будет хранить значение 2, а переменная b - 0,5.

Управляющие структуры: ветвления и циклы.

Управляющие структуры - самая важная часть любого языка. Они изучаются практически в самом начале знакомства с языком.
Управляющие структуры предназначены для управления (кто бы мог подумать) последовательностью выполнения операторов языка.
Любую программу можно написать, используя три управляющие структуры:
Следование. Данная управляющая структура говорит, что программа будет выполняться последовательно:

a:=3;
b:=1;
a:=a+b;
Глядя на этот код, можно с уверенностью сказать, что сначала переменной a будет присвоено значение 3, затем переменной b присвоится значение 1 и в конце переменной a будет присвоено значение 4. Это и называется последовательным выполнением. Т.е. процессор выполняет команды вашей программы сверху вниз одну за другой.
Выбор. Для выбора во всех языках используются ветвления. Данная управляющая структура позволяет выбрать, какой код будет выполняться, в зависимости от условия.

// C++
if ( a > 0)
{
b = 1;
}
else
{
b = 0;
}

// Delphi
if a>0 then
begin
b := 1;
end
else
begin
b := 0;
end;

;PureBasic
If ( a > 0)
b = 1
Else
b = 0
EndIf


Если переменная a больше нуля, то b присваивается 1, а если переменная a меньше или равна нулю, то b будет равна нулю.
Как видим, отличия небольшие - использование ключевого слова then в Delphi и обязательные скобочки вокруг условия в C++. Существуют и другие формы ветвлений, но мы их рассматривать не будем.
Повтор. Для повторов кода используются циклы. Рассмотрим два вида - циклы for и while.

// цикл for на Delphi
b:=0;
for a:=1 to 10 do
begin
b:= a;
end;

// цикл for на C++
b=0;
for (a=1; a <= 10; a = a + 1)
{
b = a;
}
;цикл for на PureBasic
b=0
For a=1 To 10
b = a
Next


Циклы позволяют выполнить группу операторов несколько раз. В данном примере, после окончания цикла, переменная b будет принимать значение 10.
На C++ цикл for немного сложнее. В цикле for на C++ нужно указать три параметра: инициализацию счётчика, условие выхода из цикла, изменение счётчика. На Delphi и PureBasic нужно указать только начальное и конечное значение.

// цикл while на Delphi
a:=10;
while a > 0 do
begin
a := a - 1;
end;

// цикл while на С++
a=10;
while (a > 0)
{
a = a - 1;
}
; Цикл while на PureBasic
a=10
while (a > 0)
a = a - 1
Wend


Цикл while на C++ и PureBasic почти одинаковый. В PureBasic в виду отсутствия скобочек добавляется ключевое слово wend. На Delphi нет скобочек вокруг условия, и присутствует слово do и ещё два обязательных оператора begin-end;.

Массивы.

Массивы используются, когда требуется создать несколько переменных одного типа.

// массивы в Delphi
program someProgram;
Var
a: array [1..10] of integer; // объявление массива

begin
a[1] := 5; // использование массива
end;
******************************************************************
// массивы в С++
int main()
{
int a[10]; // объявление массива
a[0] = 5; // использование массива
}
********************************************************************
; массивы в PureBasic
Dim a(10) ;oбъявление массива
a(0) = 5; ;использование массива
Массивы в Delphi объявляются в разделе var. Самое важное отличие: на Delphi элементы массива можно нумеровать с единицы, а на C++ и PureBasic - только с нуля. В остальном, массивы используются одинаково.

Функции .

Функции используются, когда в разных частях программы необходимо выполнить одну группу операторов.

// функции в Delphi
program someProgram;
var
b: real;
c: real;

function someF(a: real): real; //определение функции
begin
someF:=a;
end;

begin
c := 5;
b := someF(c);
end.

// функции в c++
float b;
float c;

float someF (float a) // определение функции
{
return a;
}

int main()
{
c = 5;
b = someF(c);
return 0;
}
; функции в PureBasic

Procedure.f someF (a.f) ; определение функции
ProcedureReturn a
EndProcedure
c = 5
b = someF(c)

Перед названием функции в Delphi указывается ключевое слово function. После круглых скобочек стоит двоеточие и имя типа возвращаемого значения. В C++ и PureBasic имя типа возвращаемого значения стоит перед именем функции. В PureBasic для обозначения конца процедуры используется слово EndProcedure
Важное отличие: в C++ и в PureBasic внутри определения функции используется оператор return ( ProcedureReturn), в то время как в Delphi для возвращения значения из функции используется имя этой функции.
После ознакомления с этим текстом возникает ложное чувство, что все языки примерно одинаковы в освоении по сложности. Но не обольщайтесь! Для овладения Basic понадобиться несколько недель, для приемлемой работы на Delphi придется позаниматься несколько месяцев, а на изучение С уйдут годы, да и то не всякий овладевший сможет сходу сказать, что делает эта программа?
main(argc, argv)
int argc;
char **argv;
{
while (*argv != argv[1] && (*argv = argv[1]) && (argc = 0) || (*++argv
&& (**argv && ((++argc)[*argv] && (**argv <= argc[*argv] ||
(**argv += argc[*argv] -= **argv = argc[*argv] - **argv)) &&
--argv || putchar(**argv) && ++*argv--) || putchar(10))))
;
}
Или эта:
char *e,t [366 ],*f
,*g, *h,* i;d, m ;
main (c,b) char **b;{
for( ;d[t] =d%3 ?60<d
&300 >d&6 <d % 30?0
:32: d%30 ?32: 10 ,
366> ++d;) ;for (g=3*
atoi (*++ b) + 34+t;
i=f= "\1" "\7" "(d"
"\177" "yX" "\34" ,e=g
; ) for( *e++ =++m/
10 + 48,g =c=0 ,*e =
48+m %10; h=e- 65+*
i,d= *h,* i++; f-=8
,g=d <c?c =d,h: g)for
(; d -=!! h[*f ++-64
],*f ;) ; puts (t);}

Вы всё ещё хотите стать программистом?

_________________
read-only


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB