kreta/Tools/CodeGeneration/Templates/Common/PascalUtil.tdl
2024-03-13 00:33:46 +01:00

99 lines
3.8 KiB
Text
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//***************************************************************************//
// 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