AGB  ·  Datenschutz  ·  Impressum  







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

Hilfe bei Save und Open Dialogs

Ein Thema von Coder1990 · begonnen am 14. Feb 2008 · letzter Beitrag vom 15. Feb 2008
Antwort Antwort
Benutzerbild von Coder1990
Coder1990

Registriert seit: 2. Nov 2007
116 Beiträge
 
Delphi 2005 Personal
 
#1

Hilfe bei Save und Open Dialogs

  Alt 14. Feb 2008, 21:41
Seas,

ich fress mich jetzt paar Stunden durch Google und die Forums-interne Suche finde aber echt keine Möglichkeit die ich verstehe.
Also ich hab ein Script Programm geschrieben und will nun die eingespeicherten Befehle in eine Textdatei abspeichern bzw. später wieder auslesen. Ich hab mir gedacht ich lös das mit SaveDialog und OpenDialog.
Folgendes soll passieren:
Bei Button klick öffnen des Savedialogs <- klappt natürlich^^
Auswahle des Dateinamens / Pfades*
Erstellen der Datei / Daten reinschreiben <- Hierfür hab ich auch schon eine Methode

Bei Button klick öffnen des OpenDialogs
Soll nur txt Dateien anzeigen
Auslesen der ausgewählten Datei ...

*Ich müsste eigentlich nur wissen wie ich den Path der "gewünschten" Datei und den Namen auslesen könnte (ich raff das net"
Oder speichert SaveDialog von selbst eine Datei? Muss man da vll keine selbst erstellen?

MfG

Coder
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

Re: Hilfe bei Save und Open Dialogs

  Alt 14. Feb 2008, 21:47
Man kann die Dialog wie folgt benutzten:
Delphi-Quellcode:
if dialog.execute then
begin
     // tue hier irgendwas z.B. Laden oder Speichern
     // den Dateinamen findest du in dialog.filename (oder so ähnlich)
end;
MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von Coder1990
Coder1990

Registriert seit: 2. Nov 2007
116 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Hilfe bei Save und Open Dialogs

  Alt 14. Feb 2008, 21:56
Hab jetzt folgendes zusammengeschnipselt:

Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
begin
savedialog1.InitialDir:=(Application.ExeName);
if SaveDialog1.Execute then begin
SaveFile(SaveDialog1.FileName,ExtractFilepath(SaveDialog1.FileName));

end;
end;
Meine Prozedur SaveFile lautet:

Delphi-Quellcode:
procedure SaveFile(Name:string;Pfad:WideString);
var
Datei: TextFile;
i:integer;
begin
AssignFile(Datei, Pfad + Name+'.txt');
[i]Rewrite(Datei);[/i]
for i:=1 to form1.Max-1 do begin
if form1.KlickType[i]=1 then WriteLn(Datei, '1 '+inttostr(form1.pos[i].X)+'/'+inttostr(form1.pos[i].Y) );
if form1.KlickType[i]=2 then WriteLn(Datei, '2 '+inttostr(form1.pos[i].X)+'/'+inttostr(form1.pos[i].Y) );
if form1.KlickType[i]=3 then
                        begin
                        WriteLn(Datei, '3 '+ inttostr(Integer(form1.ButtonType1[i]) ));
                        end;
if form1.KlickType[i]=4 then WriteLn(Datei, '4 '+form1.TexttoType[i] );

end;
CloseFile(Datei);

end;
Es entsteht eine Fehlermeldung in der markierten Zeile
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Hilfe bei Save und Open Dialogs

  Alt 14. Feb 2008, 22:01
Was steht in Pfad drinnen?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#5

Re: Hilfe bei Save und Open Dialogs

  Alt 14. Feb 2008, 22:05
Kein Wunder, mitPfad + Name+'.txt' bastelst du dir, wenn deine ausgewählte Datei "C:\foo\bar.exe" heisst, folgenden Pfad zum speichern zusammen:

C:\foo\C:\foo\bar.exe.txt

Das entspricht:

ExtractFilepath(SaveDialog1.FileName) + SaveDialog1.FileName + '.txt'


MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von Coder1990
Coder1990

Registriert seit: 2. Nov 2007
116 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Hilfe bei Save und Open Dialogs

  Alt 15. Feb 2008, 11:17
ok das hab ich jetzt zusammengekriegt

Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
begin
savedialog1.InitialDir:=(Application.ExeName);
if SaveDialog1.Execute then begin
SaveFile(SaveDialog1.FileName,ExtractFilepath(SaveDialog1.FileName));

end;
end;
klappt jetzt eigentlich auch mit dem speichern
nun möchte ich aber die Datei auslesen und stoße immer wieder auf E/A Probleme
Hier mein Code:
Delphi-Quellcode:
if OpenDialog1.Execute then begin
AssignFile(Datei,ExtractFilePath(OpenDialog1.Filename)+OpenDialog1.filename);
end;
reset(Datei);
// Auslesen
repeat
Readln(Datei,Line);
case Line[1] of // Erkennung 1
                '1':
                 .........
until eof(datei);
end;
Aber leider verursacht das reseten Probleme

//edit P.S.: wie krieg ich hin dass beim opendialog nur txt dateien angezeigt werden?

//edit2: Um genau zu sein ist es ein "EinOutError" oder so
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.546 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Hilfe bei Save und Open Dialogs

  Alt 15. Feb 2008, 16:02
1. Schau Dir mal die Eigenschaft Filter des Dialogs an.
2. Wenn OpenDialog1.Filename z.B. C:\Programme\Programm.txt heißt, dann ergibtExtractFilePath(OpenDialog1.Filename)+OpenDialog1.filename C:\Programme\C:\Programme\Programm.txt
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: Hilfe bei Save und Open Dialogs

  Alt 15. Feb 2008, 16:12
Zitat von Coder1990:
Hab jetzt folgendes zusammengeschnipselt:
Delphi-Quellcode:
procedure SaveFile(Name:string;Pfad:WideString);
var
Datei: TextFile;
i:integer;
begin
AssignFile(Datei, Pfad + Name+'.txt');
Der Code Schnipsel von oben ist Quark. So wird's richtig:
Delphi-Quellcode:
// SaveFile() bekommt den ganzen Dateinamen inclusive Pfad übergeben - da reicht 1 Parameter
procedure SaveFile(const filename:string);
var
Datei: TextFile;
i:integer;
begin
AssignFile(Datei, filename);
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Coder1990
Coder1990

Registriert seit: 2. Nov 2007
116 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Hilfe bei Save und Open Dialogs

  Alt 15. Feb 2008, 22:40
großes danke eigentlich ziemlich blöd mein fehler, hab den einfach irgendwann am anfang gemacht und dann später nicht mehr gefunden
  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 01:06 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