Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.03;
Скачать: CL | DM;

Вниз

поделитесь примером формы на чистом API, для D5-D7?   Найти похожие ветки 

 
Yuraz ©   (2003-08-29 15:06) [0]

Или желательней программой Hello Word!
Заранее спасибо


 
clickmaker ©   (2003-08-29 15:11) [1]

program Hello;
{$APPTYPE CONSOLE}
uses SysUtils;

begin
// Insert user code here
writeln("Hello, world!");
end.


:)


 
HolACost! ©   (2003-08-29 16:48) [2]

ЭЭЭЭЭ! А он не отличается особой умственной работой от любого другого языка!


 
nikkie ©   (2003-08-29 16:53) [3]

>clickmaker
эээ... да это ж разве WinAPI? вот как надо:

program Project1;

{$APPTYPE CONSOLE}

uses
Windows;

var
s: String;
BytesWritten: Cardinal;
begin
s := "Hello, World!";
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), PChar(s), Length(s), BytesWritten, nil);
end.


 
Glajik ©   (2003-08-29 18:27) [4]

To All!
Читайте внимательней прозьбу человека:
Поделитесь примером формы на чистом API, для D5-D7

Искал сам не так давно, и во что нашёл:


Как создать минимальное окно на WinAPI?

Данный пример был взят с сайта "Win32API в Delphi" и на 28.01.2002 располагался по адресу http://www.ict.nsc.ru/~cancel/delphi/index.html.



program winmin;

uses
windows, messages;
{!Модули windows и messages самые необходимые — они обязательно должны быть
объявлены в начале каждой Вашей программы!}
var
wc : TWndClassEx; //Переменная шаблона класса окна

MainWnd : HWND; //Описатель главного окна
Mesg : TMsg; //Переменная для цикла сбора сообщений
{ Далее следует оконная процедура главного окна. Обратите внимание на служебное
слово stdcall оно вынуждает компиллятор генерировать особый вид кода, который
может быть вызван любой windows-программой, без этого служебного слова
программа не сможет работать вообще!}

function WindowProc(wnd:HWND; Msg : Integer; Wparam:Wparam; Lparam:Lparam):Lresult;

stdcall;
Begin
{Далее происходит цикл обработки сообщений}
case msg of
wm_destroy : //Сообщение посылаемое при уничтожении окна
Begin
postquitmessage(0); exit;
Result:=0;
End
else Result:=DefWindowProc(wnd,msg,wparam,lparam);
end;
End;

{Переменные xPos,yPos,nWidth,nHeight в принципе не нужны, однако я их завел
(и вам рекомендую) для лучшей читабельности программы}

var
xPos,yPos,nWidth,nHeight : Integer;
begin //Тело программы
{ Далее идет заполнение шаблона класса окна}

wc.cbSize:=sizeof(wc);
wc.style:=cs_hredraw or cs_vredraw;
wc.lpfnWndProc:=@WindowProc;
wc.cbClsExtra:=0;
wc.cbWndExtra:=0;
wc.hInstance:=HInstance;
wc.hIcon:=LoadIcon(0,idi_application);
wc.hCursor:=LoadCursor(0,idc_arrow);
wc.hbrBackground:=COLOR_BTNFACE+1;
wc.lpszMenuName:=nil;
wc.lpszClassName:="WinMin : Main";

RegisterClassEx(wc); //Регистрация нового класса в системе

{"c7аполнение переменных xPos,yPos,nWidth,nHeight}

xPos:=100;
yPos:=150;
nWidth:=400;
nHeight:=250;

{ Создание главного окна}
MainWnd:=CreateWindowEx (
0, //флаги расширенных стилей
"WinMin : Main", //имя класса окна, данное при заполнении структуры wc
"Win Min", //за"e0головок окна
ws_overlappedwindow, //флаги стилей окна

{подробнее о стилях см. после текста программы}
xPos, //горизонтальная позиция окна
yPos, //вертикальная позиция окна
nWidth, //ширина окна
nHeight, //высота окна
0, //описатель родительского окна (parent) или окна-владельца (owner)
0, //описатель меню окна (меню нет, нет и описателя)
Hinstance, //описатель приложения

nil //address of window-creation data
);
ShowWindow(MainWnd,CmdShow); //Отображаем окно

//Цикл обработки сообщений
//он может слегка видоизменяться, но эти строчки присутсвуют всегда
While GetMessage(Mesg,0,0,0) do
begin
TranslateMessage(Mesg);
DispatchMessage(Mesg);
end;
end.


Комментарий: Осталось только уточнить ряд деталей. Во-первых, ВСЕ присутствующее в данной программе (кроме комментариев, разумеется) ОБЯЗАТЕЛЬНО. Укоротить принципиально невозможно, можно, конечно, убрать некоторые переменные, но это сути дела не меняет. Во-вторых, в оконной процедуре могут присутствовать и другие строчки, принимающие сообщения. В-третьих, вызов в оконной процедуре функции DefWindowProc жизненно необходим. DefWindowProc - это оконная процедура по умолчанию, она обеспечивает окну возможность "вести" себя как окну, т.е. перетаскиваться мышкой, сворачиваться, разворачиваться и т.д.

Просто создай консольный проэкт, всё сотри и вставь этот код. Вот и всё - я проверял работает.


 
Polevi ©   (2003-08-29 18:40) [5]

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



Страницы: 1 вся ветка

Текущий архив: 2003.11.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
1-8463
Ai-Shibo
2003-10-24 12:17
2003.11.03
помогите, пожалуйста


1-8535
dream
2003-10-23 14:19
2003.11.03
как правельно переписывать данные с listview в listbox ?


1-8525
dolphin1
2003-10-23 16:45
2003.11.03
Start up programs


1-8515
Андрей Андреевич
2003-10-23 17:07
2003.11.03
Можно как нибудь проверить орфографию а тексте


7-8689
Novenkij
2003-08-23 00:50
2003.11.03
как следить за изменениями в папке ?