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

99 lines
3.8 KiB
Text
Raw 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