Знакомство с PascalABC.NET

Приветствую всех читателей блога. Как и говорил Евгений, теперь здесь будут публиковаться статьи о программировании на PascalABC.NET. Сейчас я хотел бы немного рассказать об этой системе программирования и самом языке. Предупреждаю сразу, в этой статье мы не будем заниматься программированием т.к. она ознакомительная, поэтому кто ждёт примеров кода и программ,  ждите 2-ой статьи. И так, начнём!

PascalABC.NET – это язык Delphi (Object Pascal) для платформы Microsoft .NET, содержащий все основные элементы современных языков программирования: модули, классы, перегрузку операций, интерфейсы, исключения, обобщенные классы, сборку мусора, а также некоторые средства параллельности, в том числе директивы OpenMP. (c) оф. сайт PascalABC.NET

Проще говоря, Pabc.NET - это обычный PascalABC, с возможностью использовать платформу .NET. Благодаря этой возможности мы получаем инструмент, не уступающий по функционалу таким мощным языкам  как C#, Delphi, VB.NET и пр., но при этом, сохранивший простоту языка Pascal. Pabc.NET, как и многие другие паскали, ориентирован на обучение программированию, не смотря на это, на нём можно создавать достаточно сложные программы.

PascalABC.NET больше всего схож с Delphi и PascalABC. Об их отличиях можно почитать тут (Pabc.NET vs Pabc) и тут (Pabc.NET vs Delphi).

Пример программы на PascalABC.NET:

// Посчитать кол-во букв "А" в слове
var
  Count: integer;
  S: string;

begin
  // Вводим слово
  WriteLn('Введите слово:');
  ReadLn(S);
  // Считаем кол-во букв
  for var i := 1 to S.Length do
    if (S[i] = 'А') or (S[i] = 'а') then
      Inc(Count);
  // Выводим результат
  WriteLn('Кол-во букв "А" в слове "', S ,'" = ', Count);
end.

Думаю на этом предварительное знакомство с языком можно закончить, более подробно о нём, я расскажу в следующих статьях.

С ув. BaboshinSD.

  Метки:
  BaboshinSD
  Просмотров: 4 452
  Запись опубликована в 16:07

Конец лета..

Ну вот друзья почти кончилось лето 2013-го года.

Скажу одно пролетело оно слишком быстро, еще бы месяца 2-3 по отдыхать, но нельзя.

Всем школьникам и студентам желаю хорошо начать и закончить учебный год!

Лето прошлом теперь ждем новый год Конец лета..

  Метки:
  Евгений
  Просмотров: 11 580
  Запись опубликована в 18:06

Авг 27, 2013 - Софт    47 комментариев

Удаление водяного знака

Знаю, что это плохое дело, но все же иногда возникают моменты, когда нужно обработать какую-то картинку под свои нужды, но зачастую на пути встречаются различные препятствия, которые можно обойти с помощью простого Paint'а, мощного Photoshop'а или же с помощью других специальных программ.

Сегодня я расскажу с помощью какой программы можно просто и быстро убрать водяной знак или любой другой элемент с картинки.

Работать мы будем в программе под названием Teorex Inpaint

Загрузить Teorex Inpaint

Разобраться в программе очень просто, сейчас я, как пример уберу водяной знак на картинке с помощью "Маркера"

Как было и как стало:

ДоУбрать вод. знак 300x208 Удаление водяного знака

ПослеУбрать вод. знак 300x208 Удаление водяного знака

Как видите, все довольно просто и легко!

Исходная и готовая картинка.

  Метки: , ,
  Евгений
  Просмотров: 119 185
  Запись опубликована в 20:02

Перемещение формы №2

Возможно для саморазвития я приведу практически два одинаковых примера перемещения формы.

Первый вариант с помощью API функций SendMessage и ReleaseCapture:

Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
                (ByVal hWnd As Integer, ByVal wMsg As Integer, _
                 ByVal wParam As Integer, ByVal lParam As Integer) As Integer
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
    ReleaseCapture()
    SendMessage(Me.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.FormBorderStyle = FormBorderStyle.None
End Sub

Слишком много кода, не правда ли?

Второй вариант, с помощью структуры Message, посылаем сообщение Windows:

Private Const WM_NCHITTEST As Integer = &H84
Private Const HTCAPTION = 2
Protected Overrides Sub WndProc(ByRef m As Message)
    If (m.Msg = WM_NCHITTEST) Then
        m.Result = IntPtr.op_Explicit(HTCAPTION)
    Else
        MyBase.WndProc(m)
    End If
End Sub

Дополнительно:

Функция SendMessage и функция ReleaseCapture.

  Метки:
  Евгений
  Просмотров: 5 766
  Запись опубликована в 19:41

Уроки по PascalABC.NET

Переговоры с автором прошли успешно.

С сентября на блоге уже будут писаться статьи по PascalABC.NET

Автором будет человек по имени Сергей, а его ник BaboshinSD

Первый урок - Знакомство с PascalABC.NET

Новый автор 225x300 Уроки по PascalABC.NET

  Метки:
  Евгений
  Просмотров: 2 587
  Запись опубликована в 18:31

Редактор для комментариев

C помощью плагина MCEComments, Вы приукрасите стандартный редактор комментариев у себя на блоге.

Оставлять комментарии стало еще проще и удобней.

Загрузить MCEComments

Как выглядит:

Для зарегистрированных 300x198 Редактор для комментариев

Система для гостей 300x293 Редактор для комментариев

  Метки: , ,
  Евгений
  Просмотров: 3 096
  Запись опубликована в 18:34

Информация!

В последние дни лета активно возьмусь за блог, сейчас не больно подходящее время, т.к занят заполнением интернет магазина.

Возможно на сайте будут писаться уроки по PascalABC.NET, если договорюсь с автором.

LogoPABCNET2013 Rus Информация!

Также планируется выпустить стабильную версию FastScreen'а.

Вообщем следите за обновлениями на блоге и если есть желание, то пишите свои статьи!

P.S 24-го августа не забудьте меня поздравить с Днем Рождения ^_^

А да кстати ещё решил проблемы с индексацией блога в Яндексе.

ЯндексИндекс Информация!

  Метки:
  Евгений
  Просмотров: 2 502
  Запись опубликована в 15:47

Горящий текст

Красивый эффект "горящего" текста на форме:

Горящий текст 300x232 Горящий текст

Imports System.Drawing.Drawing2D
Public Class Form1
    Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
        Me.BackColor = Color.Black
        'создаем лист для рисования 58х43
        Dim bm As New Bitmap(CInt(Me.ClientSize.Width / 5), CInt(Me.ClientSize.Height / 5))
        'создаем траекторию
        Dim pth As New GraphicsPath
        'добавим строку в заданном стиле
        pth.AddString("VB.NET", New FontFamily("Tahoma"), CInt(FontStyle.Bold), 48, New Point(70, 60), StringFormat.GenericTypographic)
        'создаем поверхность для рисования
        Dim g As Graphics = Graphics.FromImage(bm)
        Dim mx As Matrix
        mx = New Matrix(1.0F / 5, 0, 0, _
                        1.0F / 5, -(1.0F / 5), _
                        -(1.0F / 5))
        'выберем режим сглаживания для поверхности
        g.SmoothingMode = SmoothingMode.AntiAlias
        'преобразуем объект Graphics
        g.Transform = mx
        'создадим перо
        Dim p As New Pen(Color.Tomato, 3)
        'рисуем вокруг созданного пути
        g.DrawPath(p, pth)
        'и заполняем для лудшего эфекта
        g.FillPath(Brushes.Yellow, pth)
        'освобождаем ресурсы
        g.Dispose()
        'установим режим сглаживания для контура (действие на форму)
        e.Graphics.SmoothingMode = SmoothingMode.AntiAlias
        'e.Graphics.InterpolationMode = InterpolationMode.HighQualityBicubic
        'и расширяем картинку для создания размытости краев
        e.Graphics.DrawImage(bm, ClientRectangle, 0, 0, bm.Width, bm.Height, GraphicsUnit.Pixel)
        'перерисовываем оригинальный текст
        e.Graphics.FillPath(Brushes.Black, pth)
        'освобождаем ресурсы
        pth.Dispose()
    End Sub
End Class

Источник

  Метки:
  Евгений
  Просмотров: 4 421
  Запись опубликована в 15:31

Не дорогой профессиональный хостинг

Вот и воскресенье, как я и обещал сегодня будет добавлено три новых статьи.

Сегодня я расскажу про профессиональный хостинг - vbhost.ru, которым пользуюсь сам.

На ваш выбор предоставляется 6 различных тарифов:

Тарифы №1 300x117 Не дорогой профессиональный хостинг

Тарифы №2 300x118 Не дорогой профессиональный хостинг

Почему я выбрал именно этот хостинг:

  • Дешево и просто.
  • Постоянный и мощный.
  • Приятная служба поддержки.
  • Поддерживает любые CMS.
  • Регистрация доменного имени.
  • Предоставляет тестовый период.
  • Возврат денежных средств.

Рекомендую!

  Метки:
  Евгений
  Просмотров: 2 565
  Запись опубликована в 16:08

Рисунок цапли

Ища у себя в архиве проектов один проект, нашел совершенно случайно интересный проект. Автора можно найти на КБ.

Загрузить проект

Imagee 300x248 Рисунок цапли

  Метки: , ,
  Евгений
  Просмотров: 8 583
  Запись опубликована в 12:24

Страницы:«1...34353637383940...46»