AGB  ·  Datenschutz  ·  Impressum  







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

Verzeichnis ändert sich

Ein Thema von davar · begonnen am 19. Jan 2006 · letzter Beitrag vom 19. Jan 2006
Antwort Antwort
davar

Registriert seit: 4. Feb 2005
311 Beiträge
 
Turbo Delphi für Win32
 
#1

Verzeichnis ändert sich

  Alt 19. Jan 2006, 16:49
Hallo Leute,

ich habe nun folgendes Problem:

im Quellcode arbeite ich mit Paradoxtabellen, die ich nicht über einen Alias, sondern mit direkter Verzeichnisangabe anspreche. Und da sich die Tabellen in einem Unterverzeichnis befinden, gebe ich das Verzeichnis relativ an, also z.B. 'DBs\tabelle.db'.

Jetzt habe ich jedoch eine Imagelist hinzugefügt, die sich Images aus einem weiteren Unterverzeichnis, nämlich 'images' holt.

Und jetzt geht es nicht mehr.

Delphi sucht die Tabellen jetzt nämlich in 'images\DBs\' und findet logischerweise nichts.

Kann man die Verzeichnisangabe irgendwie wieder "zurücksetzen"?

Ich habe mir ja überlegt, die Pfadangaben mit "ExtractFilePath(Application.ExeName)" + 'DBs\..' " anzugeben, aber dann habe ich wiederum ein Problem mit den Querys, weil ich nicht weiss, wie ich es dort hinkriegen kann.
Da gibt es nämlich so etwas wie
DBs.QHTrHin.SQL.add('SELECT * FROM DBs\Tabelle WHERE Kunde = :kunde'); Kann mir jemand einen Rat geben?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Verzeichnis ändert sich

  Alt 19. Jan 2006, 16:52
Und genau das ist der Grund, warum man nie mit relativen Pfaden arbeiten soll, sondern nur mit absoluten. Mit Delphi-Referenz durchsuchenParamStr(0) bekommst du den Pfad deiner Anwendung samt Namen und mit Delphi-Referenz durchsuchenExtractFilepath extrahierst du nur den Pfad.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Verzeichnis ändert sich

  Alt 19. Jan 2006, 16:56
Hallo

Zitat von davar:
Ich habe mir ja überlegt, die Pfadangaben mit "ExtractFilePath(Application.ExeName)" + 'DBs\..' " anzugeben, aber dann habe ich wiederum ein Problem mit den Querys, weil ich nicht weiss, wie ich es dort hinkriegen kann.
Über die Suche (Bsp: Hier im Forum suchenletzten Ordner) wärst du auf folgenden Code von marabu gestoßen:

Delphi-Quellcode:
function Folder(fileName: string): string;
begin
  Delete(fileName, 1, Length(ExtractFileDrive(fileName)));
  SetLength(fileName, Length(fileName) - Succ(Length(ExtractFileName(fileName))));
  Result := ExtractFileName(fileName);
end;
Diese Funktion gibt dir den Namen des "untersten" Ordners zurück.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Verzeichnis ändert sich

  Alt 19. Jan 2006, 16:59
Ups, man sollte die Beiträge auch bis zu Ende lesen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
davar

Registriert seit: 4. Feb 2005
311 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Verzeichnis ändert sich

  Alt 19. Jan 2006, 17:18
Zitat von Matze:
Über die Suche (Bsp: Hier im Forum suchenletzten Ordner) wärst du auf folgenden Code von marabu gestoßen:

Delphi-Quellcode:
function Folder(fileName: string): string;
begin
  Delete(fileName, 1, Length(ExtractFileDrive(fileName)));
  SetLength(fileName, Length(fileName) - Succ(Length(ExtractFileName(fileName))));
  Result := ExtractFileName(fileName);
end;
Diese Funktion gibt dir den Namen des "untersten" Ordners zurück.
Aber hilft mir das denn in dem Fall weiter?

Dann habe ich ja den Namen des Ordners "images", aber da bin ich ja schon. Ich möchte ja da wieder raus.. Wenn ich Delphi aufrufe, bin ich ja im Applikationsverzeichnis und kann von dort aus ins Unterverzeichnis "DBs" zugreifen. Aber nachdem die Imagelist auf das Unterverzeichnis "images" zugreift, bleibt Delphi auch dort und kennt logischerweise das Unterverzeichnis "DBs" nicht, weil es dort auch keins gibt. Also müsste die Applikation wieder aus diesem Verzeichnis "images" eins höher.

Kann ich denn irgendwie die Query-Abfrage so modifizieren, dass ich da das Pfad irgendwie "zwischenschalten" kann? Dann hätte ich auch das Problem mit den relativen Pfadangaben nicht.

MfG

davar
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Verzeichnis ändert sich

  Alt 19. Jan 2006, 17:20
Übergib der Funktion doch einfach das Anwendungsverzeichnis mit angehängten DB-Ordner.
  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 20:54 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