Entwickler-Ecke
Sonstiges (Delphi) - Konsolenanwendung...
654321 - Mo 08.10.07 16:56
Titel: Konsolenanwendung...
Hallo,
da ich im Moment überhaupt keine Ahnung habe wie ich hier weiterkommen soll, wollte ich fragen ob mir jemand Tipps/Hinweise/Lösungsvorschläge geben kann für folgende Aufgabenstellung:
"Bestimme das Quadrat einer ganzen Zahl in einer Konsolenanwendung.
Verwende für die Eingabe die InputBox und für die Ausgabe ein Meldungsfenster.
Aufgabe 1 :Benutze folgende ‚Schablone‘ :Eingabe über Inputbox, defaultwert =1;
Konvertiere den Eingabewert in einen Integerwert;
Berechne das Quadrat;
Nutze für die Ausgabe ein Meldungsfenster ;"
Danke schonmal im Vorraus für alle bemühten Antworten!
MfG
Numberz
PS: Bitte so schreiben das es auch ein Delphi 6 Noob (wie ich) versteht. Danke. ;-)
jasocul - Mo 08.10.07 17:10
:welcome: in der Entwickler-Ecke.
Wie weit bist Du denn schon gekommen mit dem Programm?
Ich fürchte, dass Du ohne Eigenleistung kaum viel Hilfe hier bekommen wirst. Die meisten User sind nicht sonderlich begeistert davon, für andere die Hausaufgaben zu machen.
Also zeig doch mal, was Du bisher geschafft hast. Wir schubsen Dich dann schon in die richtige Richtung. :wink:
654321 - Mo 08.10.07 17:21
Ok verständlich, also als normale Anwendung kam ich so weit:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35:
| unit quadratrechnen;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Edit2: TEdit; procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1; a,b: real ; implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin a:=strtofloat(Edit1.text); b:=a*a; edit2.text:=floattostr(b); end;
end. |
"
Aber ich habe keine Ahnung wie ich das in der Konsolenanwendung machen soll :-( da haperts glaub ich am meisten!
MfG
Numberz
Moderiert von
jasocul: Delphi-Tags hinzugefügt
Martin1966 - Mo 08.10.07 17:43
654321 hat folgendes geschrieben: |
| Aber ich habe keine Ahnung wie ich das in der Konsolenanwendung machen soll :-( |
Im Delphi Menü
Datei -> Neu -> Weitere -> Konsolen Anwendung wählen. ;-)
Lg, Martin
654321 - Mo 08.10.07 17:59
Martin1966 hat folgendes geschrieben: |
654321 hat folgendes geschrieben: | | Aber ich habe keine Ahnung wie ich das in der Konsolenanwendung machen soll :-( |
Im Delphi Menü Datei -> Neu -> Weitere -> Konsolen Anwendung wählen. ;-)
Lg, Martin |
und dann da einfach den Code einfügen? Hmm funktionert nicht...
MfG
Numberz
Tino - Mo 08.10.07 19:36
654321 hat folgendes geschrieben: |
| und dann da einfach den Code einfügen? Hmm funktionert nicht... |
Nein, einfach einfügen funktioniert nicht. Du musst die Sourcecode Teile schon an den richtigen Stelle im Code einfügen.
Zeig doch mal was du bereits hast.
Gruß
Tino
654321 - Mo 08.10.07 20:41
Wie schon gesagt mehr als das was ich da gepostet habe hab ich noch nicht, da ich garnicht weiss mit welchen Befehlen ich da in diesem Konsolen-"Ding" arbeiten soll. Das andere habe ich mit dem Drag und Drop auf der Delphi-Oberfläche erstellt, was ja nun bei dem Konsolenfenster leider nicht möglich ist. Vielleicht hilft euch das ja mir zu helfen.
MfG Numberz
Sinspin - Mo 08.10.07 22:14
Was du da an Quelltext zeigst ist ja aber nicht aus einer Konsolenanwendung.
Bei Konsolenanwendungen arbeitet mal für gewöhnlich in der Projektdatei (*.DPR).
Und es stehen einem auch keine Fenster zu Verfügung. Zur Laufzeit siehst du dann nur ein DOS ähnliches Fenster.
Eingaben erfolgen dann entweder über dieses Fenster oder über Dialogboxen. Zum Beispiel InputBox, für die Eingabe und MessageBox für die Ausgabe.
654321 - Di 09.10.07 00:20
Ahhh, das hilft doch schon ein bisschen weiter, danke für die Information.
MfG
Numberz
654321 - Di 09.10.07 12:52
so weit bin ich bisher mit der konsole:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| program Project2;
uses windows;
begin InputBox(1); MessageBox(); ShowMessage(); end. |
aber erstens gibt er immer fehlermeldungen aus die ich nicht verstehe, und zweitens weiss ich nicht wie ich weitermachen soll...
kann vielleicht jemand helfen, bitte?
MfG
Numberz
Moderiert von
jasocul: Delphi-Tags eingefügt
jasocul - Di 09.10.07 12:54
654321 hat folgendes geschrieben: |
| aber erstens gibt er immer fehlermeldungen aus die ich nicht verstehe |
Die eine oder andere Meldung kann man sich denken, aber es hilft, wenn Du hier schreibst, welche Meldungen Du bekommst. Dann müssen wir nicht so viel denken. :wink:
654321 - Di 09.10.07 12:57
Danke für die Hilfe, also
[Fehler] Project2.dpr(9): Undefinierter Bezeichner: 'InputBox'
[Fehler] Project2.dpr(10): Nicht genügend wirkliche Parameter
[Fehler] Project2.dpr(11): Undefinierter Bezeichner: 'ShowMessage'
MfG
Numberz
Agawain - Di 09.10.07 12:59
Hi
hier auch für Dich das kleine Tutorial.
Die Konsolenanwendung benutzt sysutils, logischerweise nicht Windows.
Am besten Du erstellst Dir den Programmrumpf mit Datei neu dort Konsolenanwendung auswählen.
Oder halt nach dem Tutorial.
http://www.lima-city.de/tutorials/show/2091
Gruß
Aga
jasocul - Di 09.10.07 13:02
InputBox und ShowMessage ist in Dialogs enthalten. Du musst also diese Unit noch bei Uses mit aufnehmen. Und MessageBox benötigt halt noch Parameter.
654321 - Di 09.10.07 13:03
Dankesehr.
Was mich nur wundert ist, dass mir hier in der Lernanleitung die ich nebenbei benutze gesagt wird ich soll den Term mit //{$APPTYPE CONSOLE} und bei uses die sysutils löschen..., muss ich das verstehen?!??!
MfG Numberz
654321 - Di 09.10.07 13:16
Agawain hat folgendes geschrieben: |
Hi
hier auch für Dich das kleine Tutorial.
Die Konsolenanwendung benutzt sysutils, logischerweise nicht Windows.
Am besten Du erstellst Dir den Programmrumpf mit Datei neu dort Konsolenanwendung auswählen.
Oder halt nach dem Tutorial.
http://www.lima-city.de/tutorials/show/2091
Gruß
Aga |
So ich hab das Tutorial mal "durchgearbeitet" aber bin leider immer noch nicht (viel) schlauer, weil das Tutorial ja nichts zu den Messageboxen sagt, sondern nur ReadLn und WriteLn benutzt. Die Befehle kannte ich vorher schon, die darf ich aber nicht benutzen bei meiner Aufgabe...
MfG Numberz
654321 - Di 09.10.07 13:42
Ich hab jetzt mal (nachdem sie endlich funktioniert) die Delphi Hilfe zu Rate genommen und bin so weit gekommen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| program Project1;
{$APPTYPE CONSOLE}
uses Windows, Messages, SysUtils, Dialogs;
var x: integer;
begin function MessageBox(const Text: 'Hallo'; const Caption: 'Quadratrechnen'; Buttons: TMessageButtons = [smbOK]; Default: TMessageButton = smbOK; Escape: TMessageButton = smbCancel): TMessageButton; end; end. |
Nur spuckt er mir hier mehrere Fehlermeldungen aus die ich nicht verstehe:
| Zitat: |
[Fehler] Project1.dpr(15): Anweisung erwartet, aber 'FUNCTION' gefunden
[Fehler] Project1.dpr(15): Bezeichner erwartet, aber String-Konstante gefunden
[Fehler] Project1.dpr(16): Bezeichner erwartet, aber String-Konstante gefunden
[Fehler] Project1.dpr(17): Undefinierter Bezeichner: 'TMessageButtons'
[Fehler] Project1.dpr(17): Undefinierter Bezeichner: 'smbOK'
[Fehler] Project1.dpr(18): Undefinierter Bezeichner: 'TMessageButton'
[Fehler] Project1.dpr(19): Undefinierter Bezeichner: 'smbCancel' |
MfG
Numberz
Moderiert von
Tino: Code- und Quote-Tags hinzugefügt.
Martin1966 - Di 09.10.07 13:51
Du scheinst in der Schule wohl nicht wirklich aufgepasst zu haben. ;-)
Richtig wäre es so (eventuell die Parameter noch anpassen/erweitern):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| program Project1;
{$APPTYPE CONSOLE}
uses Windows, Messages, SysUtils, Dialogs;
var x: integer;
begin MessageBox('Hallo', 'Quadratrechnen'); end. |
654321 - Di 09.10.07 13:54
Martin1966 hat folgendes geschrieben: |
Du scheinst in der Schule wohl nicht wirklich aufgepasst zu haben. ;-)
Richtig wäre es so (eventuell die Parameter noch anpassen/erweitern):
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| program Project1;
{$APPTYPE CONSOLE}
uses Windows, Messages, SysUtils, Dialogs;
var x: integer;
begin MessageBox('Hallo', 'Quadratrechnen'); end. | |
Spiel bloss nicht auf die Schulzeit an... mal ganz davon abgesehen, das die schon einige Jahre zurückliegt, hab ich nie Delphi gehabt! (Sonst hätte ich wohl auch nicht so viel Hilfe nötig.):-)
Aber dannke für die Hilfe!
MfG
Numberz
Nachtrag: Hmm das was du da geschrieben hast funktioniert bei mir leider so nicht.
Martin1966 - Di 09.10.07 13:58
654321 hat folgendes geschrieben: |
| Spiel bloss nicht auf die Schulzeit an... mal ganz davon abgesehen, das die schon einige Jahre zurückliegt, hab ich nie Delphi gehabt! :-) |
Tut mir leid. Ich hatte oben gelesen dass es sich dabei um eine Aufgabenstellung handelt und dann bin ich automatisch auf "Schule" gekommen. Sorry, war keine Absicht. Dann nehme ich das natürlich zurück. ;-)
Lg, Martin
654321 - Di 09.10.07 14:01
Martin1966 hat folgendes geschrieben: |
654321 hat folgendes geschrieben: | | Spiel bloss nicht auf die Schulzeit an... mal ganz davon abgesehen, das die schon einige Jahre zurückliegt, hab ich nie Delphi gehabt! :-) |
Tut mir leid. Ich hatte oben gelesen dass es sich dabei um eine Aufgabenstellung handelt und dann bin ich automatisch auf "Schule" gekommen. Sorry, war keine Absicht. Dann nehme ich das natürlich zurück. ;-)
Lg, Martin |
Keine Problem ich hab das ja nicht als Beleidigung oder so aufgefasst, weil ich mir schon gedacht habe das man vermuten könnte es handele sich um eine Schulaufgabe, was es aber nicht ist.
MfG
Numberz
654321 - Di 09.10.07 14:06
Also bei:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| program Project1;
{$APPTYPE CONSOLE}
uses Windows, Messages, SysUtils, Dialogs;
var x: integer;
begin MessageBox('Hallo'); end. |
spuckt er Folgendes aus:
[Fehler] Project1.dpr(19): Inkompatible Typen: 'HWND' und 'String'
Was heisst denn das nun schon wieder (aus der Delphi Hilfe werde ich da leider nicht schlau)
MfG
Numberz
Moderiert von
jasocul: Delphi-Tags hinzugefügt
Sinspin - Di 09.10.07 16:01
Such mal in der Hilfe nach MessageBox. Da gibt es eine ganze Menge verschiedene Proceduren mit dem gleichen Namen. Du hast da jetzt die falsche erwischt, schmeiß einfach mal die Unit Windows raus, die brauchst du eh nicht. Dann geht es nämlich.
654321 - Mi 10.10.07 11:15
Danke, das Thema hat sich mittlerweile erledigt.
MfG
Numberz
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!