Entwickler-Ecke
Sonstiges (Delphi) - Konsolenanwendung ohne INI-Datei
bf109g.01 - Do 03.03.11 12:51
Titel: Konsolenanwendung ohne INI-Datei
Hallo, ich arbeite viel mit Konsolenanwendungen, weil ich die einfach für schneller, praktischer und speicherplatzsparender halte.
Über Write lasse ich mir gerne die einzelnen erfolgreichen Schritte des Programms bestätigen (Bsp: "Search File" -> "File successfully found" / "File not found" usw. usw.), weil dies eigentlich die einzige Möglichkeit ist, das Programm zu "überwachen".
Konsolenanwendungen schließen sich aber immer von selbst, sobald der Programmcode abgearbeitet ist, was sich bekannterweise durch "ReadLN;" am Ende verhindern lässt.
Wenn das Programm schließlich läuft, deaktiviere ich ReadLn am Ende aber eigentlich immer.
Jetzt kommt das Problem:
Wenn ich zB weil etwas unterwartetes auftritt, kontrollieren will, an welcher Stelle der Fehler auftritt, muss ich das automatische Schließen wieder verhindern, sonst kann ich ja meine "Überwachung" nicht einsehen.
Bis jetzt habe ich das immer über eine INI-Datei gelöst, welche die EXE ausliest, und wo sie den Parameter findet:
| Zitat: |
# SETTINGS
Request confirmation before close = 1 |
Gibt es für eine externe Parameter-Datei auf der Festplatte eine Alternative?
Ich habe mal von Datei"anhängen" gehört, die man an die EXE knüpfen können soll... hab aber keine Ahnung ob das wirklich / wie das geht... :(
Was jemand einen Lösungsvorschlag?
Tankard - Do 03.03.11 13:12
warum uebergibst du es denn nicht als parameter beim aufruf
alla:
meinprogramm.exe /dontclose
nur mal so als frage
bf109g.01 - Do 03.03.11 13:25
Ich denke, das was du mir sagen willst, könnte das sein, was ich suche.
Aber was heißt "beim Aufruf"?
Dass ich zusätzliche (derartige) Infos angeben kann, ist mir nur bei der Benutzung von Verknüpfungen (zb "-w" für windowed) bekannt...
Also danke für den Tipp, aber ich persönlich kann die Info nicht auswerten, weil ich kp hab.
bummi - Do 03.03.11 13:34
kp ? = kein Plan ?
paramstr(0) DeinProgramm mit Pfad
Paramstr(1) 1. Parameter
Paramstr(2) 2. Parameter
Paramcount für die Anzahl
Jakob_Ullmann - Do 03.03.11 14:45
Du wirst doch sicher schon mal mit der Shell gearbeitet. Dort rufst du ein Programm mit so einer Befehlszeile auf:
Quelltext
1: 2:
| ls --all ~/dir1/ # dasselbe: ls -a ... |
Das ist jetzt ein Unix-Befehl (mit den DOS-Befehlen kenne ich mich nicht so aus). Du rufst hier das Programm ls auf (entspricht
dir unter DOS: listet Verzeichnisinhalt oder Dateiattribute auf). ParamStr(1) ist dann
--all (unter DOS vll. eher /all, ls erkennt das und zeigt dann auch versteckte Dateien an) und ParamStr(2) ist z. B.
/home/jakob/dir1/ (oder halt
C:\...\dir1\). Und so, wie
ls einen Parameter gibt, kannst du auch deinem Programm einen Parameter auf den Weg geben. Mit ParamCount erhälst du die Anzahl der Parameter.
Delete - Do 03.03.11 14:58
Öffne eine Konsole (Start -> Ausführen -> cmd), navigiere in das Programmverzeichnis und starte das Programm über die Konsole, dann schließt sich auch nichts und du siehst die Ausgabe.
Reinhard Kern - Do 03.03.11 15:28
Hallo,
wenn du das öfter brauchst, mach doch einen Nagel mit Kopf und schreib eine Routine für das Programmende, die normalerweise z.B. nach 30 Sek abläuft, im Fall eines Fehlers dagegen erst nach drücken von CR.
Gruss Reinhard
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!