Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Das Haus vom Nikolaus Konsolenanwendung (https://www.delphipraxis.net/162394-das-haus-vom-nikolaus-konsolenanwendung.html)

hotkey 20. Aug 2011 20:49

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Was meinst du mit "Auskommentieren" ?

Luckie 20. Aug 2011 20:50

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Die Codezeile in einen Kommentar umwandeln. Alternativ kannst du sie auch löschen. Aber zum Testen kommentiert man sie nur aus, damit man sie nicht noch mal schreiben muss, wenn sie doch im Code bleiben soll.

hotkey 20. Aug 2011 20:53

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Delphi-Quellcode:
program Project2;

uses
  Forms;

{$AppType Console}
var i,j:Integer;
begin
  for i:=1 to 10 do
  begin
    writeln('x');
    readln; // Wenn ich das lösche , funktioniert garnix mehr
    if (i=10) then
    begin
      for j:=1 to 10 do
        write('x');
      read; -> // Wenn ich das lösche , erscheint wieder nur ein x..
    end;
  end;
end.

himitsu 20. Aug 2011 20:59

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Zitat:

Zitat von hotkey (Beitrag 1118368)
Delphi-Quellcode:
// Wenn ich das lösche , funktioniert garnix mehr

Das glaub ich dir nicht.
Vermutlich ist das Programm nur so schnell fertig, daß man es nicht sieht.
Das könnte man aber alles mit dem Debugger prüfen.

Delphi-Quellcode:
program Project2;


{$AppType Console}
var i,j:Integer;
begin
  for i:=1 to 10 do
  begin
    writeln('x');
    if (i=10) then
    begin
      for j:=1 to 10 do
        write('x');
    end;
  end;
  ReadLn;
end.
Wozu ist eigentlich die Unit Forms enthalten?
Ich denke du willst eine Konsolenanwendung und keine VCL-Anwendung erstellen?

hotkey 20. Aug 2011 21:01

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Ich habe doch ne Konsolenanwendung , hab keine VLC-Anwendung , das ist nciht das Problem..

Luckie 20. Aug 2011 21:13

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Willst du einen Beweis?

Luckie 20. Aug 2011 23:39

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Mit einem Fenster ist es wesentlich einfacher:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  case Button1.Tag of
    0: begin
         Canvas.MoveTo(50,600);
         Canvas.LineTo(300,600);
       end;
    1: begin
         Canvas.LineTo(300, 350);
       end;
    2: begin
         Canvas.LineTo(50, 350);
       end;
    3: begin
         Canvas.LineTo(175, 200);
       end;
    4: begin
         Canvas.LineTo(300, 350);
       end;
    5: begin
         Canvas.LineTo(50,600);
       end;
    6: begin
         Canvas.LineTo(50, 350);
       end;
    7: begin
         Canvas.LineTo(300,600);
       end;
  end;
  Button1.Tag := Button1.Tag + 1;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Tag := 0;
end;
Die Lösung ist nicht optimiert, sondern nur mal so schnell in zwei Minuten hingetippt.

Namenloser 21. Aug 2011 00:36

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Luckie, er hat eingangs geschrieben, dass er es als Konsolenanwendung umsetzen muss, das nützt ihm also nix. Informatiklehrer machen teilweise recht seltsame Vorgaben...

ehX 21. Aug 2011 01:16

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Höhö.....

Delphi-Quellcode:

program DasHausVomNikolaus;

{$APPTYPE CONSOLE}

var
  i : Integer ;
  haus : array[0..42] of string = (
'______________X',
'_____________X_X',
'____________X___X',
'___________X_____X',
'__________X_______X',
'_________X_________X',
'________X___________X',
'_______X_____________X',
'______X_______________X',
'_____X_________________X',
'____X___________________X',
'___X_____________________X',
'__X_______________________X',
'_X_________________________X',
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'XX_________________________XX',
'X_X_______________________X_X',
'X__X_____________________X__X',
'X___X___________________X___X',
'X____X_________________X____X',
'X_____X_______________X_____X',
'X______X_____________X______X',
'X_______X___________X_______X',
'X________X_________X________X',
'X_________X_______X_________X',
'X__________X_____X__________X',
'X___________X___X___________X',
'X____________X_X____________X',
'X_____________X_____________X',
'X____________X_X____________X',
'X___________X___X___________X',
'X__________X_____X__________X',
'X_________X_______X_________X',
'X________X_________X________X',
'X_______X___________X_______X',
'X______X_____________X______X',
'X_____X_______________X_____X',
'X____X_________________X____X',
'X___X___________________X___X',
'X__X_____________________X__X',
'X_X_______________________X_X',
'XX_________________________XX',
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
);



begin

for i := 0 to High(Haus) do
    Writeln(Haus[i]);

readln; // Wenn man unbedingt nen Stop braucht...
end.
Vielleicht nicht ganz....im Sinn der Informatiklehrers....aber eine Lösung :lol::lol::lol:
(Unterstriche evtl noch durch Leerzeichen ersetzen, die Leerzeichen hatte es mir hier beim Posten zerschossen :-))

P.S: Ja, ich weiss, es geht auch anders, indem man es "wirklich" programmiert..aber ich würde meinem Infolehrer bei so einer doofen Aufgabe (CMD-Programm...) genau das vorsetzen :-D

Medium 21. Aug 2011 04:26

AW: Das Haus vom Nikolaus Konsolenanwendung
 
Danke Fin! Ich hatte bei der Eingangsfrage schon exakt die selbe Idee, du hast mir dankenswerterweise die Ausformulierung abgenommen :mrgreen:.

Sobald die Diagonalen dazu kommen, wird es eh sonst ... echt doof? Aber weil's so schön blöd ist:

Delphi-Quellcode:
var
  i, k, m, p: Integer;

begin
  k := 13;
  m := 11;
  for i := 0 to 42 do
  begin
    if i<=13 then
    begin
      for p := 0 to k do
        Write(' ');
      Write('x');
      for p := 0 to m-k do
        Write(' ');
      if i>0 then
        Write('x');
      dec(k);
      inc(m);
    end
    else
    if (i=14) or (i=42) then
    begin
      for p := 0 to 28 do
        Write('x');
      k := 0;
      m := 24;
    end
    else
    begin
      Write('x');
      for p := 0 to k-1 do
        Write(' ');
      Write('x');
      for p := 0 to m-k do
        Write(' ');
      if i<>28 then
        Write('x');
      for p := 0 to 23-m do
        Write(' ');
      Write('x');
      if i<28 then
      begin
        inc(k);
        dec(m);
      end
      else
      begin
        dec(k);
        inc(m);
      end;
    end;
    Writeln;
  end;
  Readln;
end.
Ich übe mich ja in Zurückhaltung was Web-Slang angeht, aber WTF? :lol:

Edit: Okay, 2 Schleifen und die Waagerechten dazwischen wären sinniger, hatte mit einem case angefangen. Dann fiel mir ein, dass das vermutlich noch nicht dran war, und davon ist das noch ein Rest. Aber bei der Aufgabe verbietet sich eh jeder ernsthafte Gedanke. Nicht weil so leicht, sondern weil (auch didaktisch) echt daneben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:07 Uhr.
Seite 2 von 5     12 34     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz