AGB  ·  Datenschutz  ·  Impressum  







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

Open Dialog

Ein Thema von eassy · begonnen am 3. Jun 2003 · letzter Beitrag vom 3. Jun 2003
Antwort Antwort
eassy

Registriert seit: 7. Mai 2003
48 Beiträge
 
Delphi 5 Enterprise
 
#1

Open Dialog

  Alt 3. Jun 2003, 09:13
hallo,

ich habe in meinem programm den standarddialog "topendialog" von delphi
verwendet. nun habe ich das problem, dass ich wenn ich auf den button "abbrechen" bzw. auf button "öffnen" klicke, da aber keine datei
ausgewählt habe, eine fehlermeldung bekomme.
Delphi-Quellcode:
try
  if OpenDialog1.Execute then { Dialog zum Dateiöffnen anzeigen }
  begin
    AssignFile(Filename, OpenDialog1.FileName); { Datei ausgewählt }
    Reset(Filename);
  end;
  while not eof(Filename) do
  begin
    Readln(Filename,s);
  end;

finally
  CloseFile(Filename);
end;
Ich weiss jetzt nicht, wie ich bei finally überprüfen kann, welchen
button ich gedrückt habe und ob ich eine datei ausgewählt habe.

kann mir da jemand helfen?

im voraus schon mal danke.

gruß
eassy
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#2
  Alt 3. Jun 2003, 09:27
hi Eassy,

mach doch einfach
Delphi-Quellcode:
if not OpenDialog1.Execute then
  exit;
Roderich
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 3. Jun 2003, 09:28
Moin Eassy,

schreib' doch einfach:

if not OpenDialog1.Execute then exit; Dann wird die Routine einfach verlassen, wenn keine Datei ausgewählt wurde.

[EDIT]
@Roderich:
[/EDIT]
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#4
  Alt 3. Jun 2003, 09:31
was passiert wenn er es in ein Try Except Block gesetzt hätte ?
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 3. Jun 2003, 09:44
Moin Darty,

dann wäre der Fehler wohl abgefangen worden.
Aber es wäre keine saubere Struktur.

Wichtig wäre in jedem Falle noch ein try/finally Block, damit die geöffnete Datei in jedem Falle wieder geschlossen wird.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
1adavin

Registriert seit: 28. Mai 2003
Ort: 48607 Ochtrup
17 Beiträge
 
Delphi 7 Professional
 
#6
  Alt 3. Jun 2003, 09:45
Delphi-Quellcode:
Mach's do einfach so:


if OpenDialog1.Execute then { Dialog zum Dateiöffnen anzeigen }
begin
AssignFile(Filename, OpenDialog1.FileName); { Datei ausgewählt }
try
Reset(Filename);
while not eof(Filename) do
begin
Readln(Filename,s);
end;
finally
CloseFile(Filename);
end;
end
else begin
ShowMessage (
'Sie haben keine Datei ausgewählt !');
end;
  Mit Zitat antworten Zitat
eassy

Registriert seit: 7. Mai 2003
48 Beiträge
 
Delphi 5 Enterprise
 
#7
  Alt 3. Jun 2003, 09:55
danke, für die schnelle hilfe, es funktioniert mit einem zusätzlichen
try...finally block...

gruß
eassy
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8
  Alt 3. Jun 2003, 10:02
Moin 1adavin,

erst einmal herzlich willkommen in der Delphi-PRAXiS.

Mit AssignFile wird nur eine Verbindung zwischen dem Bezeichner (Filename) und dem Pfad der Datei hergestellt, damit Funktionen wie Reset, oder Rewrite "wissen" können, wo die Datei liegt.
Deshalb gehört das try hinter das Rewrite, denn erst hiermit wird eine Resource (in diesem Falle ein Filehandle) belegt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  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 08:42 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