StringGrid



  • Hallo
    Ich verrate dir nur Punkt 1:

    SG1->Cells[1][3]="12,5652"; //irgendeine Kommazahl (als Ansistring) ins SG1 schreiben
    float z=StrToFloat(SG1->Cells[1][3]);// Wert aus SG1 von AnsiString nach float umwandeln und in die float Variable z schreiben
    

    Dann bekommst Du wenigstens keine sechs...
    ciao



  • Dankeschön!
    Das sieht verständlich aus!
    Wenn ich das richtig verstehe, stehen die beiden Zahlen in den eckigen Klammern einmal für die jew. Spalte und einmal für die jew. Zeile!
    Wenn mir jetzt noch jemand bei Aufgabe 2 und 3 weiterhelfen könnte, wäre ich sehr dankbar! 🙂
    Wenn es nicht anders machbar ist, wird derjenige auch von mir belohnt!



  • darkjulian schrieb:

    Der Lehrer will auch wissen, was man in den einzelnen Zeilen des Quelltextes gemacht hat, wie man darauf gekommen ist!

    Jetzt solltest du wohl dazu schreiben, dass du das aus nem Forum kopiert hast.
    Mal sehn wie du das dann in der Prüfung machst: "Herr Lehrer, ich muß mal kurz ins Forum, damit mir jemand die Lösung vorsagt. Selber kann ich das nämlich nicht, Eigeninitiative hab ich keine und lernen will ich das auch nicht". 👎



  • "Lernen will ich das auch nicht!"
    Das war eine Arbeit, die schon längst wiederbekommen haben!
    Ich soll die berichtigen, wir schreiben zu dem Thema keine Arbeit mehr!
    Und das ich das nicht lernen will, stimmt ja wohl nicht, sonst würde ich hier gar nicht erst im Forum nachfragen! 😉



  • Wenn du etwas lernen wolltest, würdest du Eigeninitiative zeigen, d.h. du würdest z.B. mal die Fragen beantworten die ich in meinem 1. Post geschrieben habe. Aber von dir kam bisher immer nur: "Das kann ich nicht. Das weis ich nicht. Ich will ne fertige Lösung."

    Also wo sind denn nun deine Lösungsansätze? Was genau funktioniert nicht? Kannst du keine Schleifen? Hast du noch nie ein StringGrid gesehen? Kannst du die Grundlagen der Programmierung? Oder war das die 1. Informatikstunde?



  • Also, um ehrlich zu sein:
    Bei den Schleifen fängt es schon an mit meinen Problemen!
    Die Geschichten mit printf, scanf, Konsolenanwendungen wie dem 1. Programm "Hallo Welt" habe ich einigermaßen verstanden!
    Die restl. Grundlagen fehlen mir aber!
    Ab der Grafischen Oberfläche habe ich so gut wie gar nichts mehr verstanden!
    Ich weiß nur, dass man ein Ereignis erzeugen kann, wenn man auf ein Objekt vom Design doppelt drauf klickt, z.B. das OneClick Ereignis!
    Mehr weiß ich leider nicht! 😞



  • Hallo

    darkjulian schrieb:

    Die Geschichten mit printf, scanf, Konsolenanwendungen wie dem 1. Programm "Hallo
    Welt" habe ich einigermaßen verstanden!

    printf und scanf sind schonmal C und nicht C++. Wenn du weiter mit dem Builder inklusive der VCL-GUI arbeiten willst dann solltest du lieber reines C++ lernen und beherrschen.

    Die restl. Grundlagen fehlen mir aber!
    Ab der Grafischen Oberfläche habe ich so gut wie gar nichts mehr verstanden!

    Dann weißt du doch wo du jetzt erstmal anfangen solltest, bei einem modernen C++ Tutorial und einem einfachen Konsolenprogramm.
    TStringGrid gehört jedenfalls nicht zu den Grundlagen sondern setzt Grundlagen voraus. Ohne Verständnis für z.B. OOP wirst du nicht weit kommen.

    bis bald
    akari



  • Das sind meine bisherigen Versuche:

    zu 2. for (int y; y<0; y++)
    {
    cells --> CoolCount;
    cells = true;
    y = C1+C2+C3+C4+C5+C6;
    }

    zu 3. for (int b --> SG1; b<0; b++)
    {
    Cells = true;
    Sleep (100) ;
    Summe = keine Ahnung was da hinkommt
    for (int a --> SG1; a<0; a++)
    {

    Ich habe wirklich kein Plan, wie ich bei den Aufgaben überhaupt beginnen soll, was ich hinschreiben soll und wies weitergeht....
    für weitere Hilfe / Lösungsvorschläge wäre ich sehr dankbar!



  • zu 2.

    //Die Integer y in der alles addiert werden soll
       int y=0;
       //Schleife um durch die Rows zu iterieren
       for (int ypos=0;ypos<StringGrid1->RowCount;ypos++)
       {
          //Schleife um durch die Cols zu iterieren
          for(int xpos=0;xpos<StringGrid1->ColCount;xpos++)
          {
             //Zellinhalt zusammenzählen
             //StrToIntDef damit Zellen ohne Inhalt bzw. mit 'integerfremden Inhalt' keine
             //Exception auslösen. Sonst würde auch StrToInt reichen
             y+=StrToIntDef(StringGrid1->Cells [xpos][ypos], 0);
          }
       }
    

    zu 3.

    int countgrid(TStringGrid *SG1)
    {
       //Die Integer y in der alles addiert werden soll
       int y=0;
       //Schleife um durch die Rows zu iterieren
       //Bei 1 anfangen und um 2 incrementieren
       for (int ypos=1;ypos<SG1->RowCount;ypos+=2)
       {
          //Schleife um durch die Cols zu iterieren
          for(int xpos=0;xpos<SG1->ColCount;xpos++)
          {
             //Zellinhalt zusammenzählen
             //StrToIntDef damit Zellen ohne Inhalt bzw. mit 'integerfremden Inhalt' keine
             //Exception auslösen. Sonst würde auch StrToInt reichen
             y+=StrToIntDef(SG1->Cells [xpos][ypos], 0);
          }
       }
       return y;
    }
    
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
       int y = countgrid(StringGrid1);
    }
    


  • OffTopic-Gelaber gelöscht.



  • Vielen, vielen Dank!
    Ich habe noch eine Aufgabe, für die benötigt man aber den C++ Builder!
    Handelt sich um eine EXE-Datei!
    Bei Interesse einfach hier oder unter ICQ 337-015-045 melden! 🙂 😉
    Da kann ich, wenn jemand Lust hat, die EXE rüberschicken!
    Die Aufgabe ist umfangreicher als die anderen Aufgaben!
    Ich habe mir die Aufgabe (die EXE) schon angeguckt, nur weiß ich nicht was ich da genau hinschreiben soll, weil ich nur das Programm als EXE habe!



  • Dann wirst du schlecht was an dem Programm ändern können.
    Ohne den Source wird das nichts.
    Oder ist das was du hast eine "Beispiel exe" ?

    Hab und will auch kein ICQ,Skype oder ähnlichen Quark.
    Müsstest du dann schon irgendwo hochladen.



  • Das ist eine EXE, die man öffnen kann! Also das Beispiel, was man dann nachprogrammieren soll mit den C++ Builder!
    Mmh, wo kann ich das denn hochladen??





  • http://rapidshare.com/files/116367320/Rechnen.exe.html
    ---> Der Download-Link für die EXE!
    Du würdest mir einen großen Gefallen damit tun, wenn du noch hinschreiben könntest, was du in den einzelnen Zeilen des Quelltextés gemacht hast.
    Guck dir am besten erst einmal das Programm in Ruhe an! 😉



  • Damit ist wohl alles gesagt, die Diskussion kann auf hausaufgaben.de fortgesetzt werden.


Anmelden zum Antworten