Autor Beitrag
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Do 24.12.09 03:26 
Hi :)

Das will sich mir auch gerade nicht bis ins letzte Dateil erschließen :gruebel: die Position ist eindimensional angegeben, das heißt man erreicht so wohl kaum eine Ausgabe über mehrere Zeilen, oder? =)

Was fak1 und fak2 anbelangt, so sind es beides Variablen, die die Position festlegen. Sie sind damit doch von einander abhängig und können nicht beide frei gewählt werden.

Meine Deutung: fak1 sollte sich auf die x-Koordinate beziehen, fak2 auf die y-Koordinate. Tut es aber nach dem Quelltext so nicht.

mfG,

PS: Wir können dir ja nicht einfach den Quelltext geben, deshalb ist Pseudocode hier wahrscheinlich das meißte, was du bekommst. Das mag etwas schwer erscheinen wenn du das Arbeiten mit Schleifen, etc., nicht gewohnt bist. Dann musst du leider manchmal ein wenig knobeln ;)

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Sylvus
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 195



BeitragVerfasst: Do 24.12.09 14:48 
der quellcode funktioniert so nicht, kann ja mal eben einen richtigen schreiben.
Ich hab mich nur um die X-Verschiebung gemacht, Y-Richtung hab ich mal vorrausgesetzt. Es war ja ein PseudoCode!
Außerdem ist deine Einstellung falsch, nur weil deine Zeit abgelaufen ist, kann man es trotzdem noch fertig machen, oder????


Grüße
Sylvus

P.S. ich schreib gleich mal den ganzen Code

So Leute, nur für euch der komplette Code:

ausblenden volle Höhe 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:
36:
37:
38:
39:
40:
var
  Form1: TForm1;
  max,Y:integer;

implementation

{$R *.dfm}

procedure zeichneBaelle(anz:integer);
var
position,I,fak1,fak2:integer;

begin
if anz<>0 then begin

fak1:=strtoint(form1.Edit1.Text);
fak2:=strtoint(form1.Edit2.Text);

//suche dir fak1 und fak2 so aus, dass es schön aussieht
position:=(max - anz)*fak1;

  for I:=1 to anz do begin
    Form1.Image1.Canvas.TextOut(position+10,Y,'*');
    position:=position+fak2;
  end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 I:integer;
begin
Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);
max:=strtoint(Edit3.Text);
Y:=10;
for I:=0-max to max do   begin
   zeichneBaelle(abs(I));
   Inc(Y,10);
end;
end;



Und das ganze sieht dann mit verschiedenen fak1 und fak2 so aus, wie im Anhang :)
Wenn du die gerade haben möchtest, empfehle ich dir die Werte 5 und 10!

Bis dann
Einloggen, um Attachments anzusehen!