AGB  ·  Datenschutz  ·  Impressum  







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

Propertyeditor für "Path"

Ein Thema von stahli · begonnen am 13. Aug 2011 · letzter Beitrag vom 16. Aug 2011
Antwort Antwort
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#1

Propertyeditor für "Path"

  Alt 13. Aug 2011, 21:13
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.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Propertyeditor für "Path"

  Alt 13. Aug 2011, 21:14
Darf man nach dem Sinn fragen? Der Pfad kann doch auf jedem Rechner anders sein, falls es um irgendwelche Systempfade gehen sollte.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Propertyeditor für "Path"

  Alt 13. Aug 2011, 21:26
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...!?
Miniaturansicht angehängter Grafiken
path.png  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#4

AW: Propertyeditor für "Path"

  Alt 13. Aug 2011, 21:37
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.
Miniaturansicht angehängter Grafiken
ibdb.png  
Sebastian

Geändert von geskill (13. Aug 2011 um 21:43 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Propertyeditor für "Path"

  Alt 13. Aug 2011, 21:47
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.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (13. Aug 2011 um 21:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Propertyeditor für "Path"

  Alt 16. Aug 2011, 09:23
*push*
(falls doch noch jemand eine Idee hat)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Propertyeditor für "Path"

  Alt 16. Aug 2011, 10:19
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.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Propertyeditor für "Path"

  Alt 16. Aug 2011, 10:26
Ok danke.
Ich dachte, ich hätte einen Typ (ähnlich TPathName) übersehen, für den dies standardmäßig registriert ist...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#9

AW: Propertyeditor für "Path"

  Alt 16. Aug 2011, 10:47
Ok danke.
Ich dachte, ich hätte einen Typ (ähnlich TPathName) übersehen, für den dies standardmäßig registriert ist...
Kannste selber machen.
Delphi-Quellcode:
type
  TPathName = type string;

....

procedure Register;
begin
  RegisterPropertyEditor(TypeInfo(TPathName), nil, '', TPathProperty);
end;
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.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (16. Aug 2011 um 10:55 Uhr)
  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 09:13 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