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

Вниз

Что за программа так оформляет код?   Найти похожие ветки 

 
DVM ©   (2008-05-25 20:59) [0]

К примеру в приведенном ниже коде сделаны вставки. Явно сделаны автоматически. Что за программа делает их?


{ ##
 @FILE                     UPrintMgr.pas
 @COMMENTS                 Implements a class that manages printing of a
                           document providing information about a routine.
 @PROJECT_NAME             CodeSnip
 @PROJECT_DESC             Offline viewer for routines from the online
                           DelphiDabbler CodeSnip database.
 @DEPENDENCIES             None
 @HISTORY(
   @REVISION(
     @VERSION              1.0
     @DATE                 07/09/2007
     @COMMENTS             Original version.
   )
 )
}

{
* ***** BEGIN LICENSE BLOCK *****
*
* Version: MPL 1.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
*
* The Original Code is UPrintMgr.pas
*
* The Initial Developer of the Original Code is Peter Johnson
* (http://www.delphidabbler.com/).
*
* Portions created by the Initial Developer are Copyright (C) 2007 Peter
* Johnson. All Rights Reserved.
*
* Contributor(s): None
*
* ***** END LICENSE BLOCK *****
}

unit UPrintMgr;

interface

uses
 // Delphi
 Classes,
 // Project
 UPrintInfo, USnippets, UView;

type

 {
 TPrintMgr:
   Class that manages printing of a document providing information about a
   routine. It generates a RTF formatted document and passes it to the print
   engine for printing.
 }
 TPrintMgr = class(TObject)
 private
   fRoutine: TRoutine;
     {Reference to routine whose information is to be printed}
   procedure GeneratePrintDocument(const Stm: TStream);
     {Generates document suitable for printing by print engine.
       @param Stm [in] Stream to receive generated document.
     }
 public
   constructor Create(const ViewItem: TViewItem);
     {Class constructor. Sets up object.
       @param ViewItem [in] View item containing routine for which information
         is to be printed.
     }
   procedure Print;
     {Prints routine information document using print engine.
     }
 end;

implementation

uses
 // Delphi
 SysUtils,
 // Project
 UPrintEngine, UPrintDocuments;

{ TPrintMgr }

constructor TPrintMgr.Create(const ViewItem: TViewItem);
 {Class constructor. Sets up object.
   @param ViewItem [in] View item containing routine for which information is
     to be printed.
 }
begin
 Assert(Assigned(ViewItem),                               // ** do not localise
   "TPrintMgr.Create: ViewItem is nil");
 Assert(ViewItem.Kind = vkRoutine,                        // ** do not localise
   "TPrintMgr.Create: ViewItem is not a routine");
 inherited Create;
 fRoutine := ViewItem.Routine;
end;

procedure TPrintMgr.GeneratePrintDocument(const Stm: TStream);
 {Generates document suitable for printing by print engine.
   @param Stm [in] Stream to receive generated document.
 }
var
 PrintDoc: IPrintDocument;   // generates print document
begin
 PrintDoc := TRoutinePrintDocument.Create(fRoutine);
 PrintDoc.Generate(Stm);
 Stm.Position := 0;
end;

procedure TPrintMgr.Print;
 {Prints routine information document using print engine.
 }
var
 PrintEngine: TPrintEngine;  // object that prints the print document
 DocStm: TStream;            // stream containing generated print document
begin
 PrintEngine := TPrintEngine.Create;
 try
   PrintEngine.Title := fRoutine.Name;
   DocStm := TMemoryStream.Create;
   try
     GeneratePrintDocument(DocStm);
     PrintEngine.Print(DocStm);
   finally
     FreeAndNil(DocStm);
   end;
 finally
   FreeAndNil(PrintEngine);
 end;
end;

end.



 
TIF ©   (2008-05-25 21:02) [1]

Удалено модератором


 
DVM ©   (2008-05-25 21:04) [2]


> Может, программист щепетильный, сам всё прописывает... imho

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

Это надо быть очень, очень педантичным. Не, это не человек.


 
Real ©   (2008-05-25 21:55) [3]

Может неизвестный программист написал ее для себя сам?


 
TIF ©   (2008-05-25 21:58) [4]

> Portions created by the Initial Developer
Мне вот как-то это место кажется подозрительным, не знаю почему...


> Может неизвестный программист написал ее для себя сам?

Судя по тому, что комментарии написаны логически правильно, я предполгаю, что эта самя программа просто помогала ему в нужные места кода вставлять текст, который он уже набирал сам... Но, возможно, ачсть мелких комментариев прога вставляла и сама...


 
Virgo_Style ©   (2008-05-25 22:00) [5]

TIF ©   (25.05.08 21:58) [4]
Но, возможно, ачсть мелких комментариев прога вставляла и сама...


Нужен ли комментарий, который программа может вставить сама? %-)


 
TIF ©   (2008-05-25 22:03) [6]

Удалено модератором


 
DVM ©   (2008-05-25 22:08) [7]


> Может неизвестный программист написал ее для себя сам?

вобщем не исключено.


> я предполгаю, что эта самя программа просто помогала ему
> в нужные места кода вставлять текст, который он уже набирал
> сам...

Ну так и есть, не сама же программа текст придумывала.


> Но, возможно, ачсть мелких комментариев прога вставляла
> и сама...

Она вставляет какие то заглушки там где нет авторского текста. По всей видимости потом эти комментарии используются как-то для построения хэлпа по модулю.


 
Torry ©   (2008-05-26 00:27) [8]

Похоже на Doc-o-Matic


 
Джо ©   (2008-05-26 00:29) [9]


> Torry ©   (26.05.08 00:27) [8]
> Похоже на Doc-o-Matic

Угу, сам когда-то так оформлял комментарии, такое уж было требование. Или Delphi-Doc? В общем, что-то такое похожее...


 
Eraser ©   (2008-05-26 00:37) [10]

> [8] Torry ©   (26.05.08 00:27)

это что то вроде доп. эксперта к делфи?

вообще интересовался этим вопросам как-то, вроде ничего не нашел.

очень удобно было бы, чтобы как в Zend"e, набираешь перед функцией/классом/полем /**, жмешь итер и появляется что то вроде
/**
* Enter description here...
*
* @param unknown_type $param1
* @param unknown_type $param2
* @param unknown_type $param3
*/
function my_function($param1, $param2, $param3)
{

}


 
Eraser ©   (2008-05-26 00:38) [11]

потом это все обрабатывешь php-doc"ом и документация к API готова )



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

Форум: "Прочее";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.045 c
15-1211611441
Марк
2008-05-24 10:44
2008.07.06
посоветуйте IDE для Python


2-1212666969
Mark86rus
2008-06-05 15:56
2008.07.06
Запуск DOS-Winrar со стройкой


2-1212873159
ply
2008-06-08 01:12
2008.07.06
TMemINIFile


15-1211646050
Cyrax
2008-05-24 20:20
2008.07.06
Excel: хитрая формула...


2-1212577251
DON
2008-06-04 15:00
2008.07.06
Вставка хелпа в проект





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