ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Кодинг приложений под Mac Os
  #1  
Старый 01.05.2009, 01:30
kori256
Познающий
Регистрация: 07.02.2009
Сообщений: 89
Провел на форуме:
3029180

Репутация: 106
Отправить сообщение для kori256 с помощью ICQ
Wink Кодинг приложений под Mac Os

Сегодня мы рассмотрим основные приемы кодинга для Mac OS.
Мы будем писать самый обыкновенный генератор случайных чисел.

Для кодинга нам понадобится Mac OS X Developer Tools, который вы можете найти на диске вместе с Mac Os или
скачать в интернете. Вы можете, конечно, использовать весь потенциал "Mac OS X Developer Tools", но, в основном, вам понадобится только два приложения: Xcode и Interface Builder.

Итак, открываем xcode.
Наверху мы видим заголовок File. Нажимаем и создаем новый проект File -> New project.

Далее у нас есть выбор типа проекта, мы выберем Cocoa Application.

Затем пишем имя проекта, например, "RandomApp"


Итак, мы видим перед собой "Скелет" нашей будущей программы.. Нажмем "Build and Go", чтобы запустить нашу программу..

Запустив программу, мы можем увидеть


Основная функция
Нажмите Editor, чтобы можно было удобнее работать с кодом программы.
Слева вы можете увидеть пункт Resources, в котором есть файл MainMenu.nib.
Дважды щелкните по нему, чтобы открыть в Interface Builder



Interface Builder позволяет создавать и редактировать объекты пользовательского интерфейса (например, для окон и
кнопок), и сохранять
эти объекты в файл. Вы также можете создавать пользовательские классы и связи между
ними, или стандартный пользовательский интерфейс объектов.


Создание Интерфейса.


Откройте Library в пункте window -> Library.



Во вкладке Cocoa вы можете найти пункт Views & Cells. Нажав на неё, вы можте увидеть множество объектов.

Нас интересует "Rounded Rect Button". Зажмите объект левой кнопкой мыши и перетащите его в окно нашей будущей

программы. Двойной клик по кнопке позволит вам изменить заголовок этой кнопки. Дайте ему название "Seed random

number generator using time" (вообще то можно любое )
Создайте под этой кнопкой еще одну и дайте ей название "Generate random number".
Затем, найдя в главе "Views & Cells" подглаву "Input & Values" перейдем в нее и найдем там "Label". Также

переместим его в наше окно.
У нас должно появиться что то вроде этого




Сделаем окно меньше, внизу есть ползунок, чтоб было красивее.

И центрируем текст "Label".Чтобы его центрировать заходим в "Tools" и находим там "Attributes Inspector".

Нажимаем на "Label" И в свойствах жмем кнопку центрирования.

У нас должен получиться вот такой интерфейс



Все, с интерфейсом будущей программы мы закончили.


В Objective-C, каждый класс определяется двумя файлами: файлом заголовка и файлом реализации.

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


Теперь вернитесь в xcode и выберите File->New File и создайте новый Cocoa -> Objective-C class.
Дайте новому файлу имя Foo.m


Файлы Foo.h и Foo.m появятся в вашем проекте. Если они не появляются в группе Classes, перетащите их
туда вручную.

В Foo.h, вы будете добавлять, например переменные и методы класса.

Изменим Foo.h добавив в него следующий код:
PHP код:
#import <Cocoa/Cocoa.h>
@interface Foo NSObject {
    
IBOutlet NSTextField *textField;
}
-(
IBAction)seed:(id)sender;
-(
IBAction)generate:(id)sender;
@
end 

Сохраните Foo.h


Вернемся к Interface Builder.

Заходим в Library. В Cocoa заходим в Objects & Controllers и выбираем Object (NSObject).

Перетаскиваем его в MainMenu.nib, как показано на рисунке




В Identity Inspector, установите класс этого файла как Foo. (Ваши действия должны появиться в Identity Inspector.

Если они не появятся, то еще раз проверьте файл Foo.h на наличие ошибок).



Теперь свяжем наши действия с объектами..
Нажмите правой кнопкой мыши на "Label", вы увидите надпись "textField" и кружочек напротив нее..
Зажмите левой кнопкой мыши этот кружок и перетащите его к window


Повторите то же самое и для кнопок "Seed random number generator using time" и "Generate random number" как

показано на рисунках





сохраним и снова возвратимся в xcode.

Теперь изменяем файл Foo.m

вставим в него следующий код..

PHP код:
#import "Foo.h"
@implementation Foo
- (IBAction)generate:(id)sender
{
    
// Generate a number between 1 and 100 inclusive
    
int generated;
    
generated = (random() % 100) + 1;
    
NSLog(@"generated = %d"generated);
    
// Ask the text field to change what it is displaying
    
[textField setIntValue:generated];
}
- (
IBAction)seed:(id)sender
{
    
// Seed the random number generator with the time
    
srandom(time(NULL));
    [
textField setStringValue:@"Generator seeded"];
}
@
end 
сохраняем все и теперь пытаемся запустить. Жмем Build and Go, если у нас появилось сообщение об ошибке, то надо

