![]() |
readln in delphi ohne Konsolenanwendung?
wie kann man im delphi ein readln realisieren, ohne dabei die konsolenanwendung zu verwenden?
Ich wollte nämlich folgendes machen: ein edit und ein memo. im edit gibt man den text ein, wenn man enter drückt, wird der meim memo hinzugefügt wie könnt ich da ein readln machen? |
Re: readln in delphi ohne Konsolenanwendung?
Moin Illuminator,
frag' doch einfach im OnKeyDown oder OnKeyUp des Edits ab, ob VK_RETURN gedrückt wurde. Wenn ja, fügst Du den Inhalt des Edits dem Memo hinzu. |
Re: readln in delphi ohne Konsolenanwendung?
Hi,
Delphi-Quellcode:
Memo1.Text := Memo1.Text + Edit1.Text;
|
Re: readln in delphi ohne Konsolenanwendung?
das hab ich mir auch schon gedacht, aber wie mach ich dann, wenn ich mehrere sachen hintereinander einlesen muss?
z.B.: Ich geb einen befehl ein, Messagebox z.B. die verlangt 4 parameter mit readln könnte ich schreiben readln(par1); readln(par2); ... wie mach ich das mit onKeyDown/-Up? |
Re: readln in delphi ohne Konsolenanwendung?
MessageBox, Parameter?! :cyclops: :shock:
|
Re: readln in delphi ohne Konsolenanwendung?
Ich sehe auch, daß das Problem anders gelöst werden muß. Aber ich wollte noch sagen, daß readln nichts mit einer Konsolenanwendung zu tun hat :!:
|
Re: readln in delphi ohne Konsolenanwendung?
Zitat:
|
Re: readln in delphi ohne Konsolenanwendung?
Man kann ja aus Files mit ReadLn lesen, das sehe ich noch ein, aber den Text eines Edits, in ein Memo laden, mit ReadLn? :cyclops:
|
Re: readln in delphi ohne Konsolenanwendung?
Man könnte ja STDIN auf den Text des Edits umbiegen und dann mit ReadLn lesen :wink:
Wär nur ziemlich sinnlos. |
Re: readln in delphi ohne Konsolenanwendung?
Moin Illuminator,
:shock: :gruebel: könnstest Du vielleicht mal kurz beschreiben, was Du eigentlich vor hast? Ich komm' da nicht mehr so ganz mit. @Daniel: wenn schon dann:
Delphi-Quellcode:
Bei Deiner Variante fehlen zum einen die Zeilenvorschübe, und zum anderen wird es mit der Zeit ein Performancekiller, weil Memo1.Lines.Text bei jedem Schreibzugriff erst einmal wieder auf die Zeilen verteilt werden muss.
Memo1.Lines.Add(Edit1.Text);
|
Re: readln in delphi ohne Konsolenanwendung?
ich möchte ein prog machen, das ähnlich wie die MS Eingabeaufforderung ist, nur dass ein teil des forms eben für die eingabe zuständig ist und in einem anderen ein paar grafische sachen
(wegen dem 2. habe ich keine konsolenanwendung genommen) am ende sollte es ca. so aussehen: ich tippe einen befehl ein das programm fragt nach der reihe die parameter ab, die ich eingebe sobald ich alle parameter eingegeben habe, wird der befehl ausgeführt und es wird etwas im grafik-bereich gezeichnet |
Re: readln in delphi ohne Konsolenanwendung?
Oh je, was herrscht hier ein Durcheinander. 8) Ich halte mich an den Titel.
@Chewie: der Name Konsolenanwendung kommt nur indirekt von der Tastatur. Damit ist aber MS-DOS (-Eingabeaufforderung) gemeint, wo die Befehle nicht mit der Maus in der Windows-Oberfläche angeclickt sondern von Hand eingetippt werden. Und mal ein Beispiel: ich habe 50 MB Daten in Interbase reinziehen müssen. Diese habe ich erst mal alle in diverse Textdateien verfrachtet. Und dann in einem normalen Delphi-Programm mit Start-Button etc. in die DB reingeschaufelt. Und zwar schön brav, Zeile für Zeile mit readln ausgelesen. @Mods: Sonst seid ihr immer schnell dabei: "Titel ändern" :warn: und jetzt macht ihr munter mit. :mrgreen: |
Re: readln in delphi ohne Konsolenanwendung?
Moin Illuminator,
dann brauchst Du ja nicht der Reihe nach mehrfach abzufragen, sondern Du benutzt ein Edit als Eingabezeile, und merkst Dir die eingegebenen Befehle bis alle zusammen sind, die für die Verarbeitung erforderlich sind, obwohl es vielleicht sinnvoller wäre das eine Eingabe einen komplett verarbeitbaren Befehl enthält. Dazu müsstest Du dann allerdings wohl eine komplexere Eingabe parsen. |
Re: readln in delphi ohne Konsolenanwendung?
Moin Hansa,
Zitat:
|
Re: readln in delphi ohne Konsolenanwendung?
Auch auf die Gefahr hin jetzt OT zu sein:
@ Hansa: Eine Konsolenanwendung ist einfach eine Anwendung, die einen Input (STDIN = StandardInput) und einen Output (STDOUT = StandardOutput) hat. Welches Gerät welchen Part übernimmt, spielt keine Rolle. Das Programm kann selbstständig Output ausgeben, auf Input warten oder auch auf Input reagieren. Wenn du mit ReadLn auf eine Textdatei zugreifst, ist es quasi dasselbe, als wenn die Textdatei als STDIN dienen würde. Deshalb kann man die Read/Write-Funktionen sowohl in der Konsole als auch für Dateien verwenden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 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-2025 by Thomas Breitkreuz