![]() |
Propertyeditor für "Path"
Ich habe eine Komponente mit einer Eigenschaft Path (String).
Wie kann ich am leichtesten einen passenden Propertyeditor zur Path-Auswahl zuweisen? Muss ich den selbst erstellen (ich weiß, wie das geht) oder gibt es nicht doch eine fertige Variante, die das realisiert? Ein Test mit dem Typ TFileName brachte noch nichts. Ich hatte gehofft, es gäbe z.B. TPathName mit zugeordnetem Eigenschaftseditor. |
AW: Propertyeditor für "Path"
Darf man nach dem Sinn fragen? Der Pfad kann doch auf jedem Rechner anders sein, falls es um irgendwelche Systempfade gehen sollte.
|
AW: Propertyeditor für "Path"
Liste der Anhänge anzeigen (Anzahl: 1)
Ich weise einen Pfad zu, der zur Designtime verwendet wird.
Um das komfortabler zu machen, möchte ich ein Auswahlformular (Propertyeditor) zuweisen. Ich kann das ohne weiteres selbst machen, hatte aber gedacht, für eine Pfadauswahl müsste es eine fertige Lösung geben...!? |
AW: Propertyeditor für "Path"
Liste der Anhänge anzeigen (Anzahl: 1)
Huhu habe gerade bisschen in den Komponenten gestöbert und TIBDatabaseINI macht genau das was du suchst denke ich. Komisch ist aber, dass intern die property FileName als String deklariert ist oO.
EDIT: sehe gerade du brauchst NUR den Pfad. Hmm ich glaub dann hilft dir dies nicht so viel. |
AW: Propertyeditor für "Path"
Ja, genau so meinte ich das. Und nur für den Pfad.
Falls niemand eine Idee hat, muss ich es eben mal selbst machen. Ist ja nicht schwer, aber die Arbeit würde ich mir trotzdem gern sparen. Edit: @geskill Einen Eigenschaftseditor kann man für einen Typ, eine Klasse und/oder einen Eigenschaftsnamen zuweisen. Es kann also ein Editor für eine Property Namens FileName der Klasse TMyClass zugewiesen werden, auch wenn die Eiugenschaft ein einfacher String ist. Oder man kann einen Editor an den Typ TPathName binden, der dann für alle Eigenschaften aller Klassen zugewiesen wird, wenn sie von diesem Typ sind. |
AW: Propertyeditor für "Path"
*push*
(falls doch noch jemand eine Idee hat) |
AW: Propertyeditor für "Path"
Folgende Unit in ein Designtime Package und du hast für die InitialDir property des TOpenDialog einen Ordnerauswahldialog.
Delphi-Quellcode:
unit PropertyPathEditor;
interface uses DesignEditors, DesignIntf; type TPathProperty = class(TStringProperty) public function GetAttributes: TPropertyAttributes; override; procedure Edit; override; end; procedure Register; implementation uses Dialogs, FileCtrl; procedure Register; begin RegisterPropertyEditor(TypeInfo(string), TOpenDialog, 'InitialDir', TPathProperty); end; { TPathProperty } procedure TPathProperty.Edit; var LPath: string; begin LPath := GetValue(); if SelectDirectory('', '', LPath, [sdNewFolder, sdNewUI, sdValidateDir]) then begin SetValue(LPath); end; end; function TPathProperty.GetAttributes: TPropertyAttributes; begin Result := inherited GetAttributes + [paDialog]; end; end. |
AW: Propertyeditor für "Path"
Ok danke.
Ich dachte, ich hätte einen Typ (ähnlich TPathName) übersehen, für den dies standardmäßig registriert ist... |
AW: Propertyeditor für "Path"
Zitat:
Delphi-Quellcode:
Sollte auch kein Problem sein, den Code im Edit so zu ändern, dass ein relativer Pfad gespeichert wird, so dass zum Beispiel ein anderer Entwickler oder du selber auf einem anderen Rechner oder in einem anderen Projektverzeichnis immernoch damit arbeiten können.
type
TPathName = type string; .... procedure Register; begin RegisterPropertyEditor(TypeInfo(TPathName), nil, '', TPathProperty); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz