Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   open-/savedialog festgelegte datei laden (https://www.delphipraxis.net/149713-open-savedialog-festgelegte-datei-laden.html)

Occma 28. Mär 2010 11:39


open-/savedialog festgelegte datei laden
 
hi alle zusammen

mir ist bewusst das irgendein veteran des internets die antwort auf meine frage in 10 sekunden bei google oder in der suchfunktion gefunden hat, aber ich kann auch versichern, dass ich mich ehrlich bemüht habe diese möglichkeiten auszuschöpfen bevor ich ihr nachfrage.

wie beim titel schon zu sehen bezieht sich meine frage auf die komponenten open bzw save dialog

speichern bzw laden(in/von einem memo in/von einem textdokument oder datei) ist kein problem
Code:
procedure TForm1.save1Click(Sender: TObject);
begin
with savedialog1 do
if execute then
  memo1.lines.SaveToFile(filename);

end;
dies ruft immer ein neues windowsfenster auf in dem man die datei auswählen muss.
wie kann ich dieses fenster überbrücken und eine datei(oder textdok) festlegen in dem immer gespeicher wird, so dass man nicht auswählen muss?

p.s. ich hatte delphi bisher nur auf schulniveau geht also von einem sehr nidrigem wissensstand aus.

mfg Occma

himitsu 28. Mär 2010 11:43

Re: open-/savedialog
 
Zitat:

Zitat von Occma
wie kann ich dieses fenster überbrücken und eine datei(oder textdok) festlegen in dem immer gespeicher wird, so dass man nicht auswählen muss?

Indem man garkeinen Open-/SaveDialog nutzt und den Dateinamen direkt vorgibt?

SirThornberry 28. Mär 2010 11:52

Re: open-/savedialog
 
Könntest du dem Beitrag bitte einen aussagekräftigen Titel geben der aussagt um was es genau geht? Das hat den Vorteil das andere anhand des Titels sehen ob sie helfen können und du somit gegebenfalls eher eine passende Antwort bekommst. Zudem hat es den Vorteil das andere mit gleichem Problem dieses Thema besser über die Suche finden können und somit schneller zur Lösung kommen :)
Ändern kannst du dem Titel in dem du auf http://www.delphipraxis.net/template.../icon_edit.gif über deinem Beitrag klickst.

Occma 28. Mär 2010 12:14

Re: open-/savedialog festgelegte datei laden
 
@himitsu
ja das ist die lösung aber solange ich überhaupt keine ahnung hab wie man einen dateinamen direkt vorgibt hift mir das herzlich wenig.

mein wunsch wäre es einen button zu haben der save heist und der beim klicken in eine von mir vorgegebenen datei die angaben speichert

jfheins 28. Mär 2010 12:19

Re: open-/savedialog festgelegte datei laden
 
Man ist ja gnädig ...
Delphi-Quellcode:
memo1.lines.SaveToFile('C:\meinedatei.txt');

himitsu 28. Mär 2010 12:23

Re: open-/savedialog festgelegte datei laden
 
Zitat:

memo1.lines.SaveToFile(filename);
filename gibt doch wohl den Dateinamen an?
Tja, was muß man da wohl ändern. :gruebel:
Delphi-Quellcode:
procedure TForm1.save1Click(Sender: TObject);
begin
  Memo1.lines.SaveToFile('hier den Dateinamen und am Besten inkl. Pfad');
end;
oder eben
Delphi-Quellcode:
procedure TForm1.save1Click(Sender: TObject);
begin
  Memo1.lines.SaveToFile(ExtractFilePath(Application.ExeName) + 'meinDateiname.txt');
end;
(Datei im Programmverzeichnis ... aber besser ist natürlich ein anderer Pfad, da man im Programmeverzeichnis sowas nicht unbedingt speichern sollte ... jedenfalls, wenn es sich dabei um das "Programme"-Verzeichnis von Windows handelt)

Occma 28. Mär 2010 12:56

Re: open-/savedialog festgelegte datei laden
 
wie schon gesagt funktioniert das speicher und laden einwandfrei
das problem ist eher, dass immer ein neues fenster geöffnet wird wo ich die datei auswählen muss, dieses fenster will ich auslassen können aber wahrscheinlich geht das mit save/opendialog nicht gibt es noch andere wege diese stringwerte in eine festgelegtes textdokument zu speichern.

es ist vergleichbar mit einem text in word, wenn man das erste mal speichert kommt dieses neue fenster indem man einen speicherort auswähl.

wenn man dann später wieder auf speichern drückt wird der inhalt automatische dort gespeichert,diese funktion will ich nutzen

himitsu 28. Mär 2010 13:08

Re: open-/savedialog festgelegte datei laden
 
Wie schon gesagt:

Der Open- und SaveDialog ist dieses Dateiauswahlfenster.
Wenn du dieses Fenster also nicht möchtest, dann darfst du auch diese Komponenten nicht verwenden/aufrufen.

Delphi-Quellcode:
procedure TForm1.Save1Click(Sender: TObject);
begin
  if SaveDialog1.Filename = '' then
  begin
    if SaveDialog1.Execute then
      Memo1.Lines.SaveToFile(SaveDialog1.Filename);
  end
  else
    Memo1.Lines.SaveToFile(SaveDialog1.Filename);
end;

// in Kurz
procedure TForm1.Save1Click(Sender: TObject);
begin
  if (SaveDialog1.Filename <> '') or SaveDialog1.Execute then
    Memo1.Lines.SaveToFile(SaveDialog1.Filename);
end;
Vorschlag:
Delphi-Quellcode:
// Speichern
procedure TForm1.Save1Click(Sender: TObject);
begin
  if ((SaveDialog1.Filename <> '') and FileExists(SaveDialog1.Filename))
      or SaveDialog1.Execute then
    Memo1.Lines.SaveToFile(SaveDialog1.Filename);
end;

// Speichern als ...
procedure TForm1.SaveAs1Click(Sender: TObject);
begin
  if SaveDialog1.Execute then
    Memo1.Lines.SaveToFile(SaveDialog1.Filename);
end;

jaenicke 28. Mär 2010 13:15

Re: open-/savedialog festgelegte datei laden
 
Zitat:

Zitat von Occma
wenn man dann später wieder auf speichern drückt wird der inhalt automatische dort gespeichert,diese funktion will ich nutzen

Dann musst du beim ersten Mal den ausgewählten Dateinamen speichern. Wenn bereits ein Dateiname vorhanden ist, dann zeigst du den Dialog einfach nicht mehr an.

// EDIT:
Ja, da stehts ja schon.

Occma 28. Mär 2010 13:24

Re: open-/savedialog festgelegte datei laden
 
danke für die schnell hilfe jetzt läuft alles


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:22 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