Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   CTL_CODE für Delphi als kleines Tool (https://www.delphipraxis.net/156072-ctl_code-fuer-delphi-als-kleines-tool.html)

unheilig1977 18. Nov 2010 20:17

CTL_CODE für Delphi als kleines Tool
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

ich habe mir ein kleines Tool programmiert, um Konstanten für Delphi zu definieren, die in C durch ein CTL_CODE-Makro erzeugt werden.

Das Tool erzeugt einen String im Hexadezimalformat $00000000, den man in die Zwischenablage kopieren kann, um ihn dann in Delphi als Wert der Konstante einzufügen.

Vielleicht kann ich damit dem ein oder anderen die Arbeit etwas erleichtern.

Über Kritik - positive wie negative - würde ich mich freuen.

Gruß unheilig1977

himitsu 18. Nov 2010 20:43

AW: CTL_CODE für Delphi als kleines Tool
 
* die Eingabe-Edits lassen sich nicht wirklich gut bediehnen
- Beim Löschen und Eingeben von Zahlen wird dieses irgendwie verändert/aufgefüllt.

* der "Makro ausführen"-Button ist unpraktisch
- laß es doch gleich bei Eingabe berechnen
- bei einem Fehler (z.B. ungültige Werte in den Edits) einfach nur "Fehler" im Ausgabefeld anzeigen (keine Exception)

* das Ausgabefeld würde sich als ReadOnly-Edit nicht schlecht machen

* joar, also ich hätte sowas schon ein paar Mal gebrauchen können
(von Hand ausrechnen ist eher umständlich)
- aber es wäre praktischer, wenn man dieses z.B. als Tool von Delphi aus aufrufen kann
- als Delphi-PlugIn über die OTA wäre wohl zu aufwändig, aber man kann es einfach in die Tools-Liste aufnehmen lassen

Kannst ja die Beschreibung in dein Programm oder in die Programmbeschreibung mit aufnehmen ... z.B.:
Zitat:

> Delphi > Tools > Tools konfigurieren... > Hinzufügen...
Titel: CTL_CODE-Editor
Programm: Pfad zum Programm
Und schon kann man über Delphi > Tools > CTL_CODE-Editor dein Programm direkt nutzen. :)

[edit]
Ahhh, jetzt hab ich kappiert, wie das mit der Eingabe geht.
Wollte Zahlen/Zeichen mitten im Wert einfügen, also an der Cursorposition, nur daß die Zeichen nicht dort auftauchten. :wall:


Tipp:
- Lass' einfach das Verändern der Werte in den Eingabeedits sein.
[edit] oder wenigstens abstellbar, denn Einige mögen solche Eingabemethoden nicht so wirklich [/edit]
- Lass' eigene Werte zu ($hex, num und auch 0xhex)
Delphi-Quellcode:
S := StringReplace(Trim(Edit1.Text), '0x', '$', []);
und dann über Delphi-Referenz durchsuchenTryStrToInt prüfen, ob der Wert gültig ist.
- Es wäre auch praktisch, wenn man Konstanten in die Edits kopieren kann.
einfach eine INI anlegen, welche man auch selber erweitern kann.
Also beim Übersetzen erstmal schauen, ob die INI existiert, ob sich der Wert darin befindet und wenn nicht, dann eben versuchen als Zahl zu interpretieren.
z.B. so
Code:
[DEVICETYP]
FILE_DEVICE_PROTOCOL=$8000
...
[FUNCTION]
...
dann könnte man auch dieses übersetzen:
Code:
CTL_CODE(FILE_DEVICE_PROTOCOL, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
- Und wenn du ganz krass drauf bist, dann kannst'e auch noch einen Parser mit
einbauen, welchem man vorhergehenden Code mitgibt und dieses auf die Eingabefelder verteilt.
Mußt ja nur nach "CTL_CODE(" und ")" entfernen, dann an den "," aufteilen und die Einzelteile in die Edits und Checkboxen einfügen.


[add]
ach ja ... Willkommen an Board :hi:

unheilig1977 18. Nov 2010 21:16

AW: CTL_CODE für Delphi als kleines Tool
 
Liste der Anhänge anzeigen (Anzahl: 1)
Danke für Anregungen himitsu :-D,

bin mit den Eingabe-EDITs auch nicht wirklich zufrieden und werde diese auf jeden Fall noch mal überarbeiten.

Auch die Idee mit den vordefinierten DEVICETYP-Konstanten ist gut.

Werde das Tool noch ordentlich überarbeiten - wenn Zeit ist.

Das mit dem gleich rechnen, hab ich eingebaut.

himitsu 18. Nov 2010 21:34

AW: CTL_CODE für Delphi als kleines Tool
 
Du kannst deinen ersten Beitrag auch bearbeiten und dort die aktuelle Datei hochladen.
So findet jeder gleich das Aktuelle und muß nicht erst den ganzen Thread durchsuchen.

Ein Mod wird dieses vermutlich auch bald mal nach "Software-Projekte der Mitglieder" verschieben (paßt da bestimmt besser rein), dort hast du dann das Recht auch noch nach 24 Stunden einen Beitrag zu bearbeiten, um so immer schön das Wichtigste/Aktuellste im ersten Post zu verewigen.

DP-Maintenance 18. Nov 2010 21:36

Dieses Thema wurde am "18. Nov 2010, 22:36 Uhr" von "Matze" aus dem Forum "Win32/Win64 API (native code)" in das Forum "Software-Projekte der Mitglieder" verschoben.

unheilig1977 18. Nov 2010 21:49

AW: CTL_CODE für Delphi als kleines Tool
 
Danke für den Tipp.

Ist am Anfang immer ein wenig schwierig, den richtigen Thread zu erwischen.
Hoffe, daß das mit dem Verschieben klappt, will noch einiges ändern und dann natürlich auch die aktuelle Version einstellen.

Schon geschehen!
Doch lieber erst lesen, dann schreiben:

Garfield 20. Nov 2010 00:36

AW: CTL_CODE für Delphi als kleines Tool
 
Bei Devicetyp und Function Code kann man jeweils 32bit Werte eingeben. Das ist nicht plausibel. Der Devicetyp belegt 16 und der Function Code 12 bit.

unheilig1977 21. Nov 2010 16:25

AW: CTL_CODE für Delphi als kleines Tool
 
Hallo Garfield,

hast recht mit Deinem Einwand - ist einer der Fehler in der ersten Version.
Bin gerade mit der Überarbeitung beschäftigt und werde auch dies beachten und einbauen.

Zitat:

max DEVICETYP = $FFFF
max FUNCTION = $FFF


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 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