AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi savetofile verträgt sich nicht mit save/opendialog
Thema durchsuchen
Ansicht
Themen-Optionen

savetofile verträgt sich nicht mit save/opendialog

Ein Thema von ricwein · begonnen am 22. Sep 2008 · letzter Beitrag vom 22. Sep 2008
Antwort Antwort
ricwein
(Gast)

n/a Beiträge
 
#1

savetofile verträgt sich nicht mit save/opendialog

  Alt 22. Sep 2008, 16:22
Ich habe folgendes nervendes Problem.
Für ein Programm lass ich den Inhalt eines StrinGrids via SaveDialog abspeichern oder via OpenDialog laden:


Code:
var f: textfile;
    i, k:integer;
begin
if SaveDialog1.Execute
     then begin
            Assignfile(f, saveDialog1.filename);
            rewrite(f);
            with StringGrid1 do
                 begin
                   writeln(f, StringGrid1.colcount);
                   writeln(f, StringGrid1.rowcount);
                   for i:=0 to stringGrid1.colcount-1 do
                       for k:=0 to StringGrid1.rowcount-1 do
                           writeln(f, StringGrid1.Cells[i, k]);
                 end;
                closefile(f);
                geaendert:=false;
          end;
end;
Code:
var f: textfile;
    i, k, n:integer;
    Wort:string;
begin
if OpenDialog1.Execute
     then begin
            AssignFile(f, OpenDialog1.filename);
            Reset(f);
            with StringGrid1 do
                 begin
                   Readln(f, n);
                   StringGrid1.colcount:=n;
                   Readln(f, n);
                   StringGrid1.Rowcount:=n;
                   for i:=0 to stringGrid1.colcount-1 do
                       for k:=0 to StringGrid1.rowcount-1 do
                           begin
                             readln(f, Wort);
                             StringGrid1.Cells[i, k]:=Wort;
                           end;
                 end;
            Closefile(f);
          end;
end;
Soweit funktioniert auch alles einwandfrei, jetzt aber das Problem, an einer späteren stelle möchte ich das Programm den Inhalt des Grids mit IdFTP hochladen lassen (Indy). Dazu fülle ich eine TMemo mit den Daten die ich brauche (sind hier in einer speziellen Reihenfolge, daher die TMemo) und möchte sie dann mit
Code:
form1.Memo1.Lines.SaveToFile('test.txt');
in das Verzeichniss der .exe abspeichern lassen. Stattdessen wird die Datei jedoch in das zuletzt mit Save/OpenDialog aufgerufene Verzeichnis gespeichert -.-
Hat jemand eine Idee wie ich das umgehen könnte? Bin noch relativ neu
Danke
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#2

Re: savetofile verträgt sich nicht mit save/opendialog

  Alt 22. Sep 2008, 16:25
ja, das ist so. wenn du es in ein spezielles verzeichnis laden/speichern möchtest, musst du mit absoluten verzeichnissen arbeiten.

im übrigen das OS übergibt als ersten aufrufparameter des programms den programmnamen inkl. verzeichnis
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: savetofile verträgt sich nicht mit save/opendialog

  Alt 22. Sep 2008, 16:31
Zitat von ricwein:
und möchte sie dann mit ... in das Verzeichniss der .exe abspeichern lassen.
Ganz schlechte Idee. Auf jeden NT-Basierten System kann es dir passieren das dein Prozess/die Exe keine Schreibrechte auf das .Exe-Verzeichnis hat. Ab Vista wird das bei der überwiegenden Anzahl von PC's der Fall sein.
Entweder Temp-Verzeichnis oder %Appdata%-Verzeichnis falls du die Dateien nicht nur temporär benötigst.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

Re: savetofile verträgt sich nicht mit save/opendialog

  Alt 22. Sep 2008, 16:36
Hallo,

Zitat von grenzgaenger:
ja, das ist so. wenn du es in ein spezielles verzeichnis laden/speichern möchtest, musst du mit absoluten verzeichnissen arbeiten.

im übrigen das OS übergibt als ersten aufrufparameter des programms den programmnamen inkl. verzeichnis
ganz so schlimm ist es nicht (immer).
Die Dialoge haben in Objektinspektor unter Options ofNoChangeDir. Wenn man das auf True setzt, wird nicht in das im Dialog ausgewählte Verzeichnis gewechselt, sondern man bleibt schön da, wo man herkommt.

Stephan
  Mit Zitat antworten Zitat
ricwein
(Gast)

n/a Beiträge
 
#5

Re: savetofile verträgt sich nicht mit save/opendialog

  Alt 22. Sep 2008, 16:42
Erstmal Danke für die schnellen Antworten.
@nahpets
klappt super =)
Vielen Dank nochmal
  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 18:52 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