99 lines
3.8 KiB
Text
99 lines
3.8 KiB
Text
//***************************************************************************//
|
||
// Visszaadja egy művelet paraméterlistáját ay Object Pascal nyelv //
|
||
// szintaktikájának és a saját jelölésbeli konvencióinknak megfelelően. //
|
||
//***************************************************************************//
|
||
proc GetPascalOperationParameters(MOperation as OPERATION)
|
||
local ops;
|
||
[ops] = "";
|
||
loop (OPERATION -> OpPara as PARAMETER; setDelim(""); setDelim("; "))
|
||
[ops] = [ops] delim() ToLower([PARAMETER.name]) ": " GetPascalType([PARAMETER.type]);
|
||
end loop
|
||
return [ops];
|
||
end proc
|
||
|
||
|
||
//***************************************************************************//
|
||
// Pascal kommentet gyárt egy karakterláncból. //
|
||
//***************************************************************************//
|
||
template ConvertDescriptionToPascalComment(description)
|
||
[if ([description] == "")]
|
||
{
|
||
nincs megjegyzés
|
||
}
|
||
[else]
|
||
{
|
||
[replace([description], "", "\n ")]
|
||
}
|
||
[end if]
|
||
end template
|
||
|
||
|
||
//***************************************************************************//
|
||
// Pascal kommentet gyárt egy karakterláncból. //
|
||
//***************************************************************************//
|
||
template ConvertDescriptionToPascalSummary(description)
|
||
[if ([description] == "")]
|
||
(*
|
||
* Nincs megjegyzés
|
||
*)
|
||
[else]
|
||
(*
|
||
* [replace([description], "", "\n * ")]
|
||
*)
|
||
[end if]
|
||
end template
|
||
|
||
|
||
//***************************************************************************//
|
||
// Visszadja a megadott típushoz tartozó pascal tipust. //
|
||
//***************************************************************************//
|
||
proc GetPascalType(type)
|
||
switch(ToLower([type]))
|
||
case "integer": return "integer";
|
||
case "string": return "string";
|
||
case "boolean": return "boolean";
|
||
case "float": return "double";
|
||
case "char": return "char";
|
||
case "datetime": return "TDateTime";
|
||
case "id": return "integer";
|
||
case "binary": return "TBase64String";
|
||
case "dictionaryitem": return "integer";
|
||
case "dataset": return "string";
|
||
case "object": return "TXMLString";
|
||
case "longstring": return "string";
|
||
end switch
|
||
return "TObject { ERROR Ismeretlen tipus: " [type] " }";
|
||
end proc
|
||
|
||
|
||
//***************************************************************************//
|
||
// Visszaadja a megadott típus alapértelmezett (kezdeti) értékét a pascal //
|
||
// nyelv szintaktikájának megfelelően. //
|
||
//***************************************************************************//
|
||
proc GetPascalDefaultValueOfType(type)
|
||
switch(ToLower([type]))
|
||
case "integer": return "-1";
|
||
case "string": return "''";
|
||
case "boolean": return "false";
|
||
case "float": return "0";
|
||
case "char": return "''";
|
||
case "datetime": return "Now";
|
||
case "id": return "-1";
|
||
case "binary": return "''";
|
||
case "dictionaryitem": return "-1";
|
||
case "dataset": return "''";
|
||
case "object": return "''";
|
||
case "longstring": return "''";
|
||
end switch
|
||
return "nil { ERROR Ismeretlen tipus: " [type] " }";
|
||
end proc
|
||
|
||
|
||
//***************************************************************************//
|
||
// Osztály nevéből pascal unit nevet generál a konvencióinknak megfelelően. //
|
||
//***************************************************************************//
|
||
proc GenerateUnitName(classname)
|
||
return "u" [classname];
|
||
end proc
|
||
|
||
|