Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

Arrays in Delphi
#11

Ja, mach ich. Smile 
Muss mich nur dazu überwinden endlich mal mit dem Referat anzufangen. Big Grin 
Suche heute mal die Zeichfunktion raus (ist ja eigentlich nicht unbedingt erfoderlich, aber nur, dass man sehen kann, dass es ohne Arrays nicht so genau darzustellen ist wie mit, hoffe nur, dass dann später bei der Berechnung der Werte mit Arrays unser langsamer Schulrechner nicht in die Knie geht, wenn der da mal so 10000 Werte berechnen soll Smile  )
Zitieren
#12

Habe jetzt ein Problem in Delphi, würde die Tabelle mit je 3 y-, und x-Werten gern von Delphi zeichnen lassen (das ist dann noch die Methode ohne Arrays, weil's ja nur insgesamt 6 Werte sind zu Demonstrationszwecken, dass man damit noch nicht so genau zeichnen kann) mit einer PaintBox, die bei mir "Zeichnen" heißt und dem Befehl Canvas, habe das ganze jetzt so implementiert:
Code:
procedure TForm2.Button2Click(Sender: TObject);
VAR x1,x2,x3,y1,y2,y3:real;
begin
  x1:=StrToFloat(txtx1.Text);
  x2:=StrToFloat(txtx2.Text);
  x3:=StrToFloat(txtx3.Text);
  y1:=StrToFloat(txty1.Text);
  y2:=StrToFloat(txty2.Text);
  y3:=StrToFloat(txty3.Text);
  a1.Visible:=False;
  Zeichnen.Visible:=True;
  Zeichnen.Canvas.MoveTo(720,352);
  Zeichnen.Canvas.LineTo(x1,y1);  {x,y sind in Delphi irgendwie anders als in der Mathematik, das muss ich mir dann überhaupt nochmal angucken, wenn das Programm mit diesem Code dann starten würde}
  Zeichnen.Canvas.LineTo(x2,y2);
  Zeichnen.Canvas.LineTo(x3,y3);
end;
Bekomme dann aber diese Fehlermeldung: Unit2.pas(93,31) Error: Incompatible type for arg no. 2: Got "Double", expected "LongInt"
Sieht so aus als würde Delphi beim Zeichnen keine Kommazahlen mögen. Aber das muss doch auch mit Kommazahlen gehen!!? Gibt's da ne Möglichkeit das irgendwie umzusetzen oder bin ich jetzt generell falsch? Mal abgesehen davon, dass ich die 6 Variablen auch über ein Array hätte definieren können.
2.Gibt es auch eine Möglichkeit bei einer PaintBox eine x-und y-Achse einblenden zu lassen?
Zitieren
#13

Ich kenne die Paintbox zwar nicht, und meine Delphi-Erfahrungen sind ungefähr 12 Jahre her, aber ich behaupte mal folgendes:

Es macht gar keinen Sinn, einem Zeichnungsbefehl, der pixelweise arbeitet, Kommazahlen zu liefern. Pixel sind nunmal ganzzahlig. Von daher würde ich es mal mit StrToInt versuchen. Dann werden die werte ja automatisch gerundet. Und das müssen sie ja sowieso, da sie ja an das Pixelraster des Bildschirms angepasst werden müssen.
Zitieren
#14

Also mit "StrToInt" anstatt "StrToFloat" ist es nicht getan, sagt mir das Programm.
Gibt's irgendwie ne Möglichkeit, die Floats in Integer umzuwandeln, weil nur mit StrToInt geht's eben nicht, steh grad auf'm Schlauch im Internet find ich auch nichts passendes.
Zitieren
#15

Keine Ahnung. Hab hier kein Delphi. Schau einfach mal nach, was die Zeichnungsfunktion genau haben will. Longint expected stand da ja. Also muss er auch einen Int bekommen. Vielleicht übergibst du die Koordinaten falsch, was auch immer. Das kann ich dir von hier aus leider nicht sagen.
Zitieren


Möglicherweise verwandte Themen…
Thema / Verfasser Antworten Ansichten Letzter Beitrag
Letzter Beitrag von l.m.
06.05.2011 10:34

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste