Define a new output format based on an existing output format, e.g. Fortran

Hallo .!

I would like to define a new output format based on an existing output format (e.g. FortranForm), and I’ll call it “PascalForm”.
My first idea …

Format[x_, PascalForm] := Format[x, FortranForm]
Format[x_ ^ y_, PascalForm] := StringForm["power(\`\`,\`\`)", x, y]

fails twice.

to 1. with …
Format::nosym: x_ does not contain a symbol to attach a rule to. >>

to 2. with …
SetDelayed::write: Tag Power in y_
(x_) is Protected. >>

Do you have an idea that could work?
Or does someone know the suitable documents to my task?
Or is it the depths of internet already a difficult to find solution for me?

Thank you for your help.

Greetings
Bernd