Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Юмор

Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 ..... 47 | 48 | 49 | 50 | 51

 

  Вопрос: эээээ Добавлено: 12.04.05 18:57  

Автор вопроса:  Дмитрий Щапов

  Ответы Всего ответов: 760  

Номер ответа: 16
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #16
Добавлено: 13.04.05 00:00
2cresta: а как рисовать Битьлт из памяти??? а то у меня только попировать с холста на холст получается :(

2Dimm: кстати, если решишь нарисовать что-то непрямоугольное и не на фоне однородного цвета не помешало бы запастись масками :)
Номер ответа: 17
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #17 Добавлено: 13.04.05 00:11
Да вообще в этом .NET всё через выход (или вход?) в прямую кишку :)


Извини за вопрос, но ты уверен, что проблема именно в .NET, а не в руках, выросших оттуда же?

Хотя полезные вещи (с%зд#ные из Delphi) там есь


Отвечаешь? Может и перечислить сможешь?
Номер ответа: 18
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #18 Добавлено: 13.04.05 00:19
Так же, как и с обычного DC,
создаёшь memory DC, совместимый с твоим экранным DC (CreateCompatibleDC), создаешь совместимый с ним битмап (CreateCompatibleБитмап) и присваиваешь этот битмап созданному memory DC (SelectObject(memoryDC,hBitmap)). После этого все процедуры рисования в memory DC (DrawText,FillRect,FrameRect,Line и т.д. и т.п.) точно также, как в обычном DC.
Как нарисовал все, можешь выводить на экран
BitBlt(SrcDC,,,,,memoryDC,,,,,SRC_COPY)

Примеров валом, найти несложно.
Номер ответа: 19
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #19 Добавлено: 13.04.05 00:20
Проблема действительно в руках. У того кто придумал НЕТ, они растут из прямой кишки :)
Номер ответа: 20
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #20 Добавлено: 13.04.05 00:27
Самое обидное то, что люди банально не хотят даже почитать хотя бы тот же MSDN.

Пример, который тут приводится, набран в VB 2005, поэтому не факт, что у тебя все из примера заработает.

    Dim Img As Image = New Bitmap(100, 100)

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim Gr As Graphics = Graphics.FromImage(Img)
        Dim Rect As New Rectangle(0, 0, 100, 100)
        Dim Br As New Drawing2D.LinearGradientBrush(Rect, Color.Blue, Color.YellowGreen, Drawing2D.LinearGradientMode.Horizontal)
        Gr.FillRectangle(Br, Rect)
        PictureBox1.Image = Img
    End Sub


Так же, как и с обычного DC,
.......
BitBlt(SrcDC,,,,,memoryDC,,,,,SRC_COPY)


Жестоко...

Проблема действительно в руках. У того кто придумал НЕТ, они растут из прямой кишки :)


Ну теперь самое интересное - вот пример из десятка строк, который делает все, что надо (за исключением того, что рисует просто градиентный прямоугольник, а не то, что нужно автору вопроса).

Почему я это написал без проблем, даже без подглядываний в MSDN, а автор вопроса сделать этого не смог???
Может, и здесь тоже разработчики из Редмонда виноваты? Они должны еще и программы вместо остальных программистов писать? И потом еще плохими быть?...
Номер ответа: 21
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #21
Добавлено: 13.04.05 00:40

Хотя полезные вещи (с%зд#ные из Delphi) там есь
Отвечаешь? Может и перечислить сможешь?


Хорошо, ты меня убедил - в .NET хороших вещей нет
Номер ответа: 22
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #22 Добавлено: 13.04.05 00:46
Да, жестоко. И чрезвычайно эффективно.

А в msdn слава богу, кроме .net ещё кое-что есть. Так что неизвестно ещё, кто тут msdn не читает:

hdcScreen = CreateDC(";DISPLAY", NULL, NULL, NULL);
hdcCompatible = CreateCompatibleDC(hdcScreen);
 
// Create a compatible bitmap for hdcScreen.
 
hbmScreen = CreateCompatibleBitmap(hdcScreen,
                     GetDeviceCaps(hdcScreen, HORZRES),
                     GetDeviceCaps(hdcScreen, VERTRES));
 
if (hbmScreen == 0)
    errhandler("hbmScreen", hwnd);
 
// Select the bitmaps into the compatible DC.
 
if (!SelectObject(hdcCompatible, hbmScreen))
    errhandler("Compatible Bitmap Selection", hwnd);
 
    // Hide the application window.
    ShowWindow(hwnd, SW_HIDE);
    //Copy color data for the entire display into a
    //bitmap that is selected into a compatible DC.
    BitBlt(hdcCompatible,
           0,0,
           bmp.bmWidth, bmp.bmHeight,
           hdcScreen,
           0,0,
           SRCCOPY))


Так что, ЧИТАЙТЕ MSDN !
Номер ответа: 23
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #23 Добавлено: 13.04.05 01:04
А в msdn слава богу, кроме .net ещё кое-что есть.


Конечно, есть, кто спорит.
Например, в разделе Windows Media Player SDK есть даже информация о том, как создавать для Windows Media Player скины.

Это первое.
Второе.
Зачем ты здесь привел код на Си (учитывая тот факт, что это форум по .NET)?
Просто поумничать, или чтоб не молчать?

Или может ты думаешь, что кто-то станет заниматься этой фигней (т.е. использованием страых АПИ, в которых надо в черт знает какой последовательности создавать/прибивать кисти и перья) когда на руках есть мощная объектная модель, предоставляющая тот же самый функционал плюс еще пару интересных возможностей???
Номер ответа: 24
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #24 Добавлено: 13.04.05 01:08
Хорошо, ты меня убедил - в .NET хороших вещей нет


