Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Punkte verbinden! (https://www.delphipraxis.net/2785-punkte-verbinden.html)

Chriss 6. Feb 2003 21:01


Punkte verbinden!
 
Hi @ all
ich bins mal wieder:
:oops:
Ich steh vor folgendem problem:
ich habe in einem memo ca. 30 werte (zwischen 0 und 99), diese möchte ich auf einem festgelegten image bereich eingezeichnet haben, die punkte sollen festgelegt werden und dann nach der reihe miteinander verbunden werden, sodass hinterher eine linie von links nach rechts ensteht!!!!!

Kann mir jemand helfen, habe schon Versuche mit verscheidenen sachen gestartet, alle gescheitert!

Cya

Chriss :coder:

Daniel B 6. Feb 2003 21:20

Hallo,

sind die Werte in der Memo durch irgend welche Sonderzeichen getrennt, oder stehen die einfach so hintereinander?
Woher hast Du die Werte? Liest Du die irgendwo ein?
Und soll jeder Punkt mit jedem verbunden werden? Ich versteh das nicht so ganz mit: "sodass hinterher eine linie von links nach rechts ensteht"

Grüsse, Daniel :hi:

nailor 6. Feb 2003 21:21

schau die mal LineTo und MoveTo von TCanvas an!

Chriss 6. Feb 2003 21:22

schon recht, und wie bekomme ich meine z.B. 50 werte in die x und y punkte?

Daniel B 6. Feb 2003 21:22

Ich verschieb es mal nach Multimedia/Grafik.

Grüsse, Daniel :hi:

nailor 6. Feb 2003 21:24

Genau, beschreib mal die Formatierung von dem Memo, bzw. dem, was drinsteht.

Chriss 7. Feb 2003 05:41

also:

Ich poste einfach mal den Quelltext, vielleicht versteht ihr das dann! Ins Memo werden Zahlen aus einer Datei gelesen:

Code:
unit stat_prog_Unit;
Luckie: Code auf das wesentliche gekürzt.
@Chriss:
  1. Man hat hier im Forum nicht von ungefähr die Möglichkeit Dateien anzuhängen. Anstatt so Ellen lange Codeauszüge zu posten, häng bitte den Code als Datei an.
  2. Der Code war so gut wie gar nicht formatiert und somit so gut wie nicht lesbar und damit unbrauchbar
  3. Wir wollen wissen, wie die Punkte in dem Memo stehen. Meinst du dabei hilft es uns, wenn du uns folgenden Code postest:
    Code:
    //- Programminformationen
    //Werden noch verbessert! Eigenes Form mit Infos sowie Hinweise auf die Webseiten! 
    showmessage ('Programm Directors:' +chr(13)+ '' +chr(13)+ 'Uwe E. Grunenberg' +chr(13)+ 
                 'Cajus Korn' +chr(13)+ 
                 'Christian Rotterdam' +chr(13)+ '' +chr(13)+ 'Version 1.1 b');
  4. Falls dies hier die Stelle, um die es geht:
    Code:
    //- Ins Zahl_Memo einlesen aus angegebener Datei
    zahl_memo.lines.loadfromfile(datei);
    sind wir immer noch so schlau wie vorher.
  5. Also häng die Datei an auch wenn sie nichts bringt. Sinnvoller wäre es die Datei anzuhängen, die die Werte enthält.
Schönen Tag noch.
(Das kommt nicht als PN, damit andere Benutzer nicht immer wieder den gleichen Fehler machen.)

Daniel B 7. Feb 2003 06:51

Moin Chriss,

solch langen Units lieber anhängen, da muss man ja ewigkeiten Scrollen und benutze auch bitte die Delphi-Tags! Danke.
[ delphi]Code, Code[/delphi]

Grüsse, Daniel :hi:

illegal eagle 7. Feb 2003 10:10

Anstatt MoveTo/LineTo kann man die Punkte auch in ein Array of tPoint speichern und dieses Array an Canvas.Polygon übergeben, wenn man eine kreisförmige Figur haben will.

Chriss 7. Feb 2003 12:26

sorry, ich dachte nur, dass könnte vielelicht helfen, evtl. Fehler, die ich vorher gemacht habe und nicht bemerkt habe, als auslöser für weitere probleme sein könnten. ihr müsst mich ja nicht sofort anmachen

Daniel B 7. Feb 2003 15:11

Hi Chriss,
Zitat:

Zitat von Chriss
ihr müsst mich ja nicht sofort anmachen

Nicht doch, das will doch keiner! Nur, Wir verstehen Dich nicht und Du uns nicht! Wir :chat: anneinander vorbei!
Also nochmal!

Du hast eine Liste an Werten in der Memo.
Du möchtest die Punkte auf einem Image zeichnen.
Aber, wir müssen wissen, wie die ganzen Werte in der Memo getrennt sind.
Um mit Canvas zu Zeichnen, muss man aber x und y angeben. Uns ist hier aber nicht Klar, welche Werte für x und welche für y. Daher die Frage wie die Werte den in der Memo getrennt sind.
Ist die erste Zahl für x, die nächste für y, die nächste wieder für x usw., oder wie soll das denn aussehen?
Kann man es sich aussuchen an welchen Stellen erscheinen sollen?

Grüsse, Daniel :hi:

Chriss 7. Feb 2003 15:50

schon gut sorry!

DAS is das problem, ch habe da die Werte und habe jetzt das ganze mit einem Koordinatenkreuz versucht (image)
x und y werte (höchstwerte) sind vorgegeben, bzw. ergeben sich aus den höchstwerten!
die x zeile ist im moment auf 12 stellen festgelegt! d.h. es stehen nur 12 x - werte zur verfügung, also werden die im memo stehenden werte y-werte sein. mein problem:
wie bekomme ich variable y-werte in die canavas funktion (koordinaten)

nailor 7. Feb 2003 16:11

Wie genau sieht di Datei aus?

Delphi-Quellcode:
1|2 2|12 32|3 89|2 1|34 ...
oder
1,2,23,31,5,7,57,75 -- 123,12,32,3,5,1,7,34
oder
1,2 34,43 34,324 34,43 34,75
oder
x=1; y=2 # x=21; y=231 # x=23; y=321
oder
123135434676786986349623165412394 (und immer 2 Stellen für x und y)
zwei,drei ; siebzehn,einundzwanzig ; drei,eins
Wie haben wir uns das vorzustellen?

An sonsten der Reihe nach:
Delphi-Quellcode:
with canvas do
begin
  moveto(x1,y1);
  lineto(x2,y2);
  lineto(x3,y3);
  ...
end;
PS: Der Ursprung ist oben links...

Chriss 7. Feb 2003 16:15

die x koordinate ist mit momentan 1 - 12 vorgegeben!!!!!!!!!!!!!!!!!
und die datei, aus der gelsen und ins memo eingelesen wird sieht so aus:

Code:
1
2
3
5
4
6
7
8
9
...

also habe ich im code folgendes stehen:
Code:

with canvas do
begin
  moveto(1,?);
  lineto(2,?);
  lineto(3,?);
  ...
end;

Luckie 7. Feb 2003 16:25

Gott sei gepriesen. Nach 14 Postings endlich was brauchbares mit dem man arbeiten kann.

Die brauchst nur die Datei zeilenweise auslesen, den Wert den du erhältst in einen Integer verwandeln und als y-Koordinate einsetzen.

Stichworte: Assignfile, reset, readln, eof, while, IntToStr


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 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