Форум: "Прочее";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
ВнизВсе, кто че знает по Messages, поделитесь Найти похожие ветки
← →
delphi-oracle © (2006-02-19 08:18) [0]Или подскажите статью на даную тему.
← →
unknown © (2006-02-19 10:48) [1]
Message
Сообщение - в информатике - упорядоченная последовательность символов, предназначенная для передачи. Сообщение состоит:
- из тела, содержащего передаваемые данные; и
- из заголовка, в который помещаются сведения, необходимые для передачи.
(c) http://www.glossary.ru/cgi-bin/gl_sch2.cgi?RRuuh$lto9
← →
Ega23 © (2006-02-19 10:55) [2]LParam и WParam
← →
jack128 © (2006-02-19 11:26) [3]а я еще умное слово Dispatch знаю :-)
← →
pasha_golub © (2006-02-19 13:51) [4]SendMessage, PostMessage
← →
Ega23 © (2006-02-19 13:54) [5]
> SendMessage, PostMessage
Фи, Паша!
Это же тривиально!
:-))))
← →
delphi-oracle © (2006-02-19 18:30) [6]Прошу не отдельные слова, а полные предложения, желательно с исходниками.
← →
TUser © (2006-02-19 18:34) [7]> Прошу не отдельные слова, а полные предложения
ИзвольСлова LParam, WParam, Dispatch, SendMessage и PostMessage имеют непосредственное отношение к заявленной в топике теме.
← →
delphi-oracle © (2006-02-19 18:55) [8]Да, но простите, летературы по теме нет. Поетому как юзать ети слова еще надо объяснить...
← →
TUser © (2006-02-19 18:56) [9]Goolge, Yandex
А литература есть - ищи учебники по WinAPI.
← →
Джо © (2006-02-19 19:48) [10]>
> [8] delphi-oracle © (19.02.06 18:55)
> Да, но простите, летературы по теме нет. Поетому как юзать
> ети слова еще надо объяснить...
Эти слова (с объяснениями) имеются в Справке, поставляемой с Делфи.
← →
Palladin © (2006-02-19 19:50) [11]
> delphi-oracle ©
полное преложение с исходником
Procedure Messages(Const S:String);
Begin
ShowMessage(S);
End;
или тебе кажется что это как то не связанно с вопросом?
← →
Nick Denry © (2006-02-19 20:13) [12]Народ, хватит издеваться над человеком.
Или попросите объяснится, уточнить что имнно он имел ввиду (из контекста, скорее всего имеются ввиду Windows Messages aka WM_) и процесс обработки и все что с ними связанно или не издевайтесь. Сами тоже с 0 начинали когда-то.
применительно к [11]
← →
Джо © (2006-02-19 20:15) [13]Nick Denry ©
> Windows Messages aka WM_)
А, к примеру, EM_* не имеют отношения к "Windows Messages"?
← →
API (2006-02-19 20:38) [14]Nick Denry
из контекста, скорее всего имеются ввиду Windows Messages
Вы смогли усмотреть контекст в его вопросе?
Где он, этот контекст, не в "Все, кто че знает", случаем?
← →
Nick Denry © (2006-02-19 20:41) [15][13] Джо © (19.02.06 20:15)
Что ж видимо я тоже не ясно выражаюсь :)
К примеру, имеют. В широком смысле. В узком, EM_ являются сообщениями управления различными типами полей ввода, но не как уж не сообщениями управления окна (на английском это звучит как "Windows").
И, не согласитесь ли Вы, что в процессе обработки сообщений, в простейших приложениях (пустое окно) (что крайне важно для новичка), первостепенную важность имеют всё же сообщения WM_ и ни как уж не EM_?
Я ясно надеюсь теперь выразился , или будем все префиксы сообщений перечислять?
← →
Джо © (2006-02-19 20:43) [16]> [15] Nick Denry © (19.02.06 20:41)
Поля ввода это тоже окна, или, выражаясь по-английски "Windows" :)
А, скажем, 1 (константа) — это "сообщение"?
← →
Nick Denry © (2006-02-19 20:54) [17][14] API (19.02.06 20:38)
Слова " скорее всего" (лексичекое значение: предполагается один из возможных вариантов) и "попросите объяснится" ни о чем не говорят?
Может хватит предергивать?
[16] Джо © (19.02.06 20:43)
Поля ввода это тоже окна, или, выражаясь по-английски "Windows" :)
В широком смысле. :)
Так же в широком смысле любой контрол - "выражаясь по-английски" (с) Windows.
Т.е. каждая селедка, конечно же, рыба, но не каждая рыба - селедка.
Возвращаясь к предыдущему вопросу, не для всех "английских" Windows подходят собщения EM_, но для всех - WM_ :)
А, скажем, 1 (константа) — это "сообщение"? вопрос незнания? :)))
Я понимаю, что все вокруг умные, только вот объяснить толком никто не может. Или не хочет. Зато поиздеваться, блистая - это завсегда пожалуйста. Считаю отвратительным.
← →
Джо © (2006-02-19 20:58) [18][17] Nick Denry © (19.02.06 20:54)
> Я понимаю, что все вокруг умные, только вот объяснить толком
> никто не может. Или не хочет. Зато поиздеваться, блистая
> - это завсегда пожалуйста. Считаю отвратительным
Так ведь никто и не мешает — объясняй, пожалуйста :) А не советуй другим что-то делать или не делать...
← →
Nick Denry © (2006-02-19 21:13) [19][18] Джо © (19.02.06 20:58)
Я не объяснял, и не собираюсь. :)
И уж тем более не советую.
Просто прошу не издеваться. Ибо не хорошо (т.е. не прилично). И должно быть стыдно. Наверное.
← →
Eraser © (2006-02-19 21:15) [20]
> delphi-oracle © (19.02.06 08:18)
http://www.podgoretsky.com/ftp/Docs/Classics/Richter/richter4ru.zip (2.2 MB)
← →
delphi-oracle © (2006-02-20 20:01) [21]!!!!!!!!!!
Я не понимаю, как ето вас угораздило писать такие умные вещи, но вы мне так и не объяснили. Все вы "умные".
!!!!!!!!!!
Объяснения.
Я имел в виду те Messages, которые называются Windows Messages, посылаются postmessage и sendmessage и
описываются в одноименном файле .pas.
Главные вопросы:
-Как получать данные через messages
-Как посылать строки.
-Какую литературу можно достать по данной теме.
Джо, издеваться действительно неприлично. И с етикой у тебя не все в порядке
Пурги мне не надо. Поболтать вы тоже можете не здесь.
← →
Virgo_Style © (2006-02-20 20:39) [22]- см. message (directive) или message methods
- WM_CopyData
- жуткую тучу, Рихтера, MSDN, Windows SDK - навскидку.
← →
Nick Denry © (2006-02-20 22:50) [23][21] delphi-oracle © (20.02.06 20:01)
Сударь, не надо резких выражений, и читайте внимательно.
При чем здесь Джо (с)?
Здесь не очень всматриваются в возраст человека и в то, как с ним в таком озрасте можно разговаривать.
По теме ветки.
Мое неправильное ИМХО ;) (просьба пинать за неточности :)
Основны средством взаимодействия операционной системы Windows и пользователя является оконный графический интерфейс.
Базовой единицей такого интерфейса является окно, которое может служить, в свою очередь "платформой" для создания других элементов пользовательского интерфейса. Для управления поведением окна ОС Windows использует механизм, называемый оконными сообщениями.
Для того, чтобы создать простейшее окно в ОС Windows необходимо выполнить следующий ряд действий.
1: Определить основные атрибуты окна, такие как его внешний вид, значок, курсор, наличие меню, цвет, и т.д. В литературе данный шаг называется инициализацией и регистрацией класса окна.
2: Создать специальную функцию для обработки происходящих в системе "событий" и событий для нашего окна (Создать главную оконную функцию, для обработки сообщений Windows).
3: Непосредственно создать и отобразить окно.
4: Запустить цикл приема сообщений.
← →
Nick Denry © (2006-02-20 22:52) [24]{Теперь пошагово.
Для начала создай пустой *.dpr файл. (например новое консольное приложение + Ctrl+A + Ctrl+С)
Все основное, что должно быть в программе
*Начало*}
program Project1;
uses
Windows,
Messages; //Минимальный набор модулей для создания полноценного окна.
const
MainWndClassName = "TestWndClassName"; //Уникальный идентификатор класса окна.
var
MainWnd : HWND; {Уникальный численный идентификатор окна в системе (дескриптор), каждому дескриптору соответветствует уникальное единственное окно.}
Mesg : TMsg; //Переменная для приема сообщений в цикле приема сообщений.
{Предварительное объявление функции обработки сообщений. Присутствует потому, что процедура регистрации класса окнаа расположенны перед процедурой обработки.
Параметра объясню позднее.}
function WndProc(wnd : HWND; msg : Integer; wParam : WPARAM; lParam : LPARAM) : LRESULT; stdcall; forward;
{1. Шаг первый. Регистрация класса окна.}
procedure RegisterMainWindowClass;
var
MainWndClass : TWndClassEx; //Переменная, содержащая информацию о классе окна. (запись).
begin
//Заполнение переменной класса окна
with MainWndClass do begin
cbSize := SizeOf(TWndClassEx); //Заполнение поля размера структуры
style := CS_HREDRAW or CS_VREDRAW; //Стиль окна. определяет параметры отрисовки и многое другое. Смотреть WIn32SDK по слову WNDCLASSEX
lpfnWndProc := @WndProc; //Указатель на функцию обработки сообщений.
cbClsExtra := 0; //Обязательные поля для заполнения. Пока прими как данное, должны быть 0;
cbWndExtra := 0; //Обязательные поля для заполнения. Пока прими как данное, должны быть 0;
end;
MainWndClass.hInstance := HInstance; // Запись HInstance приложения в переменную класса окна.
with MainWndClass do begin
hIcon := LoadIcon(0, IDI_APPLICATION); //Загрузка значка окна
hIconSm := hIcon; //Подробнее смотри в WIn32SDK по слову WNDCLASSEX
hCursor := LoadCursor(0, IDC_ARROW); //Загрузка курсора для окна
hbrBackground := COLOR_BTNFACE + 1; //Кисть, с помощью которой будет отрисован фон окна.
lpszMenuName := nil; //Имя реурса меню. Подробнее в WIn32SDK по слову WNDCLASSEX
lpszClassName := MainWndClassName; //Уникальный идентификатор класса окна.
end;
RegisterClassEx(MainWndClass); //Регистрация класса окна в системе. результат этой функции желательно анализировать. Подробнее в Win32SDK по слову RegisterClassEx
end;
← →
Nick Denry © (2006-02-20 22:55) [25]
{2. Шаг второй. Создание функции обработк сообщений.
Данная функция называется callback-функцией - это означает, что данную функцию вызывает не наше приложение, а операционная система Windows для уведомления нашего окна о происходящих с ним и с операционной системой событиями. Для того, что бы Windows знала, где в нашем приложении находится адрес этой нашей функции, мы записываем указатель на нее в переменную типа TWNDCLassEx (поле lpfnWndProc). Кроме того, данная функция должна соответсвовать определенному формату, а именно:}
function WndProc (wnd : HWNd; msg : Integer; wParam : WPARAM; lParam : LPARAM) : LRESULT; stdcall;
{где WndProc - любое допустимое имя функции, не совпадающее с уже имеющимися в операционной системе.
Данные параметр заполнятеся Windows!
Параметр Wnd является идентификатором окна, для которого поступает сообщение.
Параметр msg является уникальным численным идентификатором сообщения, поступающего окну.
Параметр wParam - типа WPARAM = DWORD - первый дополнительный параметр сообщения. Значение зависит от значения параметра msg.
Параметр lParam - типа WPARAM = DWORD - воторой дополнительный параметр сообщения. Значение зависит от значения параметра msg.
Возвращаемое значение - типа LRESULT.
Служебное слово stdcall определяет особый вид функции, который является стандартом вызова функций в Windows
подробнее читать "Assembler. Учебник для вузов" 2-е издание, Юров В.И. изд. Питер, 2001, например или иискать в интернете.}
begin
//Множественный выбор из необходимых сообщений.
case msg of
WM_DESTROY: //Собщение, посылаемое от Winbows окну, если оно будет разрушено ((например, закрыто пользователем)
begin
//Выполняем необходимые дейтвия. (например освобождение ресурсов и выход из программы)
PostQuitMessage(0); //Возвращаем операционной системе код завершения нашего приложения.
Result := 0; {Сообщения, которые должны быть обработаны в нашей функции должны возвращать определенное значение (в Delphi требуется только для сообщений, возвращающих ненулевое значение.}
Exit; //Выходим
end;
else Result := DefWindowProc(wnd, msg, wParam, lParam); {Остальные сообщения, которые мы не обрабатываем явно, отдаются для стандартной обработки операционной системе. Параметры те же, что и для WndProc.}
end;
end;
{3. Шаг третий. Создание окна.}
begin {тело программы}
//Cначала вызываем процедуру регистрации класса окна в системе.
RegisterMainWindowClass;
//Затем создаем окно, с помощью функции CreateWindowEx
MainWnd := CreateWindowEx(0, //Расширенный тиль окна. подробности в Win32SDK по слову CreateWindowEx
MainWndClassName, //Уникальный идентификатор класса окна. Указывает,что озданное окно будет таким, каким мы его определили в процедуре RegisterMainWindowClass;
"Window Caption", // Заголовок окна
WS_OVERLAPPEDWINDOW, {стиль окна. Данный флаг указывет, каким должно быть окно. В данном случае - это окно, которое имеет заголовок, кнопки свернуть, развернуть, закрыть, системное меню окна и может менять размер. Подробности в Win32SDK по слову CreateWindow}
400, //Горизонтальное положение окна на экране
300, //Вертикальное положение окна на экране
400, //Ширина окна
250, //Высота окна
0, //родительсоке окно (Дескриптор окна, которому будет принадлежать данное. 0 - окно принадлежит рабочему столу.)
0, //дескриптор главного меню окна, если есть
HInstance, //HInstance приложения
nil); //Подробности в win32SDK по слову CreateWindowEx
ShowWindow(MainWnd, SW_SHOW); //Отображение окна на экране
{4. Шаг четвертый. Создание цикла приема сообщений.}
while GetMessage(Mesg,0,0,0) do begin //Функция Getmessage проверяет есть ли сообщения в очереди
TranslateMessage(Mesg); //затем пекреводит низкоуровневые сообщения о клавишах в символьные сообщения
DispatchMessage(Mesg); //Затем отправляет сообщение в процедуру обработки
end;
← →
Nick Denry © (2006-02-20 22:57) [26]
{приложение работает следующи образом:
1. после запуска в теле программы у нас первой процедурой стоит процедура регистрации класса окна.
заполняется переменная типа структуры TWndClassEx, в том числе поле с указателем на фукцию обработки сообщений.
затем эта информация регистрируется в системе.
после регистрации в системе необходимо проверить результат, т.к. класс с таким именем уже может существовать в системе и Windows просто не сможет зарегистрировать его
2. перед регистрацией класса в системе должна быть подготовлена функция обработки сообений ( она может идти и после, но тогда необходимо сделать предварительное объявление)
эта функция имеет определенный формат.
3. далее непосредственно создается окно.
4. Запускается цикл обработки сообщений.
{дальнейший текст идет со мноественными условностями, и, возможно, неточностями.Кто сможет - поправте.
Во-первых, следует отметить, что программа будет работать, пока работает этот цикл. Функция GetMessage в этом цикле просматривает очередь сообщений нашего приложения, извлекает из очереди информацию о сообщении и заполняет этой информацией структуру Mesg. Единственным условием, при котором данный цикл может завершиться (т.е. функция GetMessage вернет 0) является приход в очередь сообщения WM_QUIT . После заполнения структуры Mesg управление передается следующей в цикле функции TranslateMessage, параметром которой является переменная Mesg. TranslateMssage, в свою очередь, проверяет, не является ли сообщение Mesg сообщением от клавиатуры, и если это так то переводит данные сообщения из виртуально-кодовых в символьные. Далее управление передается функции DispatchMessage, которая отправляет информацию о сообщении в главную оконную функцию, где мы уже можем произвести необходимые действия, в ответ на то или иное сообщение. После обработки сообщения в оконной функции результат обработки возвращается функции DispatсhMessage и цикл повторяется сначала.
Функция GetMessage может извлекать, как сообщения, предназначенные для окна, так и для процесса. Функция извлекает сообщения, которые лежат в пределах определенного диапазона величин сообщения, и не извлекает сообщения для окон, принадлежащих другим процессам.
Непосредственно функция обработки сообщений мы сравниваем является ли пришедшее сообщение нужным нам и если является - выполняем определенные действия.
Например, при создании окна одним из главных сообщений является WM_CREATE, па при разрушении - WM_DESTROY.
← →
Nick Denry © (2006-02-20 22:57) [27]
Если мы хотим, напрмер, обработать нажатие левой кнопки мыши в клиенсткой области нашего окна, то мы должны обработать сообщениеWM_LBUTTONDOWN.
функция WndProc изменится следующим образом:}
(*
...
Uses Windows, Messages, SysUtils {добвим функцию IntToStr};
...
function WndProc (wnd : HWNd; msg : Integer; wParam : WPARAM; lParam : LPARAM) : LRESULT; stdcall;
{где WndProc - любое допустимое имя функции, не совпадающее с уже имеющимися в операционной системе.
Данные параметр заполнятеся Windows!
Параметр Wnd является идентификатором окна, для которого поступает сообщение.
Параметр msg является уникальным численным идентификатором сообщения, поступающего окну.
Параметр wParam - типа WPARAM = DWORD - первый дополнительный параметр сообщения. Значение зависит от значения параметра msg.
Параметр lParam - типа WPARAM = DWORD - воторой дополнительный параметр сообщения. Значение зависит от значения параметра msg.
Возвращаемое значение - типа LRESULT.
Служебное слово stdcall определяет особый вид функции, который является стандартом вызова функций в Windows
подробнее читать "Assembler. Учебник для вузов" 2-е издание, Юров В.И. изд. Питер, 2001, например или иискать в интернете.}
begin
//Множественный выбор из необходимых сообщений.
case msg of
WM_DESTROY: //Собщение, посылаемое от Winbows окну, если оно будет разрушено ((например, закрыто пользователем)
begin
//Выполняем необходимые дейтвия. (например освобождение ресурсов и выход из программы)
PostQuitMessage(0); //Возвращаем операционной системе код завершения нашего приложения.
Result := 0; {Сообщения, которые должны быть обработаны в нашей функции должны возвращать определенное значение (в Delphi требуется только для сообщений, возвращающих ненулевое значение.}
Exit; //Выходим
end;
WM_LBUTTONDOWN: //Сообщение, посылаемое окну при нажатии левой кнопки мыши
begin
//! на этом участке кода wParam и lParam содержат значения, связанные с сообщением WM_LBUTTONDOWN,
//например lParam содержит координаты курсора мыши в оконных координатах
//Положение курсора мыши.
X:=LOWORD(lParam); //X - Младшее слово переменной lParam
Y:=HIWORD(lParam); //Y - Старшее слово переменной lParam
MessageBox(wnd,
PChar("Текущая позиция курсора: x="+IntToStr(X)+" y="+IntToStr(Y)),
MainWndClassName,MB_OK); //Показываем необходмую информацию.
//Так же обратите внимание, что мы не возвращаем Result := 0 явно.
end;
else Result := DefWindowProc(wnd, msg, wParam, lParam); {Остальные сообщения, которые мы не обрабатываем явно, отдаются для стандартной обработки операционной системе. Параметры те же, что и для WndProc.}
end;
end;
*)
← →
Nick Denry © (2006-02-20 22:59) [28]
{Для того, что бы эмулировать нажатие мыши, мы можем отправить сообщение окну, о том, что левая кнопка мыши якобы была нажата);
Используется функция SendMessage;
Что бы эмулировать нажатие мыши после создания окна необходимо поместить в очередь сообщений Windows сообщение WM_LBUTTONDOWN с параметрами:
...
ShowWindow(MainWnd, SW_SHOW); //Отображение окна на экране
SendMessage(MainWnd, //Дескриптор окна, которому отправляется сообщение
WM_LBUTTONDOWN, //Сообщение, которое необходимо отправить
0, //параметр wParam значения не имеет.
MakeLParam(40,50)); // lParam состоит из координат курсора (по Х=50, по Y=50;)
}
{вроде the}
end.
(c) Nick Denry.
не судите строго :)
← →
Kerk © (2006-02-20 23:02) [29]
> Nick Denry
Оформи как статью, положим в кладовку ;)
← →
NIck Denry © (2006-02-20 23:08) [30][29] Kerk © (20.02.06 23:02)
Сначала пусть за неточности распинают, а стаья есть - скорее всего порву книжку на уроки :)
Скоро время будет :)
← →
delphi-oracle © (2006-02-20 23:46) [31]Ник, спасибо, но я не гоняюсь за знаменитыми 524 б. Мне не надо делать окна на WinAPI.
Я хочу что-то типаpostmessage(hwnd,WM_CLOSE,0,0)
Я хочу знать, как изменять цвет чужого окна, зная хендл, как нажымать кнопки, узнавать PasswordChar Edit*а, выбирать чекбоксы...
Я хочу знать ВСЕ!!!
← →
Nick Denry © (2006-02-20 23:56) [32]Вообще-то это была моя статья "на данную тему" (с).
---
Джо (с) и остальной народ, примите мои публичные извинения :)
← →
pasha_golub © (2006-02-21 00:10) [33]
> Ega23 © (19.02.06 13:54) [5]
>
>
Олегыч, я простой как 100 грам... ;0) Сала хочешь? :)
← →
Piter © (2006-02-21 01:16) [34]delphi-oracle © (19.02.06 18:55) [8]
Да, но простите, летературы по теме нет
простите, но вы глупость говорите... Уж по этой то теме литературы просто ПОЛНО
← →
Джо © (2006-02-21 01:24) [35]> [21] delphi-oracle © (20.02.06 20:01)
> Джо, издеваться действительно неприлично. И с етикой у тебя
> skipped
Не издевался. Если хочешь поговорить о моей этике, заводи отдельную тему.
← →
unknown © (2006-02-21 01:42) [36]
> delphi-oracle ©
Вам видимо следует все-таки ознакомиться с этим:
http://www.ln.ua/~openxs/articles/smart-questions-ru.html
← →
API (2006-02-21 03:13) [37]delphi-oracle ©
Я хочу знать ВСЕ!!!
Ну так и знай себе на здоровье!
А если думаешь, что сюда прибежит толпа жаждущих поделиться с тобой всеми своими знаниями, и будут вытирать тебе сопли, втолковывая прописные истины - то ты очень сильно ошибаешься.
Бери литературу - и изучай. Будут конкретные вопросы - приходи и спрашивай.
Лично я отвечу на любой твой вопрос, если он будет правильно сформулирован, и если увижу, что ты хоть что-то пытался сделать самостоятельно.
Это - форум, а не интеллектуальная телепатическая справочная система.
Ответь, ты читал то, что тебе написали? Скачивал предложенную литературу? Читал? Разбирался? Писал тестовые примеры? Пробывал что-то сделать своими руками?
Резюме: Программиста из тебя, при таком ламерском подходе - не получится. Смирись.
← →
atruhin © (2006-02-21 05:40) [38]По сабжу. Для автора я бы порекомендовал начать не с Рихтера, а с "Delphi 5 руководство разработчика" Тексейра, Печенко (не помню точно как фамилии пишутся). Будет гораздо полезнее. Книга была на сайте Анатолия Подгоретского.
← →
begin...end © (2006-02-21 08:37) [39]> Nick Denry © (20.02.06 22:55) [25]
> case msg of
> WM_DESTROY:
> begin
> ...
> Exit; //Выходим
> end
А Exit зачем? Вроде как не на сях пишем.
> Nick Denry © (20.02.06 22:57) [26]
> Функция GetMessage может извлекать, как сообщения, предназначенные
> для окна, так и для процесса.
Что такое "сообщения для процесса"?
> Функция ... не извлекает сообщения для
> окон, принадлежащих другим процессам.
Может, лучше про потоки?
← →
Crash Coredump © (2006-02-21 11:55) [40]
> Я хочу знать ВСЕ!!!
Учи БСЭ наизусть
← →
Курдль © (2006-02-21 12:39) [41]
> Nick Denry © (19.02.06 20:13) [12]
> (из контекста, скорее всего имеются ввиду Windows Messages aka WM_)
Давно хотел спросить, что такое "aka"? Это так же круто, как "ИМХО"? Или даже круче, чем "vs"?
← →
Alexey V. (2006-02-21 12:43) [42]Курдль © (21.02.06 12:39) [41]
Давно хотел спросить, что такое "aka"? Это так же круто, как "ИМХО"? Или даже круче, чем "vs"?
Also Known As
← →
Курдль © (2006-02-21 12:45) [43]А нам Русского не хватает для внятного изъяснения своих мыслей?..
← →
Джо © (2006-02-21 12:49) [44]> [41] Курдль © (21.02.06 12:39)
> Давно хотел спросить, что такое "aka"? Это так же круто,
> как "ИМХО"? Или даже круче, чем "vs"?
Пардон, а чем vs не угодило? Этому сокращению, наверное, лет 500, как минимум.
← →
Курдль © (2006-02-21 12:51) [45]
> лет 500, как минимум.
Больше! Даже тот язык, на котором оно "сокращено" давно помер!
← →
Джо © (2006-02-21 12:58) [46]> [45] Курдль © (21.02.06 12:51)
> Больше! Даже тот язык, на котором оно "сокращено" давно
> помер!
Я не уверен, что в латыни было это сокращение, поэтому подстраховался. Уж в английском-то точно не менее 500 должно быть ;)
← →
Nick Denry © (2006-02-21 14:52) [47][39] begin...end © (21.02.06 08:37)
А Exit зачем? Вроде как не на сях пишем.
ну и Result := 0; тоже не нужен, но вроде как правильней.
Может, лучше про потоки?
безусловно :)
← →
MBo © (2006-02-21 14:54) [48]Nick Denry ©
В чате меня поймай, если ссылка на книгу еще нужна
← →
Nick Denry © (2006-02-21 14:58) [49][48] MBo © (21.02.06 14:54)
Кинь на мыло пожалуйста, вдруг не поймаю :)
Nick_Denry(dog)mail.ru
← →
MBo © (2006-02-21 15:21) [50]>Nick Denry © (21.02.06 14:58) [49]
>Кинь на мыло пожалуйста
ОК
← →
delphi-oracle © (2006-02-21 18:59) [51]Книга Рихтера очень полезна, но остался один вопрос и я вас больше мучать не буду:
*Как перевести строку в Longint?
И кстати, сопли вытирать я и сам умею. А вы может помогли бы подростающему поколению, представитель которого нашел Messages 3 недели назад, и объяснили все попонятнее.
← →
Kerk © (2006-02-21 19:01) [52]delphi-oracle © (21.02.06 18:59) [51]
*Как перевести строку в Longint?
StrToInt
← →
delphi-oracle © (2006-02-21 19:05) [53]Может, попонятнее объясню свой вопрос, а то меня часто стали не понимать.
у Рихтера я нашел: (LPARAM) "Caption" Но как ето будет выглядеть на Дельфи, не знаю.
← →
Zeqfreed © (2006-02-21 19:06) [54]
> Как перевести строку в Longint?
А как ты себе это представляешь?
Давай для примера у тебя есть строка «Мне лень читать книжки» и есть ф-ция «переводящая строки в Longint». Что ты получишь в результате?
← →
Zeqfreed © (2006-02-21 19:09) [55]
> Но как ето будет выглядеть на ДельфиLParam(@"Caption[1])
Но без понимания это не поможет.
← →
begin...end © (2006-02-21 19:12) [56]LPARAM(PChar("Caption")). Так будет лучше.
← →
Marser © (2006-02-21 19:43) [57]> [46] Джо © (21.02.06 12:58)
> > [45] Курдль © (21.02.06 12:51)
> > Больше! Даже тот язык, на котором оно "сокращено" давно
>
> > помер!
>
> Я не уверен, что в латыни было это сокращение, поэтому подстраховался.
> Уж в английском-то точно не менее 500 должно быть ;)
Кажется, всё-таки из латыни. Откуда и etc(et cetera) i.e(id est)
← →
delphi-oracle © (2006-02-22 08:26) [58]Я когда вижу исходник, то все понимаю. Очень спасибо за код. Уже помог. Переводим в integer указатель на данные, а не сами данные. Еще раз спасибо. Теперь вот буду что-то пробовать с WParam
P.S. по моему et caetera, а что такое i.e - древнее сокращение архаического Internet Explorer :)
← →
evvcom © (2006-02-22 11:31) [59]Все не читал. Может уже советовали. Много примеров использования сообщений, как ни странно, в исходниках VCL.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
Память: 0.65 MB
Время: 0.015 c