Я не собирался тебя не в чем переубеждать - просто попросил объяснить смысл фразы:

Хотя полезные вещи (с%зд#ные из Delphi) там есь


По поводу отсутствия в .NET хороших технологий - тот, использует .NET (а не просто раз в месяц запускает новую IDE и пишет на форумах, о том, какой большой .NET FW и том, что VB .NET - это тормозной интерпретатор), тот может говорить о налиии/отсутствии там полезных технологий.
Номер ответа: 25
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #25 Добавлено: 13.04.05 01:13
Да, привел код чтобы поумничать, а что?
Или быть глупым стало модно с наступлением эры .нет? Я за модой не слежу...

Для того, кто понимает код, разницы нет, на Си он написан, на Бейсике или на Паскале.
А для того, кто вызубрил названия классов и методов, это действительно проблема: понять код написанный на Си.

P.S.
Вернись с вопросу автора и прочти еще раз. Может заметишь в вопросе: Не,как мне нарисованное изображение сохранить в переменную какую нить перем-ую и потом выводить её
И может поймешь, что твои скины тут не к месту
Номер ответа: 26
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #26 Добавлено: 13.04.05 01:22
Что касается заявления, что это форум по .net:
На любом другом форуме никто не считает из ряда вон выходящим приведение в одной теме примеров кода написанных на трех - четырех разных языках программирования. И соответствующих одной общей проблематике, одному алгоритму.
Только на форуме .net это загоняет в тупик :)
Номер ответа: 27
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #27 Добавлено: 13.04.05 01:38
Для того, кто понимает код, разницы нет, на Си он написан, на Бейсике или на Паскале.

Да.
Теперь допиши в конце списка языков VB .NET и поймешь всю абсурдность фразы.
Tip: если не заметил - это форум .NET.

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


На меня намекаешь? Зря.
Изучение любой технологии я начинаю с концепций.
Классы и их свойства я не зубрю - я просто понимаю, как их использовать и в любой момент могу обратиться к MSDN.
Для меня нет проблемы понять код, написанный на Си.
Тем более, что в свое время я работал с АПИ достаточно много.

Но в .NET нет необходимости использовать эти АПИ. В .NET есть более удобная объектная модель.

Вернись с вопросу автора и прочти еще раз. Может заметишь в вопросе: Не,как мне нарисованное изображение сохранить в переменную какую нить перем-ую и потом выводить её


Фразу этй я перечитывал и не раз (специально, чтоб ты не придрался к моему коду).
Теперь можешь сказать, что мой код не выполняет поставленную задачу?

По поводу последнего поста.
.NET разрабатывался для того, чтобы упростить программирование.
Такая концепция есть - Codeless Rapid Application Developmen.
Так вот. Объектная модель соответствует этой концепции.
АПИ - нет.
Поэтому приведение на форуме кода на Си (тем более после того, как был приведен рабочий пример на VB .NET) я считаю просто желанием выделитсья.

PS Не имею никакого желания тебя обидеть - речь веду только о технологчиеской и концептуальной части вопроса.
Номер ответа: 28
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #28 Добавлено: 13.04.05 01:56
Да, повторяю и подтверждаю, я желаю выделиться и поумничать

Разве нельзя?
Могу кроме Си привести такой же пример ещё на трех языках. Видишь, какой я хвастун и нескромный человек. В общем редиска.

А реклама о возможностях нет меня особо не интересует, поэтому твое красноречие никак на меня не влияет. Вместо просмотра рекламного ролика о крутых возможностях нет (или прочитывания об этих возможностях) я лучше пойду посмотрю телевизор.
Спокойной ночи технологам и концептологам :)
Номер ответа: 29
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #29
Добавлено: 13.04.05 02:40
Для меня нет проблемы понять код, написанный на Си.

go ioccc.org
Номер ответа: 30
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #30
Добавлено: 13.04.05 03:47

.NET разрабатывался для того, чтобы упростить программирование.
Такая концепция есть - Codeless Rapid Application Developmen.
Так вот. Объектная модель соответствует этой концепции.
АПИ - нет.

 Упрощение программирования за счёт оболванивания населения - это ложный путь. Советую тебе с него сойти как можно скорее и начинать постигать азы программирования. Как принято в мировой практике - начинают с БЕЙСИКА. БЕЙСИК - это только чтобы ты не пугался клавиатуры, а дальше то ведь сложнее.
 API (низкоуровневые системные вызовы) нафиг не нужны в БЕЙСИКЕ - полностью согласен. Здесь вы с cresta'ой не найдёте общего языка, т.к. находитесь на разных ступенях (ты в подготовительном классе, а он уже выпускник). API может и написаны гениальными парнями из Редмонда, но универсальными от этого автоматически не становятся. При написании приложения ты можешь воспользоваться частью этих функции как инструментом автоматизации, но даже в этом случае ты не будешь уверен в том что весь используемый код - полезный.
Часть этих функций ты можешь вставить в приложение в переработанном виде, а в конкретных критических участках заменить своими, адаптированными под конкретную ситуацию. Но если для тебя что WIN32 API, что классы .NET всего лишь названия, то о чём ты вообще можешь спорить? .NET - ограничитель фантазии. Это путь лени, причём не твоей лени, а парней из Редмонда, не потрудившихся создать профессиональный инструмент.

Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 ..... 47 | 48 | 49 | 50 | 51

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам