Entwickler-Ecke

Sonstiges (Delphi) - Console


Andreas L. - So 02.03.03 21:19
Titel: Console
Hi,
welche Code muss ich in einer Konsolen-Anwendung schreiben, damit den Text des Prompts überprüft. Wenn "test" drin steht soll er den Text "test" anzeigen.

Damit es jeder versteht:

User gibt in den DOS-Promt von meiner Konsolen-Anwendung den Text "test" ein und drückt ENTER. Nun soll der Text erscheinen "test"!

ich nehme an das das mit IF gemacht wird!

Beispiel:

IF [das weiß ich net] then Writeln('test');



THX


AndyB - So 02.03.03 23:57

Wie ließt du denn den Text ein?


Quelltext
1:
2:
3:
4:
5:
var s: string;
begin
  ReadLn(s);
  if s = 'test' then WriteLn('test');
end;

Ich sehe da zwar keinen Sinn, denn man könnte das auch so machen:

Quelltext
1:
2:
3:
4:
5:
var s: string;
begin
  ReadLn(s);
  WriteLn(s); // gibt die Eingabe des Benutzers wieder aus.
end;


Andreas L. - Mo 03.03.03 10:06

danke für die Antwort! Das geht! Der Sinn dahinter ist der den ich net verraten werde! Muss ja auch net jeder wissen, was ich für Projekte hab!

Noch ne Frage! Wie geht das?: wenn der Text "test2" eingegeben wird, und der User ENTER drückt soll sich das Programm "test2.exe" starten!


THX


Delete - Mo 03.03.03 10:41

Strings kannst du mit "+" verbinden und zum Ausführen nimmst du Shellexecute oder CreateProcess.


Andreas L. - Mo 03.03.03 10:58

THX

Ein Prob, bei den obigen Code, den mir AndyB genannt hat habe ich ja das VAR, hier ist das Prob:


Quelltext
1:
2:
3:
4:
5:
6:
begin
Writeln('text1');
Writeln('text2');
end;
// Wenn ich jetzt hier das VAR reinmach geht das net, wenn ich noch ein begin und noch ein end; anlege gehts auch net, wie löse ich das Problem!?!
end.


Delete - Mo 03.03.03 11:03

Wo bist du denn überhaupt in deinem Code? In einer Prozedur, im Hauptprogramm oder wo?


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

procedure Tuwas;
var
  s : String;
begin
end;

var
  i : Integer;
begin
  { TODO -oUser -cConsole Main : Hier Code einfügen }
end.


Andreas L. - Mo 03.03.03 11:10

Hier bin ich:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
program prog;

{$APPTYPE CONSOLE}

uses
  SysUtils;

begin
Writeln('text1');
Writeln('text2');
end;
var s: string;
begin 
  ReadLn(s); 
  if s = 'test' then WriteLn('test'); 
end;

end.


Is das ganze Prog. Des geht net!


Delete - Mo 03.03.03 11:15

Vergleich deinen Code mal mit meinem. Und dann achtest du mal besonders auf die Unterschiede. :wink:

Aufbau eines Pascal-Programmes:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
program Name

uses
  ..., ..., ...;

{ Unterprogramm }
procedure
begin
end;

{ Hauptprogramm }
begin
end.


Desweiteren dürften die Fehlermeldungen dir helfen, das Problem zu lösen. :roll:


Andreas L. - Mo 03.03.03 11:18

AHA. ich hab halt in delphhi ein neues KosnolenAnwendung begonnen und da war das so da, ich hab mich schon gefragt warum da nix mit procedure steht!


Delete - Mo 03.03.03 11:27

Also hellsehen, was du machen willst, kann Delphi noch nicht, um dir schon deine Prozeduren zu erstellen. :shock:


Andreas L. - Mo 03.03.03 11:29

Luckie hat folgendes geschrieben:
Also hellsehen, was du machen willst, kann Delphi noch nicht, um dir schon deine Prozeduren zu erstellen. :shock:


Klingt ziemlich logisch!


PS: Wenns dir nix ausmacht füg ich deine ICQ UIN zu meinen ICQ hinzu! OK!


Delete - Mo 03.03.03 11:35

onlinehome hat folgendes geschrieben:

PS: Wenns dir nix ausmacht füg ich deine ICQ UIN zu meinen ICQ hinzu! OK!

Mach. Aber mich brauchst du erst fragen, wenn du mit Google gesucht hast, hier im Forum gesucht hast und auf den einschlägigen Seiten nichts gefunden hast.