Преимущество и недостатки Delphi...

Модератор: Злобный

Ответить
Mike

Любопытно узнать, кто на чем предпочитает программировать...

Сообщение Mike »

Всегда считал Delphi средой разработки (RAD) а не языком программирования... Вот базовый язык в Delphi - Object Pascal.
Говорите грамотней, дядьки, темы ведь у вас серьезные :)
Аватара пользователя
Atyla
Отец
Сообщения: 4194
Зарегистрирован: Вс сен 01, 2002 18:35
Откуда: С вытрезвителя.
Контактная информация:

Сообщение Atyla »

Согласен, но рефлекторно считаю его языком, а не RAD (Rapid Application Development :P )....
Vovan

C# конечно

Сообщение Vovan »

Для web-programminga лучше всего C#. Удобно, быстро и классно
Аватара пользователя
Atyla
Отец
Сообщения: 4194
Зарегистрирован: Вс сен 01, 2002 18:35
Откуда: С вытрезвителя.
Контактная информация:

Сообщение Atyla »

Согласен, но под Delphi появились неплохие компоненты Developer Express для Веба... 8)
кондратий
Юзер
Сообщения: 92
Зарегистрирован: Вт авг 20, 2002 17:12
Откуда: кишинёв
Контактная информация:

Re: Любопытно узнать, кто на чем предпочитает программироват

Сообщение кондратий »

Mike писал(а):Всегда считал Delphi средой разработки (RAD) а не языком программирования... Вот базовый язык в Delphi - Object Pascal.
Говорите грамотней, дядьки, темы ведь у вас серьезные :)
опаньки, опаньки ...

да что вы говорите :D

а это что по вашему ?

Код: Выделить всё

program MyCD;
uses
  Windows,
  Messages,
  ShellAPI,
  MMSystem;

{$R *.RES}

const
  szTrayTip:PChar='LMB- открыть, RMB- закрыть';
  WM_NOTIFYICON = WM_USER + 1;

var
  hMainWnd: HWND;
  MyNotifyIconData: TNotifyIconData;
  OpenParm: TMCI_Open_Parms;
  GenParm: TMCI_Generic_Parms;
  SetParm: TMCI_Set_Parms;
  DI : Cardinal;

procedure Eject;
begin
  OpenParm.lpstrDeviceType := 'CDAudio';
  mciSendCommand(0, mci_Open, mci_Open_Type, Longint(@OpenParm));
  DI := OpenParm.wDeviceID;
  mciSendCommand(DI, mci_Set, mci_Set_Door_Open, Longint(@SetParm));
end;

procedure Close;
begin
  mciSendCommand(DI, mci_Set, mci_Set_Door_Closed, Longint(@SetParm));
  mciSendCommand(DI, mci_Close, mci_Notify, Longint(@GenParm));
end;

function MainWndProc(Window: HWND; Message: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
  Result := 0;
  case Message of
    WM_NOTIFYICON: if (lParam = WM_LBUTTONDOWN)
                   then
                     Eject
                   else
                     if (lParam = WM_RBUTTONDOWN)
                     then Close;
    else
      Result:= DefWindowProc(Window, Message, wParam, lParam);
  end;
end;

var
  hMainWndClass: TWndClass =
  (
    style: 0;
    lpfnWndProc: @MainWndProc;
    cbClsExtra: 0;
    cbWndExtra: 0;
    hInstance: 0;
    hIcon: 0;
    hCursor: 0;
    hbrBackground: 0;
    lpszMenuName: nil;
    lpszClassName: 'MANMON WND'
  );

function CreateMainWnd: Boolean;
begin
  hMainWndClass.hInstance:= HInstance;
  RegisterClass(hMainWndClass);
  hMainWnd:= CreateWindow(hMainWndClass.lpszClassName, '', 0, 0, 0, 0, 0, 0, 0, HInstance, nil);
  Result:= hMainWnd <> 0;
end;

function PlaceInTray: Boolean;
begin
  with MyNotifyIconData do
  begin
    cbSize:= SizeOf(MyNotifyIconData);
    Wnd:=hMainWnd;
    uID:=0;
    uFlags:= NIF_MESSAGE + NIF_ICON + NIF_TIP;
    uCallbackMessage:= WM_NOTIFYICON;
    hIcon:= LoadIcon(HInstance, 'MAINICON');
    lstrcpyn(szTip, PChar(szTrayTip), SizeOf(szTip));
  end;
  Result:= Shell_NotifyIcon(NIM_ADD, @MyNotifyIconData);
end;

procedure HandleMessage;
var
  Msg: TMsg;
begin
  while GetMessage(Msg, 0, 0, 0) do
  begin
    TranslateMessage(Msg);
    DispatchMessage(Msg);
  end;
end;

function InstanceExist: Boolean;
begin
  Result:= FindWindow(hMainWndClass.lpszClassName, nil) <> 0;
end;

begin
  if not InstanceExist and CreateMainWnd then
  begin
    if PlaceInTray then
    begin
      HandleMessage;
      Shell_NotifyIcon(NIM_DELETE, @MyNotifyIconData);
    end;
    DestroyWindow(hMainWnd);
  end;
end.

Аватара пользователя
Atyla
Отец
Сообщения: 4194
Зарегистрирован: Вс сен 01, 2002 18:35
Откуда: С вытрезвителя.
Контактная информация:

Сообщение Atyla »

Сказал Кондратий и создал окно с двумя кнопками, вытащив компакт-диск из сиди-рома... 8)
кондратий
Юзер
Сообщения: 92
Зарегистрирован: Вт авг 20, 2002 17:12
Откуда: кишинёв
Контактная информация:

Сообщение кондратий »

Дядя Atyla писал(а):Сказал Кондратий и создал окно с двумя кнопками, вытащив компакт-диск из сиди-рома... 8)
а дело не в этом ЧТО я там создал ... а КАК
Аватара пользователя
Atyla
Отец
Сообщения: 4194
Зарегистрирован: Вс сен 01, 2002 18:35
Откуда: С вытрезвителя.
Контактная информация:

Сообщение Atyla »

Панятна молодец, молодец...
Айпишные функции хорошо знаешь... 8)
кондратий
Юзер
Сообщения: 92
Зарегистрирован: Вт авг 20, 2002 17:12
Откуда: кишинёв
Контактная информация:

Сообщение кондратий »

и это тоже RAD ???
Аватара пользователя
Atyla
Отец
Сообщения: 4194
Зарегистрирован: Вс сен 01, 2002 18:35
Откуда: С вытрезвителя.
Контактная информация:

Сообщение Atyla »

Я переместил ваши и мои посты в отдельную тему, так они не относились к тематике опроса... :!:
Кого я этим оскорбил приношу извинения...
---------------
2Кондратий: Ну конешно нет, но ты приведением ентого листинга порадовал какого-нибуть старичка-программера, который сидел бы и втолковывал бы нам, мол в наши времена мы мол разбирались в формате BMP файла, а вы запрыгнули на наши плечи и используете наш труд... 8)
Аватара пользователя
Белый С.
Завсегдатай
Сообщения: 2526
Зарегистрирован: Пн дек 22, 2003 22:43
Откуда: Выведен из аксиом
Контактная информация:

Сообщение Белый С. »

Atyla, а чё в нём разбираться-то?
Ответить

Вернуться в «Программирование»