![]() |
assignfile: standardverzeichnis
hallöchen!
bevor mir jetzt noch mehr graue haare wachsen frage ich mal das liebe forum: wenn ich bei assignfile im zweiten parameter kein verzeichnis angebe sondern nur den dateinamen 'base.dat', wo sucht delphi dann die datei bzw. schreibt es sie hin?! ich habe schon in diversen projekteinstellungen gesucht, aber nix gefunden... ich gehe mal davon aus, dass es das verzeichnis ist, in dem auch die .exe des programms liegt?! in leserichtung würde das stimmen, aber wenn ich aine datei so schreibe, landet die woanders :-( es muss doch eine stelle geben, wo man das einstellt, oder? danke schonmal! der bene |
Re: assignfile: standardverzeichnis
Hallo,
ohne eine absolute Pfadangabe werden deine Dateinamen in Bezug zum aktuellen Arbeitsverzeichnis (current working directory) gesetzt. Einstellen kannst du das über eine Shell-Verknüpfung oder im Programm über ChDir() oder auch einen der Standard-Dialoge (OpenDialog, SaveDialog). Ermitteln kannst du das cwd über GetDir(0, dir). Grüße vom marabu |
Re: assignfile: standardverzeichnis
wow, danke für die schnelle antwort!
dann lag ich ja also gar nicht soo falsch. aber wie kann es denn dann sein, dass er mir die datei beim speichern woanders hinschmeißt?! :cry: kann es sein, dass man das in der IDE voreinstellen kann, und ich die stelle/den menüpunkt nicht finde? |
Re: assignfile: standardverzeichnis
Nein, wie gesagt es wird das aktuelle Arbeitsverzeichnis genommen Am Besten du gibts dem AssignFile() einen Pfad mit
|
Re: assignfile: standardverzeichnis
Moin benicz,
wie marabu schon geschrieben hat: Es gibt einige Möglichkeiten, das Arbeitsverzeichnis zu verbiegen, so dass es grundsätzlich keine gute Idee ist auf Basis eben dieses Verzeichisses zu arbeiten. Besser ist es in speziellen Windows-Verzeichnissen, oder relativ zum eigenen Programm (ExtractFilePath(paramstr(0)) die Daten zu speichern (letzteres sollte aber nur für Daten gelten die während des Programmlaufes nur gelesen werden, da ein normaler User im Programmverzeichnis keine Schreibrechte hat). |
Re: assignfile: standardverzeichnis
vielleicht sollte ich doch noch was mehr schreiben:
die datei, um die es geht ist dazu da, sich eine art "arbeitsverzeichnis" zu merken. in ihr steht der ein weiterer dateiname der datei, die sozusagen eine basiskonfiguration des programmes beinhaltet. die soll der user natürlich selbst ändern und abspeichern können, und sie soll nicht im programmverzeichnis sein müssen. das hab ich für einen annehmbaren workaround gehalten... |
Re: assignfile: standardverzeichnis
Dann nimm ne Ini oder speichere in die Registry
|
Re: assignfile: standardverzeichnis
Zitat:
|
Re: assignfile: standardverzeichnis
Zitat:
|
Re: assignfile: standardverzeichnis
um nochmal zur frage zu kommen:
beim einlesen der datei habe ich kein problem, ich wundere mich nur, dass er sie völlig wo anders hinschreibt, wenn ich ohne verzeichnisangabe abspeichere. eigentlich sollte er doch dasselbe benutzen, oder? es kann sein, dass ich in irgendeinem urschleimstatus des projektes mal versucht habe eine art arbeitsverzeichnis vorzugeben bei den projekteinstellungen. aber ich habe im laufe der zeit ein neues projekt angefangen und neu aufgebaut, das kann eigentlich nicht übernommen worden sein... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:43 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 by Thomas Breitkreuz