AGB  ·  Datenschutz  ·  Impressum  







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

DirectoryEdit "\" Problem

Ein Thema von LuCSteR · begonnen am 25. Aug 2008 · letzter Beitrag vom 25. Aug 2008
Antwort Antwort
LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#1

DirectoryEdit "\" Problem

  Alt 25. Aug 2008, 11:20
Hi,

ich benutze ein DirectoryEdit. Wenn ich euf die Schaltfläche zur Ordnerwahl klicke (Dialog öffnet sich), suche ich mir einen Zielordner aus, dessen Pfad im Edit-Feld eingefügt wird. Nur gibts dabei ein Problem. Am Ende des Strings befindet sich kein "\". Ohne Backslash funktioniert aber meine Funktion zur Ordnererstellung nicht. Ich versuche krampfhaft diesen Backslash anzufügen, nachdem der Dialog geschlossen wird.
Ich habe es versucht mit:
OnAcceptDirectory-Ereignis
DirectoryEdit1.Caption:=DirectoryEdit1.Caption+'\'
und mit
DirectoryEdit1.Directory:=DirectoryEdit1.Directory +'\'

Funktioniert nur leider nicht. Der angezeigte String bekommt keinen Backslash angehängt.
Ich würde dem Nutzer gern die Möglichkeit offen lassen, den Pfad per Hand ins Editfeld einzutragen. D.h., wenn ich OnEditingDone-Ereignis nutzen würde, um einen "\" anzuhängen, wäre das Ergebnis ja wieder falsch.

Jmd. ne Idee?

Grüße.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: DirectoryEdit "\" Problem

  Alt 25. Aug 2008, 12:06
Zitat:
Ohne Backslash funktioniert aber meine Funktion zur Ordnererstellung nicht.
Da wird wohl der Hase im Pfeffer liegen. Wie sieht die Funktion denn aus?
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
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: DirectoryEdit "\" Problem

  Alt 25. Aug 2008, 12:26
Hallo,

es gibt doch die Funktion Delphi-Referenz durchsuchenIncludeTrailingPathDelimiter, die den Backslash bei Bedarf hinten anhängt.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: DirectoryEdit "\" Problem

  Alt 25. Aug 2008, 12:28
Das scheint die Komponente aber nicht zu interessieren. Aber wie gesagt, ich meine, der Fehler liegt an anderer Stelle.
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
LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#5

Re: DirectoryEdit "\" Problem

  Alt 25. Aug 2008, 13:20
Sorry, war Mittagessen )

Also den Ordner lasse ich mit CreateDir erstellen und diese verlangt am Ende des Strings ein "\". Das hatte ich letzte Woche glaube ich so getestet.

Delphi-Quellcode:
procedure TForm2.DirectoryEdit1AcceptDirectory(Sender: TObject;
  var Value: String);
begin
  IncludeTrailingBackslash(GetCurrentDir);
  //IncludeTrailingPathDelimiter(GetCurrentDir);
  //DirectoryEdit1.Directory:=IncludeTrailingPathDelimiter(GetCurrentDir);
  //DirectoryEdit1.Caption:=IncludeTrailingPathDelimiter(GetCurrentDir);
end;
Hat alles leider nicht funktioniert.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: DirectoryEdit "\" Problem

  Alt 25. Aug 2008, 13:24
Und selbst wenn CreateDir einen Backslash am Ende erwartet (kann mich gar nicht daran erinnern), was spricht dann dagegen, diesen bei der Übergabe anzuhängen? Was die Kompo anzeigt, soll Dir doch egal sein.
Delphi-Quellcode:
if not CreateDir(IncludeTrailingPathDelimiter(DirectoryEdit1.Directory)) then
  ShowMessage('Ordner kann nicht angelegt werden.');
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
LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#7

Re: DirectoryEdit "\" Problem

  Alt 25. Aug 2008, 13:33
Zitat von DeddyH:
Was die Kompo anzeigt, soll Dir doch egal sein.[/delphi]
Das ist der Punkt Ist mir halt nicht egal. Wenn es mir egal wäre, dann bräuchte ich auch keine visuelle Komponente Klar ist es einfach noch nen "\" anzuhängen. Werd dann wohl doch die händische Editierung unter den Tisch fallen lassen müssen.

Achja der Pfad wird mit einem String aus einer Ini Datei verglichen, und wenn Unterschiede bestehen verändert. Stellt sich nat. die Frage, wie ein Nutzer das eingeben würde. Mit oder ohne Slash am Ende. Mmh. Werde ich wohl eine Stringüberprüfung des letzten Zeichens machen und dann je nach dem \ anhängen oder nicht.

Damit hat sich das problem eigentlich erübrigt. Nur fraglich, warum durch die beiden Kompo-Funktion trotzdem kein Slash angehängt wird :s

Trotzdem danke für die Hilfe.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: DirectoryEdit "\" Problem

  Alt 25. Aug 2008, 13:59
Hier bestätigt es sich wieder einmal: man sollte die Logik von der Darstellung trennen. Den Backslash zum Vergleich an- bzw. abzuhängen, ist IMHO die eleganteste und fehlerresistenteste Möglichkeit.
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
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 01:01 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