Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Tutorial für Konsolenanwendungen? (https://www.delphipraxis.net/34759-tutorial-fuer-konsolenanwendungen.html)

malo 27. Nov 2004 21:48


Tutorial für Konsolenanwendungen?
 
Ich will mich ja in allen Bereichen von Delphi auskennen, deshalb auch in Konsolenanwendungen. Ich hab schon an allen Ecken und Enden was davon gehört und möchte deshalb mal lernen eine Konsolenanwendung zu schreiben. Doch trotz allen Suchens, hab ich kein Tutorial gefunden. Kann mir vielleicht einer einen Link zu ein Tutorial für Konsolenanwendungen geben? Ich wär sehr dankbar :)

Luckie 27. Nov 2004 21:52

Re: Tutorial für Konsolenanwendungen?
 
Wozu Tutorial? Ausgaben in der Konsole mit Delphi-Referenz durchsuchenWriteln, Eingaben mit Delphi-Referenz durchsuchenReadln. Das war es schon.

Nicodius 27. Nov 2004 21:57

Re: Tutorial für Konsolenanwendungen?
 
lol :lol:

... :mrgreen:

malo 27. Nov 2004 22:17

Re: Tutorial für Konsolenanwendungen?
 
@Nico: was gibts da zu lachen? Oo


@Topic: Die OH spuckt mir zu WriteIn und ReadIn nichts aus und irgendwie hab ich immer noch nicht kapiert, wie man eine Konsolenanwendung schreibt :(

Luckie 27. Nov 2004 22:18

Re: Tutorial für Konsolenanwendungen?
 
Der vorletzte Buchstabe ist jeweil ein L!!!

Datei -> neu -> weitere -> Konsolenanwendung.

Nicodius 27. Nov 2004 22:20

Re: Tutorial für Konsolenanwendungen?
 
aber wie luckie schon gesagt hat Delphi-Referenz durchsuchenDelphi Online Hilfe schauen oder hier suchen!

malo 27. Nov 2004 22:36

Re: Tutorial für Konsolenanwendungen?
 
Zitat:

Zitat von Nicodius
aber wie luckie schon gesagt hat Delphi-Referenz durchsuchenDelphi Online Hilfe schauen oder hier suchen!

Was glaubst du, was ich die ganze Zeit mache? :wall:

Es wird doch wohl mehr Befehle für Konsolenanwendungen geben, als Writeln und Readln. Und genau die will ich kennen lernen, da Konsolenanwendungen teilweise garantiert andere Befehle gibt, als normale Anwendungen. Deshalb will ich ja auch ein Tutorial, um genau diese Befehle alle kennen zu lernen!

Luckie 27. Nov 2004 22:37

Re: Tutorial für Konsolenanwendungen?
 
Was für Befehle / Funktionen soll es denn geben? Du brauichts doch nur was zur Ein- und Ausgabe.

malo 27. Nov 2004 22:45

Re: Tutorial für Konsolenanwendungen?
 
Zitat:

Zitat von Luckie
Was für Befehle / Funktionen soll es denn geben? Du brauichts doch nur was zur Ein- und Ausgabe.

Irgendwas, was die Komponenten ersetzt, die es bei Konsolenanwendungen ja nicht gibt. Wenn ich Beispielsweise 'nen Timer "ersetzen" will. Beispielsweise ein "Zählprogramm", das eine Zahl sekündlich hochzählt.

Und auch wenn das auch mit Writeln und Readln geht, würde ich gerne lernen, wie man richtig damit umgeht. Deshalb suche ich ein Tutorial dafür ;)

glkgereon 27. Nov 2004 22:57

Re: Tutorial für Konsolenanwendungen?
 
dann nimmst du TTImer und gucst in der oh unter TTimer nach in was für ner unit das steht du tust die unit in die uses-klausel rein

bis auch die ein/ausgabe isses EXAKT dasselbe

nur musst du halt alle kompos dynamisch erstellen...

Luckie 27. Nov 2004 23:01

Re: Tutorial für Konsolenanwendungen?
 
Und ein Timer in der Konsole geht so:
Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  ExtCtrls,
  Classes;

type
  PMethodPointer = ^TMethodPointer;
  TMethodPointer = packed record
    pMethod: Pointer;
    pObject: TObject;
  end;

var
  T: TTimer;
  p: TMethodPointer;
  i: Integer;

procedure NotifyEvent(Self: TMethodPointer; Sender: TObject);
begin
  writeln('yes');
  beep;
end;

begin
  T := TTimer.Create(nil);
  T.Interval := 200; // -> löst alle 200 ms das OnTimer-Event aus
  try
    p.pMethod := @NotifyEvent;
    p.pObject := nil;
    T.OnTimer := TNotifyEvent(p);

    T.Enabled := true; // aktiviert den Timer
    writeln('Warte auf Event: ');
    for i := 1 to 5 do begin
      sleep(500);
      writeln('warte ' + inttostr(i*500) + 'ms...');
      NotifyEvent(p, T);
    end;
    T.Enabled := false; // deaktiviert den Timer
  finally
    T.Free;
  end;
end.
Entsprechen für alle anderen Komponenten mit Ereignissen.

Nicodius 27. Nov 2004 23:02

Re: Tutorial für Konsolenanwendungen?
 
