AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Case-Labels automatisch ergänzen

Ein Thema von Codehunter · begonnen am 31. Mär 2023 · letzter Beitrag vom 31. Mär 2023
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Case-Labels automatisch ergänzen

  Alt 31. Mär 2023, 09:28
Hallo!

Ich hatte mal vor längerer Zeit eingestellt, dass bei case-Anweisungen auf Enum-Variablen die Case-Labels automatisch ergänzt wurden. Dann habe ich das aus irgendeinem Grund abgestellt und nun finde ich die Option nicht mehr wieder. Ich bin mir auch nicht sicher, ob das von der IDE selbst gemacht wurde oder von einem Addon. Derer hätte ich CnPack, GExperts und MMX im Angebot.

Grüße
Cody
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#2

AW: Case-Labels automatisch ergänzen

  Alt 31. Mär 2023, 09:59
Diese "Funktion" ist ein Live-Template.

Ansicht > Tool-Fenster > Vorlagen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Case-Labels automatisch ergänzen

  Alt 31. Mär 2023, 10:08
Diese "Funktion" ist ein Live-Template.

Ansicht > Tool-Fenster > Vorlagen
Nee das ist es glaube ich nicht. Das funktionierte damals so: Ich habe im Editor "case MyVar of" geschrieben und Enter gedrückt. Dann wurden darunter gleich die passenden Enum-Labels ergänzt sowie das abschließende "end;".
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#4

AW: Case-Labels automatisch ergänzen

  Alt 31. Mär 2023, 10:16
Jupp, genau das macht dieses Template.
livetemplatecase.png

Eventuell hast du in den Einstellungen die Templates auch komplett deaktiviert.
[F6] "template" , auf Delphi umstellen und siehe Code Insight (dürfte "Programmierhilfe" sein)
templateoptions.png



Hat du wirklich case MyVar of[enter] geschrieben,

oder nicht doch case[leerzeichen] worauf ein Platzhalter/Eingabefeld für die Variable und das "of" auftauchten
und nach dem Enter wurde die Eingabe der Variable abgeschlossen.




Auf das Stichwort (template name) "case" wird case {type} of {enums} end; geschrieben, von dir der Typ/Variable abgefragt und via RTTI in der Funktion PopulateCase die Enums geholt (darum "Live" und nicht nur Template).

XML-Code:
<?xml version="1.0" encoding="utf-8"?>

<codetemplate version="1.0.0" xmlns="http://schemas.borland.com/Delphi/2005/codetemplates">
    <template name="case" invoke="auto">
        <point name="expression">
            <script language="Delphi">
                InvokeCodeCompletion;
            </script>
            <text>
                True
            </text>
            <hint>
                case-Ausdruck
            </hint>
        </point>
        <point name="cases" editable="false">
            <script language="Delphi" onenter="false" onleave="true">
                PopulateCase(|expression|);
            </script>
        </point>
        <description>
            case-Anweisung
        </description>
        <author>
            Embarcadero
        </author>
        <code language="Delphi" context="methodbody" delimiter="|"><![CDATA[case |expression| of
|end||*||cases|
end;
]]>
        </code>
    </template>
</codetemplate>
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (31. Mär 2023 um 10:30 Uhr)
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.175 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Case-Labels automatisch ergänzen

  Alt 31. Mär 2023, 10:20
Muss dazu nicht dioe BPL mit der SCriptingEngine installiert sein?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#6

AW: Case-Labels automatisch ergänzen

  Alt 31. Mär 2023, 10:30
Muss dazu nicht dioe BPL mit der SCriptingEngine installiert sein?
Nicht das ich wüsste. (zusätzliche Fremdkomponenten, oder so)
Jedenfalls ist diese Funktion im Delphi von Haus aus vorhanden.


@Codehunter
schau doch mal nach, ob es in einem unverstellten Delphi funktioniert.
bds.exe -rTest0323 und nach dem Test, kann HKEY_CURRENT_USER\SOFTWARE\Embarcadero\Test0323 gelöscht werden
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (31. Mär 2023 um 10:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Case-Labels automatisch ergänzen

  Alt 31. Mär 2023, 11:08
@Himitsu: Du hast völlig recht. Ich hatte aus irgendeinem Grund die Templates komplett abgeklemmt und den Zusammenhang vergessen. Jetzt funktioniert es wieder. Ich muss nun abwarten ob mir irgendwann auch wieder einfällt, warum ich die abgeklemmt hatte. Vermutlich hat sich da irgendwas mit den installierten Addons gehackt.

Danke erstmal soweit, Frage damit geklärt
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz