AGB  ·  Datenschutz  ·  Impressum  







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

Netzlaufwerk und Pfad speichern

Ein Thema von SaFu · begonnen am 11. Mai 2016 · letzter Beitrag vom 11. Mai 2016
Antwort Antwort
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#1

Netzlaufwerk und Pfad speichern

  Alt 11. Mai 2016, 11:24
Hallo,

habe gerade ein kleines Problem, ich speicher einen Pfad in eine .ini. Der Programmordner der .Exe liegt im Netzwerk, wenn ich nun einen neuen Kontakt anlege und die Datei speichere wird in eine andere .Ini der Pfad gespeichert. Soweit ok öffne ich die .exe von einem anderen PC aus, diese PC hat einen anderen Netzlaufwerksbuchstabe und somit stimmt der Pfad nicht mehr.

Gibt es eine spezielle funktion mit der ich das nicht so statisch machen kann?

Delphi-Quellcode:
  // PAKontakt Ordner erstellen
 if DirectoryExists(ExtractFilePath(ParamStr(0)) + 'PAKontakte') then
  OrdnerPA:= (ExtractFilePath(ParamStr(0)) + 'PAKontakte')
  else
    begin
     ForceDirectories(ExtractFilePath(ParamStr(0)) + 'PAKontakte'); //Ordner erstellen
    end;

SenderIniFile.WriteString('PAKontakt','Pfad',OrdnerPA + '\'+ ProgrammanbieterFirmaCombo.Text + '.ini') Beim laden wird einfach in der .ini nach dem Schlüsssel mit dem Pfad gesucht.

Danke im voraus.
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: Netzlaufwerk und Pfad speichern

  Alt 11. Mai 2016, 11:27
Relativen Pfad speichern und zur Laufzeit mit dem aktuellen Programmpfad kombinieren?

Delphi (die IDE/Projektmanager) macht es teilweise so, daß es absoluten und relativen Pfad speichert.
Erst mit dem Absoluten versuchen und wenn nicht gefunden, dann mit dem Relativen suchen.

Delphi-Referenz durchsuchenExpandFileName
Delphi-Referenz durchsuchenTPath.IsRelativePath
Delphi-Referenz durchsuchenTPath.GetFullPath
MSDN-Library durchsuchenGetFullPathName
MSDN-Library durchsuchenPathRelativePathTo
...
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (11. Mai 2016 um 11:36 Uhr)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Netzlaufwerk und Pfad speichern

  Alt 11. Mai 2016, 11:28
Beim Zugriff auf Netzlaufwerke sollte man die Verwendung von Laufwerkbuchstaben am besten vermeiden. Es sei denn, die Laufwerke sind bei allen genormt. In dem Fall müsstest du den UNC-Pfad zur Freigabe speichern. Dann fällt die Problematik weg sofern ein funktionierender DNS läuft.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#4

AW: Netzlaufwerk und Pfad speichern

  Alt 11. Mai 2016, 15:09
Ich schließe mich Aviator an: Löse den Pfad in einen UNC-Pfad auf und schon ist das Problem Geschichte. Es gibt eine API-Funktion dafür, leider weiß ich nicht, wie die heißt (aber mit passenden Suchbegriffen wirst du sicher fündig).

MfG Dalai
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Netzlaufwerk und Pfad speichern

  Alt 11. Mai 2016, 15:13
hier in der DP: http://www.delphipraxis.net/49779-pf...umwandeln.html

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#6

AW: Netzlaufwerk und Pfad speichern

  Alt 11. Mai 2016, 16:51
Ich hab mal nachgeschaut und neben dem bereits genannten/verlinkten WNetGetConnection noch WNetGetUniversalName gefunden.

MfG Dalai
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Netzlaufwerk und Pfad speichern

  Alt 11. Mai 2016, 17:52
Ich würde mir immer die Information in dem Kontext speichern in dem diese gedacht ist.

Und hier sieht es danach aus, dass der Ordner relativ zum Anwendungsordner gewünscht ist.
Dann speicher ich auch genau das ab und mache daraus nicht etwas Absolutes, denn das war hier so nicht gedacht.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  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 14:38 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