:roll: .. unit für timer ist wenn ich mich nicht irre ExtCtrls oder?


/edit edit :mrgreen:

malo 27. Nov 2004 23:06

Re: Tutorial für Konsolenanwendungen?
 
Mh... gut, ich werd mich später drum kümmern (morgen kann ich ja nich sagen, ist ja schon der nächste morgen :) ). Demnach: Guten morgen und gute Nacht, ich geh nämlich jetzt schlafen. Danke schonmal für die Antworten! :thumb:

malo 28. Nov 2004 09:28

Re: Tutorial für Konsolenanwendungen?
 
Mein dummer Compiler gibt mir folgende Fehlermeldung
[Fehler] Project2.dpr(39): Undefinierter Bezeichner: 'sleep'


Was zu tun? :gruebel:

mirage228 28. Nov 2004 09:41

Re: Tutorial für Konsolenanwendungen?
 
Zitat:

Zitat von malo
Mein dummer Compiler gibt mir folgende Fehlermeldung
[Fehler] Project2.dpr(39): Undefinierter Bezeichner: 'sleep'


Was zu tun? :gruebel:

Du könntest mal in Deine OH schauen, da steht drin welche Unit von sleep gebraucht wird :roll:

mfG
mirage228

malo 28. Nov 2004 09:59

Re: Tutorial für Konsolenanwendungen?
 
Zitat:

Zitat von mirage228
Zitat:

Zitat von malo
Mein dummer Compiler gibt mir folgende Fehlermeldung
[Fehler] Project2.dpr(39): Undefinierter Bezeichner: 'sleep'


Was zu tun? :gruebel:

Du könntest mal in Deine OH schauen, da steht drin welche Unit von sleep gebraucht wird :roll:

mfG
mirage228

Und wenn da nix steht? :roll:

fkerber 28. Nov 2004 10:36

Re: Tutorial für Konsolenanwendungen?
 
Hi!

Sleep ist in der Unit SysUtils.


Ciao Frederic

malo 28. Nov 2004 10:38

Re: Tutorial für Konsolenanwendungen?
 
Zitat:

Zitat von fkerber
Hi!

Sleep ist in der Unit SysUtils.


Ciao Frederic

Die ist ja schon drin. Geht trotzdem nicht :roll:

fkerber 28. Nov 2004 10:40

Re: Tutorial für Konsolenanwendungen?
 
Hi!

Was heißt es geht nicht?
Was für Fehler kommen? Falls der oben beschriebene kommt: das kan an sich nicht sein, wenn du SysUtils eingebunden hast.


Ciao Frederic

malo 28. Nov 2004 10:48

Re: Tutorial für Konsolenanwendungen?
 
Zitat:

Zitat von fkerber
Hi!

Was heißt es geht nicht?
Was für Fehler kommen? Falls der oben beschriebene kommt: das kan an sich nicht sein, wenn du SysUtils eingebunden hast.


Ciao Frederic

Dann muss wohl mein Delphi verbuggt sein. Aber ich bin mir 100%ig sicher, dass genau diese Fehlermeldung kommt, obwohl SysUtils eingebunden ist :gruebel:

Chewie 28. Nov 2004 10:58

Re: Tutorial für Konsolenanwendungen?
 
Sleep ist in Windows drin :roll:

mirage228 28. Nov 2004 11:30

Re: Tutorial für Konsolenanwendungen?
 
Zitat:

Zitat von Chewie
Sleep ist in Windows drin :roll:

Nein,

Sleep ist auch in der SysUtils! (Delphi 7 Professional)

Delphi-Quellcode:
{$IFDEF MSWINDOWS}
procedure Sleep; external kernel32 name 'Sleep'; stdcall;
{$ENDIF}
{$IFDEF LINUX}
procedure Sleep(milliseconds: Cardinal);
begin
  usleep(milliseconds * 1000); // usleep is in microseconds
end;
{$ENDIF}
mfG
mirage228

Chewie 28. Nov 2004 11:47

Re: Tutorial für Konsolenanwendungen?
 
OK, in Delphi7 ist das wohl so. Dort wird ja, wie man sieht, Sleep eingebunden abhängig vom Betriebssystem. Bei Delphi5 gabs ja nur Windows, also gibts das dort in den Sysutils nicht. In Windows ist es ohnehin drin.

glkgereon 28. Nov 2004 11:49

Re: Tutorial für Konsolenanwendungen?
 
kloppt euch net...

binde einfach mal beide ein ;)

delphifan2004 30. Nov 2004 17:44

Re: Tutorial für Konsolenanwendungen?
 
Hallo,

Du brauchst für Dein Vorhaben nur Dein normales Delphi Handbuch oder ein Buch über die Sprache Pascal. Außer den visuellen Komponenten dürfte alles funktionieren. Auch Collections, Inifiles, Listen TStrings usw. Und auch die Umwandlungsfunktionen IntToStr, StrToInt....
Nur die visuellen Teile gehen halt nicht.

mfg.

delphifan2004http://www.delphipraxis.net/posting.php?mode=iframe&sid=8c134ad70dcb01f113b493 68ac33bd37


Alle Zeitangaben in WEZ +1. Es ist jetzt 04: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-2025 by Thomas Breitkreuz