AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia problem beim zeichnen nach öffnen der datei

problem beim zeichnen nach öffnen der datei

Ein Thema von punker-lili · begonnen am 3. Jun 2007 · letzter Beitrag vom 3. Jun 2007
Antwort Antwort
punker-lili

Registriert seit: 22. Apr 2007
91 Beiträge
 
#1

problem beim zeichnen nach öffnen der datei

  Alt 3. Jun 2007, 17:26
Ich habe ein Programm geschrieben, welches eine Sinuskurve zeichnet.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  ko:=0;
  repeat
    with image1.canvas do begin
      Pen.Width:=1;
      Pen.Color:=clwhite;
      moveto(0,ko);
      Lineto(image1.Width,ko);
    end;
    ko:=ko+1;
  until ko=image1.Height;
  for i:=1 to 7 do
    if StringGrid1.Cells[1,i]='then
       if i=6 then
        StringGrid1.Cells[1,i]:='N'
       else StringGrid1.Cells[1,i]:='0';


  ks:=StringGrid1.Cells[1,1];
  k:=strtofloat(ks);
  k:=k;
  ls:=StringGrid1.Cells[1,2];
  l:=strtofloat(ls);
  l:=l;
  ms:=StringGrid1.Cells[1,3];
  m:=strtofloat(ms);
  m:=m;
  ns:=StringGrid1.Cells[1,4];
  n:=strtofloat(ns);
  n:=n*10;
  os:=StringGrid1.Cells[1,5];
  o:=strtofloat(os);
  with image1.canvas do begin
    pen.Color:=clblack;
    MoveTo(0,image1.Height div 2);
    LineTo(image1.Width,image1.Height div 2);
    MoveTo(33,0);
    LineTo(33,image1.Height);
  end;
  x:=1;
  a:=image1.Height div 2;
  repeat
    with image1.canvas do begin
      moveto (x,a);
      y:=(10*l*SIN(0.1*k*x+m))-n+image1.Height div 2;
      x:=x+1;
      a:=trunc(y);
      LineTo(x,a);
    end;

  until x=500;
  image1.Canvas.MoveTo(0,image1.Height div 2);
  image1.Canvas.lineto(image1.Width,image1.Height div 2);
  s:=floattostr(pi);
  StringGrid1.Cells[1,5]:=s;


end;
Das ist bloß eingrober entwurf...
Nun habe ich passend dazu ein Speichern und Öffnen Funktion geschrieben, welche den Inhalt des Stringgrids speichern bzw.öffnen soll.
Delphi-Quellcode:
procedure TForm1.ffnen1Click(Sender: TObject);
var
  F: TStringList;
  i,j: Integer;
  h: string;
begin
  if not opendialog1.execute then exit;
  F := TStringList.Create;
  with StringGrid1 do
   try
   begin
      F.LoadFromFile(OpenDialog1.FileName);
      RowCount := StrToInt(F[0]); // Zeilen
      ColCount := StrToInt(F[1]); // Spalten
      Edit1.Text := F[1];
      Edit2.Text := F[0];
      for i := 0 to (RowCount - 1) do // Zeilen M1
        Rows[i].CommaText := F[i+2];
   end;
    finally
        FreeAndNil(F);
end;
end;
procedure TForm1.Speichern1Click(Sender: TObject);
var F: TStringList; // File of StringList
    i: Integer;
begin
  if not saveDialog1.execute then exit;
  F := TStringList.Create; // Objekt erzeugen
        try
          with Form1.StringGrid1 do
          begin

              F.Add(IntToStr(RowCount)); // Zeilenzahl M1 merken
              F.Add(IntToStr(ColCount)); // Spaltenzahl M1 merken
              for i := 0 to (RowCount - 1) do // M1 zeilenweise
                F.Add(Rows[i].CommaText); // Zeile als ein durch , getr.Str.
              F.SaveToFile(savedialog1.FileName); // Str.List speichern
              sicher:=true;
          end;
  finally
    FreeAndNil(F)

end;
end;
wenn ich nun den Inhalt des Stringgrids über diese Funktion speichere und dann wieder öffne, zeigt er mir zwar die gepeicherten Werte im StringGrid an, aber wenn er die dazugehörige Funktion zeichnen soll kommt folgende Fehlermeldung "'' is not a valid floating point value".
Wie kann ich das beheben?
Wo liegt der Fehler?

Danke schonal im vorraus...Anna
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: problem beim zeichnen nach öffnen der datei

  Alt 3. Jun 2007, 17:41
Der Fehler sagt doch schon alles. Der Text '' ist nunmal keine Zahl.

Ersetze

StrToInt(F[0]) durch

StrToIntDef(F[0], 0) dann klappts auch mit leeren Strings.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
punker-lili

Registriert seit: 22. Apr 2007
91 Beiträge
 
#3

Re: problem beim zeichnen nach öffnen der datei

  Alt 3. Jun 2007, 19:23
danke!
  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 17:07 Uhr.
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