Страница: 1 | 2 | 3 |
Вопрос: Эволюция юзера
Добавлено: 27.07.04 13:03
Автор вопроса: Добрый волшебник
Ответы
Всего ответов: 42
Номер ответа: 16
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #16
Добавлено: 28.07.04 09:00
> Ну например как ты объяснишь программисту на VB6 что такое указатели если он не знает что такое память.
Как можно не знать, что такое память?
Указатель - просто ссылка на объект, переменная... Только с указателем
видимо гораздо сложнее работать. Поэтому мне например они нафик не
надо
А устройство памяти конечно надо изучать. Но почему ты думаешь, что
VB6-программист не может почитать какую-нть умную книжку, где
рассказывается про устройство памяти?
> Или что такое CallBack функция
Это то почти то же самое, что и событие, если рассматривать события в
контексте VB6 Если брать .NET - то это больше похоже на делегаты.
Сервер передает клиенту ссылку на функцию, клиент ее вызывает.. Так?
> Видел только один раз скриншот с VB.NET IDE.
VS 2005 еще красивше... Оформлен в стиле Office 2003...
Вчера ночью его разглядывал... Намного более интеллектуальный
IntelliSense.. Также появилась возможность не сохранять проект при
создании, что мне очень понравилось - не нужно тестовый мусор куда-то
сохранять
Очень удобно сделано позиционирование контролов на форме...
Немного новых конструкций в синтаксисе появилось. Generics - крайне
нужная вещь... Также многие ждали перегрузку операторов в VB (раньше
было только в C#)... Блок Using - тоже неплохая вещь, ранее бывшая
доступной только в C#...
Номер ответа: 17
Автор ответа:
gvozd
Разработчик Offline Client
Вопросов: 164
Ответов: 1317
Web-сайт:
Профиль | | #17
Добавлено: 28.07.04 10:01
По-моему, мы уже съехали с темы. У меня комп появился 5 лет назад, было мне тогда 9 лет. До компа я не знал, что это такое и как оно работает. Когда его привезли, на нем стояло три игрушки. Винт был 4 гига - по тем временам просто мечта. Хорошо, что на лето приехал отдыхать сюда сосед из Питера, у которого комп был пораньше, он мне помог освоить общие принципы работы на компе. Потом, мы с ним гоняли игрушки. Однажды, у нас с папой пропал русский язык и мы очень перепугались, хорошо, что сосед помог. Сначала я только игрался. Потом мне купили модем и я стал выходить в Нет, на Рамблер, чтобы посмотреть почту, на которую никто не писал. Я начал ходить в чаты, где познакомился, с крутым, как я думал, кодером. Он мне посоветовал изучать Паскаль. Но на паскаль меня хватило не надолго. Потом поставил VB3, а через полгода 6ой. Пытаюсь кодить я уже год на шестом. Не считаю себя крутым кодером, потому как программирую я недолго, поэтому прошу вас меня сильно не ругать, за тупые вопросы. Как пользователь - вроде шарю. Я своему дяде уже месяц объясняю, как обновить Касперского, а он не понимает! Инета у него дома нету, а приходится ходить в клуб и качать, а кумулятивное обновление еще и разбивать. Информатичка меня обрадовала - сказала, что в этом году, мы будем учить ПАСКАЛЬ!!! Ну что-то я разговорился.
Номер ответа: 18
Автор ответа:
DaSharm
ICQ: 780477
Вопросов: 72
Ответов: 1297
Web-сайт:
Профиль | | #18
Добавлено: 28.07.04 16:34
2 pavel:
>Указатель - просто ссылка на объект, переменная..
>. Только с указателем
>видимо гораздо сложнее работать. Поэтому мне
> например они нафик не надо
Уххх...Павел...Я то думал что ты немного лучше в ВБ разбираешься. С указателями ты ведь работаешь почти так же часто как из ссылками, практически всюда где CopyMemory в ВБ то там и указатель (собственно из-за него и нужно CopyMemory)!
>> Или что такое CallBack функция
>Это то почти то же самое, что и событие
У-у-у-у....ну это ты ваще загнул!Если бы ты приравнял оконную процедуру до события то я бы ещё молчал, но калбек ф-цию это уже слишком, ведь сами такие ф-ции только в модулях живут и с событием они имеют общее только то, что и они ВЫЗЫВАЮТЬСЯ.
Номер ответа: 19
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #19
Добавлено: 28.07.04 18:40
> Уххх...Павел...
Что не так?
Указатель - грубо говоря адрес памяти.
Ссылка - то же самое, только более удобно оформленное...
> ведь сами такие ф-ции только в модулях живут и с событием они имеют общее только то, что и они ВЫЗЫВАЮТЬСЯ.
Давай не привязывать это к контексту VB6, а смотреть в суть. Ведь что
как объявляется и где в исходном коде хранится - не суть важно.
Один объект передает другому адрес Callback функции, он в свою очередь
вызывает эту функцию, если ему это нужно... Правильно?
Хотя с событиями я действительно поторопился Это больше похоже на
работу с интерфейсами.. Что-то вроде:
Public Interface I
Function f (param As String) As String
End Interface
Public Class C
Public Obj As I
Public Sub DoSomeWork ()
MsgBox Obj.f ("Это типа Callback")
End Sub
End Class
Public Class Main
Implements I
Public Sub Main ()
Dim c As New C ()
c.Obj = Me
c.DoSomeWork
End Sub
Public Function f (param As String) As String Implements I.f
MsgBox param
Return "Ответ на Callback"
End Function
End Class
Думаю, суть понятна
А события действительно немного по-другому работают... ПРи работе с
событиями клиент может выбирать, надо ему оно или нет... И на событие
может куча народу подписаться разом.
Номер ответа: 20
Автор ответа:
DaSharm
ICQ: 780477
Вопросов: 72
Ответов: 1297
Web-сайт:
Профиль | | #20
Добавлено: 28.07.04 18:51
ой...истинное ООП на ВБ
Номер ответа: 21
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #21
Добавлено: 28.07.04 18:56
Ага.. VB .NET
Там все ООП кроме разве что множественного наследования имеется...
Номер ответа: 22
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #22
Добавлено: 28.07.04 21:32
>Один объект передает другому адрес Callback функции, он в свою очередь
вызывает эту функцию, если ему это нужно... Правильно?
- Вообще то довольно туманное определение. Никто никому ничего не передаёт. Callback функция вовсе не привязана к объектам. Она существует независимо от них. Если хочешь, то ты можешь принимать сообщения, посылаемые окну, в заданную тобой CallBack функцию.
Вот именно об этом я и говорил. Какой получается ответ если спросить VB-шника о том, что такое CallBack функция.
Номер ответа: 23
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #23
Добавлено: 28.07.04 21:47
>Указатель - просто ссылка на объект, переменная...
Только с указателем
видимо гораздо сложнее работать. Поэтому мне например они нафик не
надо
- Нет, указатель - это не просто какая то жалкая переменная или ссылка на объект.
И это вовсе не выдуманная высокоуровневая конструкция.
Указатель - это одна из составляющих работы микропроцессора. МП может работать непосредственно либо с регистром либо с памятью (причём непосредственно с памятью может работать только CISC-процессор).
Дизассемблируй любую программу и всё что будет BYTE/WORD/DWORD PTR и есть указатели (память).
Не важно на что они ссылаются: Переменная ли объект или ещё что. В конечном итоге всё сводится к 32-битному числу.
Именно это я имел ввиду когда говорил что VB-шник имеет смутное представление о памяти.
Номер ответа: 24
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #24
Добавлено: 28.07.04 21:48
Чисто флуд.
Раз это топик от Доброго Волшебника, то надеюсь он защитит меня от трёх шестёрок по количеству ответов.
Номер ответа: 25
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #25
Добавлено: 28.07.04 22:01
Сурах, твой прежний логин разблокирован...
Номер ответа: 26
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #26
Добавлено: 28.07.04 22:27
Павел, я чуть дополню CyRax'a, тоже пофлудю:
Если у тебя есть Dim MyVar As Integer, то обращаясь к адресу памяти, закрепленному за MyVar через указатели, можно получить такие вещи:
byte ptr [начало переменной] - получишь младший байт от MyVar
word ptr [начало переменной] - получишь весь MyVar
dword ptr [начало переменной] - получишь весь MyVar и еще в придачу следующий кусок памяти также размером с MyVar
В принципе зная адрес первой переменной и размеры остальных переменных, можно обращаться к остальным, не зная их адреса. Так что >Указатель - просто ссылка на объект, переменная - не совсем так. Указатель скорее орудие доступа к любой ячейке памяти, независимо прописана там переменная, объект или нет, в том числе и выдрать и вставить в середину переменной
Номер ответа: 27
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #27
Добавлено: 29.07.04 00:36
cresta,
Ты его так только запутаешь. Вроде в VB.NET у Integer длина 32 бита.
Номер ответа: 28
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #28
Добавлено: 29.07.04 00:38
User Unknown,
Вроде ж был заблокирован до 2050 года.
Эх, ещё бы пароль к нему вспомнить.
Номер ответа: 29
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #29
Добавлено: 29.07.04 04:27
CyRax, я оч. надеюсь, что Павел не забыл VB. Да и пример можно к любому типу применить(в данном случае - 16 битное число, по версии VB 6.0 - Integer). Суть останется та же
Номер ответа: 30
Автор ответа:
Добрый волшебник
Вопросов: 1
Ответов: 6
Профиль | | #30
Добавлено: 29.07.04 04:56
Всем снова привет!
Так рад почитать истории жизни знакомых людей блиин! Да вооще в оффтопе можно про всё говорить. Да про всё.... кроме програмирования (если это не так, прошу меня поправить, буду только рад)
Да и споры затевать нет смысла. В споре нет победителей. Если Вы проиграли-то вы проиграли. А если выиграли, то всё равно проиграли, так как Вам не удалось склонить оппонента к своему мнению, он только стал даже больше верить в своё. Надеюсь вы не сердитесь
CyRax! Если ты тот самый CyRax которого я знал, как могли тебя заблокировать?! Они лишили свой форум множества чётких и всоевремменных ответов За что? Я поздравляю тебя с "восстановлением прав"!