Главная страница
    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.007 c
1-81228
Socol
2002-07-05 07:38
2002.07.25
Помогите с процедурой ShowMessage)))


4-81513
cypher
2002-05-14 19:08
2002.07.25
трэй


3-81172
Вован
2002-07-04 04:49
2002.07.25
DBGrid


14-81423
SPeller
2002-06-23 08:35
2002.07.25
Задание справочного файла для приложения


8-81379
SemenK
2002-03-19 20:35
2002.07.25
*.GIF





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский