![]() |
Zahl Qquadrieren über Konsole mit MessageBox
Hallo...
Ich bin neu hier, genauso wie in der Delphiumgebung und bräuchte gleich mal ein wenig bzw vllt auch bissl mehr Hilfe :) Hab gerade mit dem Studium begonnen und von programmieren noch nich so die Ahnung. Wir sollen zu in Delphi ein Programm schreiben das eine Zahl quadriert. Dies soll in einer Konsolen-Anwendung geschehen und das Ergebnis soll in einer MessageBox erscheinen. Also ein Feld zum eingeben der Zahl, dann auf nen Button klicken und dann spuckt er mir das Ergebnis in ner MessageBox aus. Sitz hier schon ewig dran aber hab irgendwie kein Plan wie ich das nu anstell. Kann mir da vllt jemand weiterhelfen? |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Hallo, herzlich Willkommen.
Suche mal hier nach ![]() Die Quadrieren-Operation kann man auch als Multiplikation schreiben. Wie, weißt du hoffentlich selbst. Möchtest du eine fertige Funktion dafür nutzen, könntest du die Unit Math einbinden und ![]() Falls du mit diesen Infos nicht weiterkommst (irgendwelche Grundlagen musst du ja haben), zeige uns bitte, wie seit zu selbst kommst und was genau deine Probleme sind. Poste also in diesem Fall deinen bisherigen Code, nachdem du versucht hast, meine Tipps umzusetzen. Grüße Edit (nach Lesen des Folgebeitrags): Auf SQR hätte ich auch kommen müssen. *g* |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Hi,
In der Delphihilfe müsste auch ein Beispiel zur MessagBox sein!
Delphi-Quellcode:
Mfg Astartes
SQR(Variable); Quadieren
SQRT(Variable); Wurzel |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Naja ich weiß schon wie man das mit multiplikation macht - einfach a*a=b.
aber hab kein Plan wie ich mit dem Quelltext anfange bzw was da überhaupt nu alles reinkommt. :( |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Such mal in der Delphi Hilfe nach Integer-Typen und Float Typ zum Verständnis erstmal!
![]() (Zwar nicht das schönste Beispiel dürfte aber erstmal helfen) Mfg Tom |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Hallo, schau dir mal dieses Tutorial an (2 Sekunden gegoogelt, also zukünftig bitte selbst so "viel" Zeit investieren):
![]() Wenn ihr in der Uni/FH/BA etwas programmieren müsst, dann müssten euch die nötigen Grundlagen beigebracht worden sein oder zumindest ein Skript, das dies erklärt. Ich verstehe das nicht so ganz. :gruebel: Edit: Och Tom, editieren ist unfair. :mrgreen: |
Re: Zahl Qquadrieren über Konsole mit MessageBox
hmm das Tutorial is ja ganz nett aber hilft mir nich weiter...is ja nix mit Messagebox leider...
|
Re: Zahl Qquadrieren über Konsole mit MessageBox
Was ist an einer MessageBox denn schwierig?
Delphi-Quellcode:
Das geht auch in einer Konsolenanwendung.
MessageBox(0,'Ich bin eine MessageBox','Zur Info',MB_OK or MB_ICONINFORMATION);
|
Re: Zahl Qquadrieren über Konsole mit MessageBox
Man wenn man kein Plan hat denn is das halt alles nich so einfach :(
|
Re: Zahl Qquadrieren über Konsole mit MessageBox
Aber wenn man schon weiß, dass der Befehl MessageBox heißt, schaut man doch mal kurz in die Hilfe (OK, ich weiß nicht, welche Delphi-Version Du einsetzt, mit den neueren Hilfen isses ja IMHO nicht so weit her).
[edit] Rechtschreibfehler [/edit] |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Hi,
Delphi-Quellcode:
einbinden! Darauf kommst du über die Hilfe!
uses SysUtils,Windows;
Mfg Tom |
Re: Zahl Qquadrieren über Konsole mit MessageBox
So ich krieg jetzt schon ma ne messagebox. die kommt jetzt.
hab da aber nur nen text. bräuchte das so, dass man ne Zahl eingibt und denn auf enter drückt und die messagebox mit dem ergebnis kommt. mein bisheriger quelltext... program Versuch1; {$APPTYPE CONSOLE} uses SysUtils,windows; var x:integer; begin { TODO -oUser -cConsole Main : Hier Code einfügen } writeLn('hallo'); readLn; MessageBox(0,'Ich bin eine MessageBox','Ergebnis',MB_OK or MB_ICONINFORMATION); end. |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Hi,
Ich weiß nicht, ob die MessageBox das kann! Die alternative ist die InputBox ! In der Delphihilfe steht dazu was! Mfg Tom Oh hab die Aufgabe nicht richtig gelesen! |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Shaddar hör am besten auf zu studieren, wenn du sowas nicht selbst erlernen kannst. Das bringts nicht, als Student muss man sich vieles eben beibruingen und mal den Arsch aufreißen.
Zumal es sicher etwas im Bereich Informatik ist, wo man schon ein paar Grundlagen beherrschen sollte (zu mindest eine andere Programmiersprache) |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Hallo gehts noch? Ich lass mir doch nich sowat sagen! Wollt hier nur bissl Hilfe, mehr nich....
Also erst Gehirn einschalten, Denken und erst dann anfangen zu Sprechen!!!!! |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Zitat:
Dannach kannst du die Berechnung durchführen. Beispielsweiße X := X * X; Dann würest du logischerweiße das Ergebnis ausgeben wollen. Da MessageBox allerdings gerne einen String hätte wird hier eine Umwandlung (Integer zu String) nötig. Die Funktion hierfür heißt IntToStr(). Mit einem Paramter. Wenn du das dann so aptipst bleibt noch ein kleines Problem. MessageBox wird von Delphi an Windows-DLLs weitergereicht. Diese sind in C/C++ geschrieben und können mit Delphi Strings nichts anfangen sondern brauchen ein array of char. In Delphi heißt dieser String-Typ PChar. Eine Umwandlung Delphi String -> PChar geht mit der gleichnamigen Funktion "PChar". Der komplette Code wäre hier:
Delphi-Quellcode:
Lass dich nicht fertigmachen. Wenn man sich erstmal eingearbeitet hat ist Delphi viel verständlicher.
program Versuch1;
{$APPTYPE CONSOLE} uses SysUtils,windows; var x: Integer; begin ReadLn(X); X := X * X; MessageBox(0,PChar('Das Ergenis lautet ' + IntToStr(X) + '!'), 'Ergebnis',MB_OK or MB_ICONINFORMATION); end. |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Meine Version ist etwas ausführlicher:
Delphi-Quellcode:
program Project2;
{$APPTYPE CONSOLE} uses SysUtils, Windows; var Zahl: string; Wert: integer; Err: integer; begin { TODO -oUser -cConsole Main : Hier Code einfügen } writeln('Bitte eine Zahl eingeben.'); readln(Zahl); {$R-} Val(Zahl,Wert,Err); {$R+} if Err > 0 then MessageBox(0,'Eine Zahl, Du Hirni!','Knallkopp',MB_OK or MB_ICONERROR) else begin Wert := Wert * Wert; MessageBox(0,PChar(Format('Das Quadrat ist %d.',[Wert])),'Information',MB_OK or MB_ICONINFORMATION); end; end. |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Hallo Shaddar,
wer um Hilfe bittet, der bekommt die hier auch. Manchmal bekommst du sogar mehr Hilfe als du vertragen kannst. Betrachte den Beitrag von brechi einfach als Lebenshilfe, er wollte dich bestimmt nicht anmachen. Bitte überprüfe deine Aufgabenstellung nochmal: Konsolenanwendung und MessageBox passen nicht so richtig zueinander, schon gar nicht wenn es sich um die erste Übung handelt. Darf ich fragen, was du wo mit welchem Ziel studierst? ReadLn() ist übrigens auch in der Lage Zahlen direkt einzulesen, es muss nicht unbedingt ein String sein. Freundliche Grüße vom marabu |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Danke schön....
Is einfach nur so, dass man auh am Anfang des Studium kein Plan davon haben kann. Ich tudiers ja nich weil ichs kann, sondern weil ichs lernen will! Achja ich studier Multimediatechnik! Hab auch schon in der Schule mit Delphi gearbeitet aber da hatten wir ne absolut unfähige Lehrerin und es is nix hängen geblieben, is auch shon urst lange her! Wenn ich demnächst mit Delphi mehr macche, dann wirds auh sicherlich schnell leichter aber da hab ich halt einfach Hilfe gebraucht und versteh nich warum denn so ne Aussage kommt. Naja egal, danke an alle die mir geholfen haben! :) |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Zitat:
![]() Ich liebe Programme, die den User auch mal beleidigen! ![]() [/OT] Gruß Calculon -- |
Re: Zahl Qquadrieren über Konsole mit MessageBox
[quote="Shaddar"]Is einfach nur so, dass man auh am Anfang des Studium kein Plan davon haben kann. Ich tudiers ja nich weil ichs kann, sondern weil ichs lernen will![/qoute]
Allerdings sollte man schon grundwissen haben. Und selbst wir haben im ersten Jahr (wovon nur ein halbes Jahr mit Delphi gearbeitet wurde!) alle nötigen Grundlagen. Nagut nicht über Konsole, aber das ist nicht so schwer. Wir konnten ein Editfeld positionieren, Strings umwandeln und Ausgaben tätigen (Showmessage). Auch wenn die Lehrerin "unfähig" war, sollte man ein bisschen sich damit auseinandersetzen. MfG xZise |
Re: Zahl Qquadrieren über Konsole mit MessageBox
Ähm, über das Problem hätte ich mich sogar im 4. Schuljahr kaputtgelacht,
wenn gleich ich es damals nur mit Amiga Basic hätte lösen können. Und du must Dir follgendes erarbeiten: Delphi Buch kaufen!!! Oder aus der Unibibliothek ausleihen(in der Regel sind die anderen immer schneller...studieren kost eben Geld) Im Script oder in der Delphi Hilfe(?->Hilfe->Index) folgende Anweisungen nachschlagen und verstehen. WriteLn (System.Readln) Schreibt eine Zeile in STDOUT (Konsolenausgabe) ReadLn (System.ReadLn) Liest eine Zeile aus STDIN (Konsoleneingabe) ShowMessage (Dialogs.Showmesssage) zur Ausgabe val (System.val) wandelt eine Zeichenkette in eine Zahl um, ohne das eine Exception aufkommt wird (Fehlercode überprüfen) StrToInt Kapselt Val und wirft mit Exceptions um sich wenn val einen Fehler feststellt. (Exceptions sind nervig aber in der Informatik absolut angesagt) var (danach folgt ein Deklarationsblock) Variblen werden "angemeldet" Name:Typ; Du brauchst eine vom TYP "Integer". Gib das in die delphi hilfe ein. Und einer vom Typ String (Zeichenkette) zum einlesen des Wertes Arithmetik der "*" ohne Anführungszeichen ist ein in Infixnotation zu gebrauchender Multiplikationsoperator. ":=" ohne Anführungszeichen ist eine Wertzuweisung halt wie das := in der Mathematik. "=" ist ein Vergleichsoperator der ein boolsches Ergebnis zurrück liefert. Beispiel:
Delphi-Quellcode:
//a,c sind integer Variablen
a := 5; c := a*a; // enthält jetzt das Quadrat von a |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 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