еще раз все проверить, особенно файлы Foo.h и Foo.m. Если сообщения нет, и программа запустилась, значит все нормально и работает!!

Удачи вам всем..


16.06.2009 Теперь замечательная книга Become An Xcoder есть и на русском языке качаем скачать

(с)kori256 специально для xaker.name и antichat.ru

Последний раз редактировалось kori256; 16.06.2009 в 23:44.. Причина: Исправил ошибки и опечатки
 
Ответить с цитированием

  #2  
Старый 01.05.2009, 02:07
-Hormold-
Постоянный
Регистрация: 29.09.2007
Сообщений: 617
Провел на форуме:
3250478

Репутация: 999


Отправить сообщение для -Hormold- с помощью ICQ
По умолчанию

Статью почитаю на досуге.
Хочу сразу заметить, на Хабре видел вакансию Mac программиста с зарплатой больше 100k руб!
Вот это сейчас актуально. Презедент же юзает Мак :-)
 
Ответить с цитированием

  #3  
Старый 01.05.2009, 02:09
kori256
Познающий
Регистрация: 07.02.2009
Сообщений: 89
Провел на форуме:
3029180

Репутация: 106
Отправить сообщение для kori256 с помощью ICQ
По умолчанию

Программирование прог под мак очень перспективное направление, но к моему большому сожалению слаборазвитое в нашей стране.
 
Ответить с цитированием

  #4  
Старый 01.05.2009, 02:42
Qwazar
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме:
10605912

Репутация: 4693


По умолчанию

Цитата:
Сообщение от kori256  
Программирование прог под мак очень перспективное направление, но к моему большому сожалению слаборазвитое в нашей стране.
Это наоборот хорошо, значит конкуренция пока маленькая.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

Мой блог:http://qwazar.ru/.
 
Ответить с цитированием

  #5  
Старый 01.05.2009, 02:52
kori256
Познающий
Регистрация: 07.02.2009
Сообщений: 89
Провел на форуме:
3029180

Репутация: 106
Отправить сообщение для kori256 с помощью ICQ
По умолчанию

Цитата:
Это наоборот хорошо, значит конкуренция пока маленькая.
В этом с тобой соглашусь ловить момент надо, пока он дан нам.
 
Ответить с цитированием

  #6  
Старый 01.05.2009, 03:57
procedure
Banned
Регистрация: 22.12.2007
Сообщений: 660
Провел на форуме:
3885269

Репутация: 1158


По умолчанию

визуал студия решает)
А теперь смотри что я делаю для того чтобы создать такую же прогу.
File -> new Project -> ConsoleApplication
Random rand = new Random(System.DateTime.Now.Millisecond);
Console.WriteLine(rand.Next(500));

В 2 строчки уложился)
В win приложении эти 2 строчки нужно кинуть в обработчик события по клику)

Но все равно молодец) Написал генератор) + за подробное описание, детишкам на мак осях должно понравится)

Последний раз редактировалось procedure; 01.05.2009 в 08:10..
 
Ответить с цитированием

  #7  
Старый 01.05.2009, 08:22
kori256
Познающий
Регистрация: 07.02.2009
Сообщений: 89
Провел на форуме:
3029180

Репутация: 106
Отправить сообщение для kori256 с помощью ICQ
По умолчанию

procedure, спасибо.
 
Ответить с цитированием

  #8  
Старый 04.05.2009, 16:23
root_sashok
Познавший АНТИЧАТ
Регистрация: 04.08.2008
Сообщений: 1,359
Провел на форуме:
8220635

Репутация: 1593


Отправить сообщение для root_sashok с помощью ICQ
По умолчанию

спасибо, тс, только это не совсем кодинг кодинг в текстовой части, а это... интерфейс-строение

а маки да, они продвигаются еще как. у президента продукция Apple, кодинг под мак нехило стоит
 
Ответить с цитированием

  #9  
Старый 04.05.2009, 16:43
geezer.code
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме:
7452489

Репутация: 1359


По умолчанию

уже тошнит от obj-C, тошнит от квадратных скобок в первую очередь. синтаксис просто кошмарен
говорила мама иди в хирурги.
 
Ответить с цитированием

  #10  
Старый 04.05.2009, 18:44
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

Программирование и кодинг, понятия разные.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть что-то типа РАдмин-клиента под MAC OS X? AllenZ *nix системы 4 28.03.2009 17:32
Хостинги под всё! »Atom1c« ПО для Web разработчика 29 10.02.2009 17:56
MAC filtering Dracula4ever Чужие Статьи 22 26.06.2007 17:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