Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];

Вниз

Как написать программу без формы.   Найти похожие ветки 

 
programmerts   (2002-07-10 20:12) [0]

У меня возникла такая ситуация, когда нужно написать программу, без формы, типа чтобы можно было писать как в Turbo PascAL. Желательно, чтобы место поменьше забирало приложение.
Каким образом мне это можно сделать?
Заранее спасибо!


 
Pat   (2002-07-10 21:00) [1]

http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988619531&n=16


 
Anatoly Podgoretsky   (2002-07-10 21:52) [2]

Просто не создавай

program Xl
uses
Windows
begin
WriteLn("Hello Worls");
ReadLn;
end;


 
T2   (2002-07-10 22:06) [3]

NEW\CONSOLE APPLICATION


 
Юрий Зотов   (2002-07-11 01:03) [4]

А зачем консоль? Может, и она не нужна.

Запустите Notepad. В нем напишите 2 строки:

begin
end.

Сохраните этот текст в файл с любым именем и расширением dpr.

Все, программа готова. Это абсолютно минимальная, но вполне рабочая программа - что для Turbo Pascal, что для Delphi. Теперь можете загружать этот dpr в Delphi, он вполне успешно скомпилируется и даже выполнится - ничего не сделав, конечно. А чтобы он что-то делал, допишите к этому скелету все, что нужно.


 
Ascan_   (2002-07-11 11:01) [5]

А чтобы остаться резидентом написать while true do; ?


 
Юрий Зотов   (2002-07-12 01:16) [6]

Если не жалко беднягу CPU, то можно написать и while true do;
Но лучше написать Service Application. В Delphi и готовая поддержка для этого имеется.

Но кто сказал, что требуется именно резидент? В вопросе это как-то не звучало.


 
unfam   (2002-07-12 03:28) [7]

Просто мысли вслух (вспись). Последовал совету Юрия Зотова -"begin end.", импортировал библитеку типов и решил, что обойдусь одним "uses DTS_TLB". Наивный. Оказалось без Application.Initialize паровоз никуда не едет. Полез посмотреть, что же такое делает - "if InitProc<>nil then TProcedure(InitProc)". При этом: InitProc=pointer, а TProcedure=procedure, но попытка самостоятельно это реализовать в своей программе приводило к выводу "Runtime Error 216...".
Пришлось в uses добавлять SysUtils и все заработало.


 
Юрий Зотов   (2002-07-12 04:01) [8]

> Оказалось без Application.Initialize паровоз никуда не едет.

А это смотря какой паровоз. Например, вот такой очень даже едет (и не только едет, но еще и громко гудит):

uses
Windows;
begin
while True do MessageBeep(0)
end.

А если Вам нужен другой паровоз, то ведь я давал еще и второй совет: "допишите к этому скелету все, что нужно ".

Вот в этом "все, что нужно" весь паровоз-то и сидит. А уж что он там потребует - это от задачи зависит. Например, он может потребовать окон, а тогда весь смысл затеи как-то исчезает. А может, он систему уравнений решает - и тогда ему кроме математики вообще ничего не требуется.

Паровозы - они ведь РАЗНЫЕ. И подходить к ним надо ПО-РАЗНОМУ.


 
unfam   (2002-07-12 04:21) [9]

Вы правы. Я ж без претензий - просто мысли и свои исследования.
Например, в добавление к мною уже написанному: в uses нужно добавить ActiveX (SysUtils можно убрать) и первой строчкой написать CoInitialize(Nil). Возможно, кому-то будет полезно.



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

Форум: "Основная";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
14-81419
N A N
2002-06-21 14:23
2002.07.25
про венгерскую нотацию и правилам оформления проги на дельфи?


1-81324
Andrew_A
2002-07-12 15:41
2002.07.25
CHM is not WinHelp file format


8-81391
sevylor
2002-03-18 04:03
2002.07.25
sound formats


1-81287
vixic
2002-07-12 07:47
2002.07.25
MainMenu


7-81504
ses1
2002-05-03 21:36
2002.07.25
Объем памяти видеоадаптера???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский