AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Hinweise


Brauche Hilfe zur Abfrage

Ein Thema von morpheus090682 · begonnen am 4. Feb 2010 · letzter Beitrag vom 10. Feb 2010
Antwort Antwort
Seite 4 von 5   « Erste     234 5   
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.601 Beiträge
 
Delphi 10.4 Sydney
 
#31

Re: Brauche Hilfe zur Abfrage

  Alt 9. Feb 2010, 21:07
Zitat von morpheus090682:
Die datei binde ich von ihm ein so habe ich das verstanden aber wie greife ich dann
darauf zu?
Auch das ist im Thread beschrieben
[/quote]Und wie mache ich aus den Werten ein Kordinatensystem?[/quote]
Willst du aus den Werten ein Koordinatensystem machen oder diese in einem darstellen?
Zeichnen könntest du auf einem Canvas z.B. einer Paintbox
Markus Kinzler
  Mit Zitat antworten Zitat
morpheus090682

Registriert seit: 5. Dez 2009
Ort: Blomberg
43 Beiträge
 
Delphi 7 Enterprise
 
#32

Re: Brauche Hilfe zur Abfrage

  Alt 9. Feb 2010, 21:09
Oh sorry eins Zeichnen natürlich!!!

Wie geht das aber??? ""Zeichnen könntest du auf einem Canvas z.B. einer Paintbox""
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#33

Re: Brauche Hilfe zur Abfrage

  Alt 10. Feb 2010, 12:51
Du fügst auf deiner Form eine PaintBox ein (Unter System glaub ich) und dann kannst du die Zeichenbefehle über

PaintBox1.Canvas.Befehl aufrufen.

Beispiel:

1. Temperatur: 20°
2. Temperatur: 30°

Auf der PaintBox hast du ein Koordinatensystem, 0|0 ist oben links.


Temperaturspanne von 0° - 100° (Beispiel)..

Also, Höhe der Paintbox z.B. auf 100 setzen

Da der Graph aber unten anfangen soll, musst du bedenken, dass der tiefste Punkt also 100 als y-Wert hat!

Delphi-Quellcode:
begin

with PaintBox1.Canvas do
begin
     
     MoveTo(1*10,(100-20));
     LineTo(2*10,(100-30));
end;

end;
Liebe Grüße!

Ich häng mal ein Beispiel an, ist mit einer Schleife...
Angehängte Dateien
Dateityp: zip graph_140.zip (2,7 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
morpheus090682

Registriert seit: 5. Dez 2009
Ort: Blomberg
43 Beiträge
 
Delphi 7 Enterprise
 
#34

Re: Brauche Hilfe zur Abfrage

  Alt 10. Feb 2010, 15:05
Zitat von Delphi-Narr:
Du fügst auf deiner Form eine PaintBox ein (Unter System glaub ich) und dann kannst du die Zeichenbefehle über

PaintBox1.Canvas.Befehl aufrufen.

Beispiel:

1. Temperatur: 20°
2. Temperatur: 30°

Auf der PaintBox hast du ein Koordinatensystem, 0|0 ist oben links.


Temperaturspanne von 0° - 100° (Beispiel)..

Also, Höhe der Paintbox z.B. auf 100 setzen

Da der Graph aber unten anfangen soll, musst du bedenken, dass der tiefste Punkt also 100 als y-Wert hat!

Delphi-Quellcode:
begin

with PaintBox1.Canvas do
begin
     
     MoveTo(1*10,(100-20));
     LineTo(2*10,(100-30));
end;

end;
Liebe Grüße!

Ich häng mal ein Beispiel an, ist mit einer Schleife...

Es geht fast leider kommt wenn ich die werte reinladen möchte der fehler 16,5 ist kein integer wert wo muß ich was ändern habe schon versucht mit real aber dann bekomme ich eine andere fehlermeldung
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#35

Re: Brauche Hilfe zur Abfrage

  Alt 10. Feb 2010, 15:11
Hallo,
Du musst 16,5 zu einen Integer-Wert wandeln

z.B. Trunc(16.5) --> ergibt 16 (den Vorkommateil)
oder Round(16.5) --> ergibt 17 (gerundeter Wert)



beim Laden :
 Trunc(StrToFloat(dein geladener Wert als String)) ergibt einen Integer-Wert durch Abschneiden der Nachkommastellen
aus einem String (der einen Fließkommawert darstellt)

 Round(StrToFloat(dein geladener Wert als String)) ergibt einen Integer-Wert durch Runden
aus einem String (der einen Fließkommawert darstellt)
Markus H.
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#36

Re: Brauche Hilfe zur Abfrage

  Alt 10. Feb 2010, 15:14
Vieleicht solltest du dir auch erstmal dies anschauen Klick mich
Blackheart
  Mit Zitat antworten Zitat
morpheus090682

Registriert seit: 5. Dez 2009
Ort: Blomberg
43 Beiträge
 
Delphi 7 Enterprise
 
#37

Re: Brauche Hilfe zur Abfrage

  Alt 10. Feb 2010, 15:33
Ich möchte aber gerne die Komma mit nehmen.
  Mit Zitat antworten Zitat
morpheus090682

Registriert seit: 5. Dez 2009
Ort: Blomberg
43 Beiträge
 
Delphi 7 Enterprise
 
#38

Re: Brauche Hilfe zur Abfrage

  Alt 10. Feb 2010, 16:14
Delphi-Quellcode:
unit Kurve;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    PaintBox1: TPaintBox;
    ListBox1: TListBox;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

uses csCSV;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
Var
  csvReader : TCSVReader;
  sData : TFileStream;
  i : integer;

Begin
  sData := TFileStream.Create('H:\Werte.CSV',fmOpenRead);
  csvReader := TCSVReader.Create (sData, ';');
  csvReader.First; // Nach Änderung auf Veranlassung von Grenzgaenger nun notwendig. Dank an 'deadcandance'
  Try
    While not csvReader.Eof Do Begin
      For i:=0 to csvReader.ColumnCount - 1 Do
        ListBox1.Items.Add (csvReader.Columns[i]);
      csvReader.Next;
    End;
  Finally
    csvReader.Free;
    sData.Free;
  End;
End;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
     for i:=0 to Listbox1.items.Count-1 do
     begin
          with Paintbox1.Canvas do
          begin
          if i=0 then MoveTo(((i+1)*30),(500-(StrToInt(ListBox1.Items.Strings[i])*5)));
          if i>0 then LineTo(((i+1)*30),(500-(StrToInt(ListBox1.Items.Strings[i])*5)));
          end;
     end;
end;

end.
So sieht das zur Zeit aus aber wenn ich die Kurve Zeichnen möchte sagt er halt den Fehler.
Was muß geändert werden damit ich auch die Komma werte benutzen kann.
Oder wo müßte Truc hin und wie muss Truc als Befehl aussehen
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#39

Re: Brauche Hilfe zur Abfrage

  Alt 10. Feb 2010, 16:30
Pushen erst nach 24 Stunden erlaubt
Trunc
Round
Data Types
und Crashkurs anschauen.
Blackheart
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
1.239 Beiträge
 
Delphi 2007 Professional
 
#40

Re: Brauche Hilfe zur Abfrage

  Alt 10. Feb 2010, 16:49
Wenn deine Werte in einem bestimmten Bereich z.B. 0,0 .. 99,0°C liegen und du diese auf Bildpunkte von 0..500 abbilden möchtest, müssen die Werte auf diesen Bereich erweitert werden.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  Temperatur: Double;
  i, x, y: Integer;
begin
  for i := 0 to Listbox1.Items.Count - 1 do
  begin
    x := (i + 1) * 30;
    Temperatur := StrToFloat(ListBox1.Items.Strings[i]); // Kommazahl
    y := 500 - Round(Temperatur * 5); // um den Faktor 5 zoomen, dann umwandeln in Ganzzahl
    
    with Paintbox1.Canvas do
    begin
      if i=0 then
        MoveTo(x, y)
      else
        LineTo(x, y);
    end;
  end;
end;
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf