Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Boot-Menü (https://www.delphipraxis.net/22364-boot-menue.html)

silentAMD 16. Mai 2004 20:02


Boot-Menü
 
hi,
ich möchte ein programm schreiben, dieses auf cd brennen und als boot-menü benutzen.
in dem bootmenü gibt man dann einfach z.b. xfdisk ein und xfdisk wird dann (unter dos) gestartet.
funktioniert dafür eine normale konsolenanwendung von delphi?

wenn ja, kann mir jemand einen link zu einem tutorial (oder einer befehlsammlung) für reine konsolenanwendungen geben (die in einem solchen boot-menü funktionieren)?
und vielleicht noch eins für boot-menüs?

hier der quellcode (bitte verbesserungsvorschläge):

Delphi-Quellcode:
program myprog;

{$APPTYPE CONSOLE}
uses System;
var a: String;

const TAB = #9;
O_EXIT = 'exit';
O_XFDISK = 'xfdisk';
O_GHOST = 'ghost';
O_HELP = 'help';

procedure help;
begin
writeln;
writeln(#201#205#205#205#205#205#205#205#205#205#205#205#205
#205#205#205#203#205#205#205#205#205#205#205#205#205#205#205
#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205
#205#205#205#205#205#187);
writeln(#186+' Hilfe'+TAB+TAB+#186+TAB+TAB+TAB+TAB+#186);
writeln(#204#205#205#205#205#205#205#205#205#205#205#205#205
#205#205#205#188+TAB+TAB+TAB+TAB+#186);  //42leertasten
writeln(#186+TAB+TAB+TAB+TAB+TAB+TAB+#186);
writeln(#186#32+O_EXIT+TAB+TAB+': Programm beenden'+TAB+TAB+#186);
writeln(#186#32+O_XFDISK+TAB+': XFDisk starten...'+TAB+TAB+#186);
writeln(#186#32+O_GHOST+TAB+TAB+': Norton Ghost starten...'+TAB+#186);
writeln(#186+TAB+TAB+TAB+TAB+TAB+TAB+#186);
writeln(#186#32+'-> Bitte Gro'+#225+'- und Kleinschreibung beachten!'+TAB+#186);
writeln(#200#205#205#205#205#205#205#205#205#205#205#205#205
#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205
#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205
#205#205#205#205#205#188);
end;

procedure confirmation;
begin
writeln;
write('Ihre Eingabe: ');
readln(a);
if a <> '' then begin
if a = O_EXIT then exit
else if a = O_XFDISK then writeln(' XFDisk wird gestartet...')
else if a = O_GHOST then writeln(' Norton Ghost wird gestartet...')
else if a = O_HELP then help
else if a = 'hallo' then writeln(' Hallo!')
else writeln(' Fehler: "'+a+'" ist ein ung'+#129+'ltiges Kommando');
end;
writeln;
confirmation;
end;

begin
writeln('==========================================');
writeln('    Console '+#184+' 2004 silentAMD');
writeln('==========================================');
writeln;
writeln('Geben Sie f'+#129+'r folgende Programme');
writeln('entsprechende Nummern ein.');
writeln('(falls die Hilfe eingeblendet werden soll,');
writeln('geben Sie "'+O_HELP+'" ein)');
help;
confirmation;
writeln(' Das Programm wird beendet.');
readln;
end.

PLEASE HELP!!!

[edit=Admin]Zu lange Zeilen umgebrochen. Mfg, Daniel[/edit]

neolithos 16. Mai 2004 20:32

Re: Boot-Menü
 
Nein, dieses Programm läuft nicht. Da es auf das Windows OS aufbaut.

Du musst du erst DOS Starten, dann müsste die Anwendung aber mittels TP kompiliert werden.
Oder du lädts den Windows-Kernel, dann könnte auch ein Delphi-Konsolenprogramm laufen.

Im Netz solltes zu dem Thema genug geben.

The-X 16. Mai 2004 20:38

Re: Boot-Menü
 
Grösstenteils kannst du jedoch den Code übernehmen...
eventuell kann ich dir den SOurce auch auf TP 7.0 umbasteln und compilieren :)

ist sich nix gross problem :mrgreen:

silentAMD 16. Mai 2004 20:40

Re: Boot-Menü
 
hi,
ich hab mir das so gedacht:
1. zuerst erstelle ich eine startdiskette unter windows 98.
2. dann mach ich mein prog auf die diskette
3. und lass dann die anwendung per autoexec.bat starten.

würde das funzen?

ps: wie kann ich über ein konsolenprog (in dos) eine anwendung starten?

PLEASE HELP!!!

silentAMD 16. Mai 2004 20:43

Re: Boot-Menü
 
@The-X: das wäre cool, aber ich würde da ja noch später n paar kleine änderungen reinmachen :wink:
was ist eigentlich genau TP und wo kann man sich es downloaden??

neolithos 16. Mai 2004 20:45

Re: Boot-Menü
 
TP = Turbo Pascal, dass Pascal für DOS, welches auf einer Win98 Startdiskette drauf ist.

Und downloaden kann man TP 5.5 im Borland Museum.

The-X 16. Mai 2004 20:46

Re: Boot-Menü
 
TP= Turbo Pascal ... der "Vater von Delphi" was die Sprache angeht ;)
Downloaden müsste man das im Borland Museum können

*hier* (5.5)

oder bei Anfrage bei mir (7.0) ;) (falls erlaubt :roll:)

allerdings um Platz zusparen könntest du das ganze auch schon in einer Batch-Datei abhandeln
mit Echo, CHOICE und If ERRORLEVEL dann brauchst du dir den "Krampf" mit TP nicht anzutun
was doch ein recht großer Rückschritt von Delphi ist ;)

Nicodius 16. Mai 2004 21:09

Re: Boot-Menü
 
ähm wegen dem #... --> ist Ascii nicht nur unter Dos/windows oder ist das vom Pc aus?

The-X 16. Mai 2004 21:15

Re: Boot-Menü
 
#205 : längeres = (bündig auf Zeichensatz 8x8 Pixel) um Rahmen zu "zeichnen"

# + Ascii-Code ist AFAIK nur unter Pascal so alternativ wäre Chr(205)

Luckie 17. Mai 2004 14:38

Re: Boot-Menü
 
Erstell das Bootmenü in der Autoexec.bat und der Config.sys. Wie das geht findets du bei Google.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz