Darstellung einer Archimedischen Spirale



  • //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #include <stdio.h>
    #pragma hdrstop
    #include "Unit1.h"
    #include "Unit2.h"
    #include "Unit3.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    
    extern char *cncString;
    TForm3 *Form3;
    //---------------------------------------------------------------------------
    __fastcall TForm3::TForm3(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm3::Button1Click(TObject *Sender)
    {
    Form3->Close();
    }
    
    //---------------------------------------------------------------------------
    
    void __fastcall TForm3::Button2Click(TObject *Sender)
    
    {
      char *grafik;
     float z_x,z_y;
      grafik=cncString;
       ListBox1->Canvas->Pen->Color=clBlack;
     //ListBox1->Canvas->Rectangle(2,2,200,200);
     ListBox1->Canvas->MoveTo(0,100);
     ListBox1->Canvas->LineTo(200,100);
     ListBox1->Canvas->MoveTo(100,0);
     ListBox1->Canvas->LineTo(100,200);
     ListBox1->Canvas->Pen->Color=clRed;
     ListBox1->Canvas->MoveTo(100,100);
    
     while (*grafik)
     { if (*grafik=='x')
        {grafik++;
        z_x=atof(grafik);
        }
     { if (*grafik=='y')
        {grafik++;
        z_y=atof(grafik);
        ListBox1->Canvas->LineTo(200+z_x,200-z_y);
        }
       grafik++;
     }
     }
    }
    
    //---------------------------------------------------------------------------
    
    void __fastcall TForm3::FormCreate(TObject *Sender)
    {
    Memo1->Clear();
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm3::Button3Click(TObject *Sender)
    {
    Memo1->Text=cncString;
    }
    //---------------------------------------------------------------------------
    

    Hab da ein Problem die Punkte werden auf einem externen Form berechnet. Aber irgendwie wird die Grafik nicht dargestellt. Ich bekomme immer nur eine weiße Listbox mit dem Fadenkreuz. Nur die Kurve wird nicht gezeichnet. Warum??? An was liegt das??? Was hab ich vergessen?

    Edit:
    Bitte die Code-Tags benutzen. Danke!



  • Hallo,
    sieht mir nicht wie ein Standard-C++ Problem aus.

    -> VCL



  • Hm weiß den keiner Bescheid



  • Was steht denn in deinem cncString drin?

    Wenn ich z.B. "x10y20x5y1" reinschreibe, klappt das wunderbar...



  • *huscht* äh, irgendwie sagt mir dein Quelltext, dass du noch selten mit dem Debugger gearbeitet hast, hm? Ich würde mal empfehlen, deine Klammersetz-/Einrück-Strategie zu überdenken...

    -junix



  • junix schrieb:

    *huscht* äh, irgendwie sagt mir dein Quelltext, dass du noch selten mit dem Debugger gearbeitet hast, hm? Ich würde mal empfehlen, deine Klammersetz-/Einrück-Strategie zu überdenken...

    -junix

    Ok aehm da sind zuviele Klammern das hab ich auch gesehen die sind nun weg aber an dem kann das ja nicht liegen oder? Ich denke mal daß das mit dem auslesen des Strings nicht richtig klappt... Aber ich hab echt keine Ahnung wie ich das noch anders schreiben soll. Ich probiers mal heute Mittag nochmal jetzt muß ich in die Schule.



  • ich weiss nicht warum nix gezeichnet wird, aber, warum zum T***** zeichnest du in einer ListBox??



  • war nur ne laune von mir das ich in einer listbox zeichne *gg* aber in nem image feld funktionierts auch nicht... ich check jetzt mal den string


Anmelden zum Antworten