![]() |
Memo Inhalt als Textfile speichern
Hallo,
möchte gerne ein DBMemo als TextFile abspeichern. Im gleichem Odner, wo sich die exe befindet! Ein Unterordner wäre auch toll. Edit6.Text ("hier befindet sich immer eine neue ID-Nr")
Delphi-Quellcode:
:?
DBMemo1.Lines.SaveToFile(ExtractFilePath(Application.ExeName)+(Edit6.Text)+ '.asc'); // so müsste es doch richtig sein !!!
|
AW: Memo Inhalt als Textfile speichern
Forderst du denn auch Administratorrechte (z.B. beim Start der Anwendung) an, damit du dort überhaupt Schreibrechte hast?
![]() Ansonsten sieht das so schon richtig aus. Was passiert denn? Lass dir doch einfach mal den zusammengesetzten Dateinamen mit ShowMessage ausgeben, dann siehst du ja, ob der passt. |
AW: Memo Inhalt als Textfile speichern
Zitat:
Was ist denn deine Frage? |
AW: Memo Inhalt als Textfile speichern
hallo,
also es passiert nix! es wird nichts gespeichert, aber eine Fehlermeldung gibt es auch nicht!?? :shock::? |
AW: Memo Inhalt als Textfile speichern
Wo liegt denn dein Programm? Wenn das z.B. unter "c:\Program Files (x86)" liegt und du es nicht mit Adminrechten startest, schaust du dann auch an der richtigen Stelle nach der Datei? Sprich unter:
Code:
// EDIT:
C:\Users\[Benutzername]\AppData\Local\VirtualStore\Program Files (x86)
Ach ja, und mit dem Process Monitor siehst du genau was dein Programm macht, sprich ob es die Datei speichert. |
AW: Memo Inhalt als Textfile speichern
Wenn du eine Datei speichern willst und es Probleme gibt dann verwendet man immer eine Stringvariable mit dem Dateinamen.
Falsch
Delphi-Quellcode:
DBMemo1.Lines.SaveToFile(ExtractFilePath(Application.ExeName)+(Edit6.Text)+ '.asc');
Richtig
Delphi-Quellcode:
Diese supereinfache Technik sollte man sich für immer merken, dann braucht man auch nicht im Forum fragen sondern die Standardprobleme selber lösen!!
var
filename :string; begin filename := ExtractFilePath(Application.ExeName)+Edit6.Text+ '.asc'; ShowMessageFmt("speichere Datei %s", [filename]); // Ausgabe zu Debugzwecken DBMemo1.Lines.SaveToFile(filename); Da fehlt wahrscheinlich ein Backslash in deinem Dateinamen. |
AW: Memo Inhalt als Textfile speichern
Zitat:
Ich vermute eher, dass die Virtualisierung zuschlägt (siehe oben) oder ungültige Zeichen im Dateinamen sind (mit ShowMessage ja zu sehen). Der Process Monitor zeigt in jedem Fall was passiert. |
AW: Memo Inhalt als Textfile speichern
Zitat:
Ungültige Zeichen müssten dann in Edit6 drin sein, aber da würde SaveToFile mit einer Exception reagieren. Am Wahrscheinlichten ist hier wirklich der VirtualStore. Jupp, bei ExtractFilePath hat "immer" einen PathDelemiter am Ende. (solange es im Input-Verzeichnisstring Einen gibt) ExtractFileDir nicht, bzw. ExcludePathDelimiter nicht, wobei das seit vielen Jahren kaputt ist, denn am RootDrive müsste es den Path-Delemiter dran lassen, was es nicht macht, denn C: ist nicht das Root-Verzeichnis, sondern C:\. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19: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-2025 by Thomas Breitkreuz