AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Konsole beenden

Ein Thema von Quick_silver · begonnen am 13. Sep 2004 · letzter Beitrag vom 13. Sep 2004
Antwort Antwort
Seite 1 von 2  1 2   
Quick_silver

Registriert seit: 2. Jan 2003
78 Beiträge
 
Delphi 6 Enterprise
 
#1

Konsole beenden

  Alt 13. Sep 2004, 16:04
Blöde frage aber:
Wie beende ich ne Consolenanwendung vorzeitig? Application.Destory gibt nen error wieder das er irgendwas mit dem Spreicher nicht lesen kann.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Konsole beenden

  Alt 13. Sep 2004, 16:19
So:
Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

begin
  { TODO -oUser -cConsole Main : Insert code here }
  Readln;
  exit;
end.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#3

Re: Konsole beenden

  Alt 13. Sep 2004, 16:20
Glaube mit halt;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Konsole beenden

  Alt 13. Sep 2004, 16:23
Delphi-Referenz durchsuchenhalt ginge wohl auch, aber da steht in der Hilfe:
Zitat:
Halt performs an abnormal termination of a program and returns to the operating system.
Delphi-Referenz durchsuchenExit hingegen verläßt die aktuelle Prozedur / Funktion. Und wenn du das Hauptprogramm verläßt, bekommt automatisch das System wieder die Kontrolle.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#5

Re: Konsole beenden

  Alt 13. Sep 2004, 16:29
Naja, aber was wenn er es nicht aus der Hauptprocedure machen will??

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

procedure KA;
begin
  exit;
//halt;
end;

begin
  KA;
  Readln;
end.
Oder aus nem anderen Thread aus? Da kann man dann doch nur das Halt verwenden oder aber TerminateProcess.
  Mit Zitat antworten Zitat
Quick_silver

Registriert seit: 2. Jan 2003
78 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Konsole beenden

  Alt 13. Sep 2004, 16:30
Ich weiss neeur thrad wäre besser aber nochmal hier ne kurze frage:
wie kann ich eine Zeile zurück springen. Also die letzte Zeile überschreiben?
Writeln macht ne neue Zeile
Write addiert

Gibt es irgendwas was die Zeile neu schreibt?
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Konsole beenden

  Alt 13. Sep 2004, 16:34
Zitat von Quick_silver:
Ich weiss neeur thrad wäre besser aber nochmal hier ne kurze frage:
wie kann ich eine Zeile zurück springen. Also die letzte Zeile überschreiben?
Writeln macht ne neue Zeile
Write addiert

Gibt es irgendwas was die Zeile neu schreibt?
Mach mal lieber einen neuen Thread auf, die Frage lässt sich nicht mit einem Satz beantworten.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Konsole beenden

  Alt 13. Sep 2004, 17:36
@Sleepymaster: Etwas mehr Phantasie bitte:
Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

procedure Foo;
begin
  Readln;
  exit;
end;

begin
  { TODO -oUser -cConsole Main : Insert code here }
  Foo;
  exit;
end.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#9

Re: Konsole beenden

  Alt 13. Sep 2004, 19:16
Und was wenn in der Foo entschieden wird, ob das Programm beendet werden soll oder nicht???

Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

procedure Foo;
var
  s: string;
begin
  Readln(s);
  if s = 'STOPthen
    halt;
end;

begin
  Foo;
  Writeln('Laeuft noch');
  Readln;
end.
Ja, man könnte dann bei Foo anstelle einer Procedure eine Funktion nutzen, die zurückliefert ob das Programmbeendet werden soll oder nicht, nur wenn man was anderes über die Funktion zurückgeben will, dann wird irgendwann der Aufwand zu groß!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.536 Beiträge
 
#10

Re: Konsole beenden

  Alt 13. Sep 2004, 19:19
Hi SleepyMaster,

beendest du jedes Delphi-Programm auch mit Application.Terminate oder mit KillProcess?
Wenn eine Funktion nötig ist, um dies abzufragen dann muss eben eine Funktion ran. Jeder der mal Turbo Pascal programmiert haben wird dies noch kennen. Ich sehe eigentlich nicht das Problem exit zu verwenden und das Programm sauber zu beenden als das Programm mit Halt zu beenden und sich sozusagen die Knarre an die Schläfe zu halten und abzudrücken.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 05:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf